v1.91.7.0 feat: add functional QA and pre-publication docs checks (#2983)

* feat: add surface-aware exploratory QA and ship documentation gates

* test: preserve delegated QA setup authority after main integration

* fix(qa): clarify exploration order and preserve report artifacts

* test(qa): follow the shared setup reference directly

* refactor(ship): make verification and recovery routes explicit

* test(ship): align evidence and review guards with explicit routes

* fix(workflows): clarify ship recovery and functional QA evidence

* fix(workflows): clarify approval recovery and full QA coverage

* refactor(workflows): order review transactions and clarify ship state

* fix(ship): clarify final verification and fail closed at publication

* fix(evals): attribute native atomic documentation writes

* fix(ship): clarify recovery and documentation lifecycle guidance

* fix(test): preserve observed native placeholder styling in CI

* fix(codex): report watchdog timeouts without a process-exit race

* Checkpoint functional QA implementation and workflow validation repairs

* Fix documentation and shared-review fixture contracts

* docs: clarify judge reuse and evaluation supervision

* test: align review evidence and selected case contracts

* test: verify append-only documentation checkpoints and recovery

* fix: qualify QA workflows and CI validation repairs

* fix: launch shared-libs fixture scripts on Windows

* fix: qualify QA deadlines, fixture isolation, and shard cleanup

* fix: preserve qualified QA and cancellation repairs

* fix: enforce functional fixture authority and share strict event decoding

* fix: retain free-test evidence and explain recovery

* fix: reject malformed native evidence after decoder consolidation

* test: use reliable capture for telemetry privacy filters

* test: refresh measured quick coverage and document validation costs

* Fix native fixture receipts and preserve VM validation evidence

* Align negative judge controls with upstream clarity policy

* Fix report-only QA preparation and public evidence handling

* Clarify QA-only preparation and current-report preservation

* Stream Ship quality judgments with an explicit 64k response contract

* Validate compact judge reasoning locally with supported wire schema

* Align functional QA fixture instructions with evidence acceptance

* Bind native browser diagnostics to execution evidence and align review verdicts

* Preserve native diagnostic line boundaries

* Serialize functional QA evidence from native captures

* Keep large QA evidence fixture payload out of Windows argv
This commit is contained in:
Garry Tan authored and GitHub committed 2026-09-29 06:07:35 -07:00
1 parent 65bfb0ce49
commit dcaea52800
333 files changed
+41755 -7357

No files matched your search

+4 -4
View File
@@ -76,7 +76,7 @@ describeE2E('Shared-code opportunity and coordination judgment (periodic)', () =
const instructions = standaloneInstructions(f);
const before = snapshotFixture(f.root);
await judgedCapture(attempt, 'empty', 'shared-libs-opportunity-judgment', () => runSharedCapture(f, 'shared-libs-opportunity-judgment',
`Run /deslop-shared-libs using ${instructions} and return the report.`), async result => {
`Run /deslop-shared-libs using ${instructions} and return the report.`, attempt), async result => {
assertReadOnly(f, before, result);
await assertJudgment(result.output, {
valid_empty: 'There is only README, .gitignore and a unique one-line src/version.ts, and successful empty PR results. It reports no worthwhile sharing opportunities and does not fabricate callers or blame unavailable history/API access.',
@@ -109,7 +109,7 @@ describeE2E('Shared-code opportunity and coordination judgment (periodic)', () =
const instructions = standaloneInstructions(f);
const before = snapshotFixture(f.root);
await judgedCapture(attempt, 'opportunity', 'shared-libs-opportunity-judgment', () => runSharedCapture(f, 'shared-libs-opportunity-judgment',
`Run /deslop-shared-libs using ${instructions}. Review the active TypeScript and Python areas and return the requested report.`), async result => {
`Run /deslop-shared-libs using ${instructions}. Review the active TypeScript and Python areas and return the requested report.`, attempt), async result => {
assertReadOnly(f, before, result);
expect(result.output).toContain(f.tip.slice(0, 7));
expect(result.output).toContain('lib/retry-after.ts');
@@ -142,7 +142,7 @@ describeE2E('Shared-code opportunity and coordination judgment (periodic)', () =
const instructions = standaloneInstructions(f);
const before = snapshotFixture(f.root);
await judgedCapture(attempt, 'audit', 'shared-libs-pr-coverage', () => runSharedCapture(f, 'shared-libs-pr-coverage',
`Run /deslop-shared-libs using ${instructions}. Recent PR 7 mentions https://github.com/fixture/shared-libs/pull/42 as related work. Return the report after checking coordination within the skill's budget.`), async result => {
`Run /deslop-shared-libs using ${instructions}. Recent PR 7 mentions https://github.com/fixture/shared-libs/pull/42 as related work. Return the report after checking coordination within the skill's budget.`, attempt), async result => {
assertReadOnly(f, before, result);
const requests = readRequests(f).filter(row => row.tool === 'gh' || row.tool === 'curl');
const endpoints = requests.map(row => row.endpoint || '');
@@ -189,7 +189,7 @@ describeE2E('Shared-code opportunity and coordination judgment (periodic)', () =
let questions: any[] = [];
await judgedCapture(attempt, 'plan', 'shared-libs-plan-callers', async () => {
const capture = await runSharedInteractive(f, 'shared-libs-plan-callers',
`Run only the generated engineering Code Quality section and its supplied decision prerequisites in ${instructions}. The selected target and report file are ${plan}; you may update that file with the decision ledger and approved plan amendments. Review the two proposed callers' parser source under the fixed current scheduler contract, including necessary shared-contract and caller integration proof. Inspect src/scheduler.ts, its parser dependency and their tests; read other source only if needed to establish that compatibility. Do not run a repository-wide opportunity sweep. The fixture user can answer the parser-reuse choice under that unchanged contract, including its required tests and wiring; independent helper hardening or existing-caller migrations are outside this actor's interface. Report any such concerns as limitations instead of opening new decisions. Use the actual AskUserQuestion approval flow; the user will answer. After applying and reading back the approved resolution and plan amendments, return the section's findings and stop. Do not run startup or other review sections, or implement the proposed source files.`, createSharedPlanReuseSelector());
`Run only the generated engineering Code Quality section and its supplied decision prerequisites in ${instructions}. The selected target and report file are ${plan}; you may update that file with the decision ledger and approved plan amendments. Review the two proposed callers' parser source under the fixed current scheduler contract, including necessary shared-contract and caller integration proof. Inspect src/scheduler.ts, its parser dependency and their tests; read other source only if needed to establish that compatibility. Do not run a repository-wide opportunity sweep. The fixture user can answer the parser-reuse choice under that unchanged contract, including its required tests and wiring; independent helper hardening or existing-caller migrations are outside this actor's interface. Report any such concerns as limitations instead of opening new decisions. Use the actual AskUserQuestion approval flow; the user will answer. After applying and reading back the approved resolution and plan amendments, return the section's findings and stop. Do not run startup or other review sections, or implement the proposed source files.`, createSharedPlanReuseSelector(), { attempt });
questions = capture.questions;
return capture.result;
}, async result => {