Files
gstack/test
garrytan 7cb97e61b3 test(W7c): shrink autoplan-phase-order to structural and meaning checks
W7c conversion (t06 #13; W7c list item 'Eng runs LAST, always', 'ONLY/FINAL').
Pin lines 203 -> 166. autoplan has only periodic E2Es (autoplan-dual-voice,
autoplan-journal-drift: E2E_TIERS periodic), so every invariant keeps one
free check: sentence pins collapse to short /i meaning checks; commands, CLI
signatures, placeholders, tool parameters, report fields, packet outputs
(code-generated) and stale-string bans stay exact.

Removed assertion groups (invariant -> remaining protection):
- 'Eng runs LAST, always' (caps sentence): Eng is the terminal phase -> kept
  free: /CEO → Design.*→ DX.*→ Eng/s, heading order 1 < 2 < 2.5 < 3 and the
  'CEO → Design → Eng → DX' ban.
- Final-gate sentences ('...Use Decision Classification; ask once at Final
  Approval Gate, never mid-run', 'Queue clearly-wrong/challenged premises',
  'The user decides there; never stop mid-pipeline'): premises queue for the
  single final gate -> kept free: /never auto-decide user challenges/i, /ask
  once at final approval gate, never mid-run/i, 'as User Challenges for Phase
  4', /never stop mid-pipeline/i, the two old-gate bans.
- Generated setup sentences ('Resolve this phase', 'Run all applicable skills
  and lazy sections fully', 'log successful ranges/total to EOF'): phases load
  at their own boundary -> kept free: /never prefetch future phases/i,
  /missing skill: report phase and setup repair/i, per-phase methodology CLI
  and Read-before-create order, no in-full-now Reads.
- Intake load sentence ("Resolve this phase's source to absolute
  `<REVIEW_SKILL>`; load via its checkpoint") -> kept free: `<REVIEW_SKILL>`
  token and /never prefetch future phases/i; section load keeps
  `readRanges`/EOF/skip-listed checks.
- Native dispatch sentences ("ONLY/FINAL tool call", 'Keep native Reads
  enabled', 'all criteria + plan', 'if its schema exposes it', 'Claude Code:
  end response immediately', 'Other hosts await that ID', "Then outside →
  this phase's review ONLY", 'No inline substitute; apply failure policy'):
  the native review blocks and completes before outside review -> kept free:
  native < outside order, run_in_background: false, isAsync: true, /final
  tool call/i, /end response immediately/i, /no further tool calls\/review
  until/i, `nativePromptPath` to EOF, INPUT-hash match, /retry invalid input
  once/i, /no inline substitute/i, 720000ms timeout, provenance placeholder,
  N/A and CONFIRMED status tokens, /primary cannot replace/i.
- Sequential Execution sentences (Keep ONE phase active, compaction reload,
  'reconcile saved artifacts and sent conversation messages separately',
  'Publication is a separate operation', 'an earlier Read is not this close',
  "Then continue to the next phase's tool calls in the same turn", 'record
  verbatim into fenced history', 'retaining its original source SHA',
  'compaction resumes the existing invocation', the full LOG/amend-input
  sentence): one phase at a time, publish before advancing -> kept free:
  /keep one phase active/i, /never draft future-phase reviews/i, compaction
  reload (/i), two ordered chains (load < snapshot < dispatch < consume <
  remaining sections; phase-close < parent message < driver advance < after
  Eng), skip/resume/step 6 (Publish) routes, open-gate, uptake, pending,
  never-skip and raw-transcript lines (/i), rerun fields
  `baselineEdits.record`/`sourceSha256`, `amend-input`.
- Amendment-binding sentences ('load the shared close steps afresh, even if
  read earlier', 'Keep this checkpoint for this invocation; review exports do
  not replace it') -> kept free: checkpoint field per phase, `methodologyPath`,
  /afresh/i, /review exports do not replace it/i.
- Shared-close sentences (~20: completion prerequisites, readRanges Read
  choreography, 'A Read of only the edited tail does not satisfy...', 'If a
  result is truncated...', 'If a Read fails...', 'regenerate the packet...',
  'Retention checks prove bytes; counts, hashes...', 'Review history stays in
  Review record', 'Taste remains provisional', 'Apply the phase's failure
  policy...'): read the whole packet, verify, then publish -> kept free: the
  seven-step order, terminal-results/INPUT/pending/no-credit/User
  Challenges/None/fixed-checkpoint lines (/i), prepare-close CLI,
  `readRanges` with exact `offset` and `limit`, /through EOF/i, no advance
  without a result, step-3 return, verification compare/recheck/keep-open,
  stale ban, generated copy contains the template.
- Publication sentences ('After sending the actual parent report', 'using
  actual findings and voice statuses', "The sent conversation message is step
  6's output", 'This message is the next operation...', the duplicated driver
  pins) -> kept free: publish < report < return order, /send the filled
  report ... visible parent assistant text/i, /before any next-phase tool
  call/i, both-voices rule, same-turn/driver-alone/no-continue-wait/skip
  lines (/i), Bash-is-not-publication (/i), stale ban.
- Report-format sentences ("the actual host's reviewer names", 'Include the DX
  metrics line only when ...', "Resolve `report.next` using the driver's
  applicable scope/skip rules") -> kept free: every report field line,
  `report.includeDxMetrics`, `report.next`, and the code-generated packet
  checks.
- Intake/DX-scope/call-site sentences ('without losing requirements', 'Use
  returned paths/`scope`', 'false and neither semantic trigger applies',
  'checks exact retention', the 'for both voices' tail) -> kept free: ACTIVE_PLAN
  field, save-to-ACTIVE_PLAN, conversation approval, backup-exactly, stop on
  helper error, `## Review record` (all /i where prose), init/scope/create/
  prepare-close CLIs, `dxRequired`, 2+ threshold, enabling flags, no-negation
  rule, snapshot/verbatim dispatch/outside-inline lines, stale path bans.

Mutation pass (scratch worktree; autoplan template, sections and generated
phase-close): 23/23 as expected; 16 reorder/old-order/tool-param/placeholder/
numeric/consent/stop/safety mutations go red, 7 rewordings and lowered caps
(ONLY/FINAL, Keep ONE phase) stay green. Log:
.context/mutation-autoplan-phase-order.md.
2026-10-03 01:13:42 +00:00
..