fix(ship): always run the design-lite detector probe; test(shared-libs): credit a failed first file view and deferred-reuse Skip wording

- /ship design-lite: the probe is mandatory and any non-ready first line is
  stated, matching /review (5 of 6 captured /review trials had skipped it).
- shared-libs-pr-coverage: the first PR 42 page-1 read printed only a jq error,
  so the one refetch is a legitimate recovery, charged to the same budget.
- shared-libs-review-prior-coverage: the Skip option said a future review can
  "reuse it once snapshot coverage holds"; a conditional tail on the recorded
  decision is not product work. Captured-text regressions and negative controls.
This commit is contained in:
garrytan committed 2026-09-30 11:35:24 +00:00
1 parent 0748063aba
commit 4a87fa9d59
7 files changed
+67 -13

No files matched your search

+2 -3
View File
@@ -10,7 +10,7 @@ import { createSharedPlanReuseSelector } from './helpers/shared-libs-plan-actor'
import {
SHARED_LIBS_ROOT, commitFixture, createSharedLibsFixture, fixtureWrite, installSourceShims,
readRequests, runSharedCapture, runSharedInteractive, seedOpportunitySources,
sharedReadOnlyViolations, snapshotFixture, standaloneInstructions, toolCommandTrace, type SharedLibsFixture,
sharedReadOnlyViolations, snapshotFixture, standaloneInstructions, toolCommandTrace, incompleteFirstFileView, type SharedLibsFixture,
SharedCaptureAccumulator, type SharedCaptureAttempt,
} from './helpers/shared-libs-eval-fixture';
@@ -166,8 +166,7 @@ describeE2E('Shared-code opportunity and coordination judgment (periodic)', () =
// observed capture truncated its first response with head, then fetched
// full pages 1–3. Permit that one recovery while charging every request
// to the hard budget and forbidding repeated complete first-page reads.
const truncatedFirstView = toolCommandTrace(result).some(command =>
/\b(?:gh\s+api|curl)\b[^;\n]*\/pulls\/42\/files[^;\n]*\|\s*head\s+-c\s*\d+/.test(command));
const truncatedFirstView = incompleteFirstFileView(result, 42);
expect(coordinationPages.length).toBeLessThanOrEqual(truncatedFirstView ? 4 : 3);
const firstPages = coordinationPages.filter(endpoint => !/[?&]page=/.test(endpoint) || /[?&]page=1(?:&|$)/.test(endpoint));
expect(firstPages.length).toBeGreaterThan(0);