Skip to content

fix(scoping): context gathering reads the whole carrier, asks only the gaps#583

Open
leeovery wants to merge 1 commit into
fix/prose-walker-run-as-writtenfrom
fix/scoping-context-reads-the-whole-carrier
Open

fix(scoping): context gathering reads the whole carrier, asks only the gaps#583
leeovery wants to merge 1 commit into
fix/prose-walker-run-as-writtenfrom
fix/scoping-context-reads-the-whole-carrier

Conversation

@leeovery

@leeovery leeovery commented Jul 27, 2026

Copy link
Copy Markdown
Owner

The defect

The quick-fix walk re-asked the what and the why the user gave in discovery — both walks, independently. It asked "what exactly is being changed?" against a carrier that says the support mailbox is retiring and everything should point at the new address.

Two causes, both in gather-context.md:

  1. Its guard weighed only the seed and description — blind to the session log's Exploration, the half of the carrier the entry skill reads by name and the half holding the shaped context.
  2. Its question block is a static fence — all four questions prescribed verbatim, whatever the carrier holds.

The fix

  • Section A reads the Exploration alongside the description, mirroring the entry's own wording for where it lives and for the logless quick-fix that has none.
  • The guard weighs the whole carrier — seed, description, and exploration.
  • Section B emits only the bullets the carrier leaves open: a question the user has already answered reads as not having listened.

Same family as the investigation fix (#578) — the entry reads the carrier, the process skill dropped half of it — and the same repair.

Provenance and proof

Found by scoping-defines-the-quickfix (#579) on its first run; its step-3 claim — questions go to what the carrier does not answer — is the test for this. Re-run pending reload.

Test plan

  • Conventions lint 29/29
  • The case re-run is the direct probe

🤖 Generated with Claude Code

Stack

  1. docs(design): prose-tests programme design log #544
  2. feat(prose-tests): the framework — cases, worlds, runner, skill #545
  3. test(prose): feature happy-path corpus — five worlds, seven cases #546
  4. test(prose): bugfix corpus — the investigation-centric surfaces #548
  5. test: retry recursive teardown removals — kill a class of phantom failures #549
  6. fix(entry-skills): close the handoff fences — six files render their arms wrong #550
  7. docs: a contributing page for working on the system #551
  8. fix(entry-skills): every handoff arm says to invoke the skill #552
  9. fix(implementation): environment setup belongs to the setup reference alone #553
  10. fix(prose-tests): the asserter is told which substitutions were armed #554
  11. feat(prose-tests): the mid-flow substitution, and a world only prose can describe #555
  12. test(prose): claims assert consequences, not what was displayed #556
  13. feat(prose-tests): record everything the agents do, results included #557
  14. fix(discussion-entry): the handoff reports the source it actually had #558
  15. fix(prose-tests): the stop hook records, and names the model that walked #559
  16. fix(prose-tests): command output was never actually recorded #560
  17. feat(prose-tests): judge the walk as told, not the summary returned #561
  18. feat(prose-tests): decide in code what an agent should not be deciding #562
  19. test(prose): a case starts where a session starts #563
  20. feat(prose-tests): walk on Sonnet, judge on Opus, escalate a failure #564
  21. test(prose): give the eight read-only cases something that can fail #565
  22. test(prose): only walks that can be observed, and checks that survive the trip #566
  23. fix(prose-tests): the verdict names only the model the record names #567
  24. test(prose): discovery, walked to the point where work first exists #568
  25. fix(prose-tests): the asserter judges which of prose or walker was at fault #569
  26. docs(conventions): a step whose reference routes every exit still signposts #570
  27. test(prose): discovery's epic arm, to the same durability boundary #571
  28. fix(prose-tests): keep the walk's closing turn, and name the one live difference #572
  29. fix(prose-tests): prescribe the cross-check, drop a check that cannot fire, lint the scope #573
  30. test(prose): declare the prose each case actually walks #574
  31. fix(investigation): the symptom interview never ran for work shaped in discovery #575
  32. feat(prose-tests): conduct — playing a person where a script cannot reach #576
  33. fix(prose-tests): what a write put in a file is evidence, not incident #577
  34. fix(investigation): the interview starts from the carrier, not over it #578
  35. test(prose): quick-fix scoping, the whole definition stage in one walk #579
  36. fix(prose-tests): the world log is the walker's record #580
  37. fix(prose-tests): a confirmed failure reports both runs' checks #581
  38. fix(prose-tests): each prescribed command runs as written #582
  39. fix(scoping): context gathering reads the whole carrier, asks only the gaps #583 👈 current

This was referenced Jul 27, 2026
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 53e87db to 6203ac2 Compare July 27, 2026 15:45
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from d36a930 to 741cb89 Compare July 27, 2026 15:46
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 6203ac2 to 7402108 Compare July 27, 2026 15:46
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from 741cb89 to 4143f6c Compare July 27, 2026 15:48
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 7402108 to 398cc08 Compare July 27, 2026 15:48
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from 4143f6c to bc658ba Compare July 27, 2026 15:49
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 398cc08 to cd036c7 Compare July 27, 2026 15:49
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from bc658ba to 02f0644 Compare July 27, 2026 15:51
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from cd036c7 to cbd452a Compare July 27, 2026 15:51
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from 02f0644 to 54e9881 Compare July 27, 2026 15:52
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from cbd452a to 9cf2e3d Compare July 27, 2026 15:52
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from 54e9881 to daefe57 Compare July 27, 2026 15:53
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 9cf2e3d to 6ffa754 Compare July 27, 2026 15:53
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from daefe57 to 243a293 Compare July 27, 2026 15:55
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 6ffa754 to b8e52f3 Compare July 27, 2026 15:55
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from 243a293 to 4420d72 Compare July 27, 2026 15:56
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from b8e52f3 to 4274b64 Compare July 27, 2026 15:56
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from 4420d72 to 9725f1e Compare July 27, 2026 15:57
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 4274b64 to 59c7b19 Compare July 27, 2026 15:57
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from 9725f1e to b41c414 Compare July 27, 2026 15:58
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 59c7b19 to ce62602 Compare July 27, 2026 15:58
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from b41c414 to 40009f9 Compare July 27, 2026 15:59
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from ce62602 to 83732da Compare July 27, 2026 15:59
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from 40009f9 to 964711d Compare July 27, 2026 16:00
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 83732da to 188fe68 Compare July 27, 2026 16:00
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from 964711d to d431692 Compare July 27, 2026 16:01
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 188fe68 to 953bfad Compare July 27, 2026 16:01
…e gaps

The quick-fix walk re-asked the what and the why the user had already
given in discovery. Both walks, independently — asked what exactly is
being changed, against a carrier that says the support mailbox is
retiring and everything should point at the new address.

Two causes, both in gather-context. Its guard weighed only the seed and
the description — blind to the session log's Exploration, the half of
the carrier the entry skill reads by name and the half that holds the
shaped context. And its question block is a fixed fence: all four
questions, prescribed verbatim, whatever the carrier holds.

The reference now reads the Exploration alongside the description,
mirroring the entry's own wording for where it lives and for the logless
quick-fix that has none; the guard weighs the whole carrier; and the
question block emits only the bullets the carrier leaves open. Same
family as the investigation fix — the entry reads the carrier, the
process skill dropped half of it — and the same repair: start from what
the user already said, ask for what they have not.

Found by scoping-defines-the-quickfix on its first run; its step-3 claim
is the test for this.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@leeovery
leeovery force-pushed the fix/prose-walker-run-as-written branch from d431692 to a77e9ff Compare July 27, 2026 16:02
@leeovery
leeovery force-pushed the fix/scoping-context-reads-the-whole-carrier branch from 953bfad to d6e7b06 Compare July 27, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant