Skip to content

fix(investigation): the interview starts from the carrier, not over it#578

Open
leeovery wants to merge 1 commit into
fix/prose-writes-are-evidencefrom
fix/investigation-no-reask
Open

fix(investigation): the interview starts from the carrier, not over it#578
leeovery wants to merge 1 commit into
fix/prose-writes-are-evidencefrom
fix/investigation-no-reask

Conversation

@leeovery

@leeovery leeovery commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Summary

#575 made the symptom interview run for work shaped in discovery. The first walk through the arm showed what it does when it finally executes: three of six questions re-asked things the carrier had already answered and initialisation had already written into the file — asking what the user sees when it crashes, against a Symptoms section already reading "No error surfaces to the user — the page just fails."

That is what the prose literally said to do. The Otherwise arm loaded the question bank with no instruction to read the file it had just seeded, and the question bank carries no such instruction either. The don't-re-ask rule lives in the entry skill ("Do not re-ask; live conversation context, when present, supplements the carrier"); the process skill lost it at the handoff.

Pre-existing, newly reachable. The arm was effectively unreachable for carrier-shaped work until #575 fixed the guard, so the gap has existed as long as the arm has — it simply never ran on the path that matters.

Fix — three sentences ahead of the Load: read what the Symptoms section already holds (the seed is the user's own account), ask what it does not answer, confirm rather than re-ask where it is thin.

Provenance

Found by investigation-gathers-symptoms (#576) on its first run — the walker put Q1 to a user whose file already contained the answer. One walk did this, the confirmation walk did not, which is exactly the model-dependent behaviour an unstated intent produces.

Test plan

  • Conventions lint 29/29; prose gate 90/90
  • Verified by the case re-run once the stack is reloaded — its further claim "nothing the user already said in discovery is put back to them as a question" 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 👈 current
  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

This was referenced Jul 27, 2026
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 1e0a1d3 to e179182 Compare July 27, 2026 14:33
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 4139ab9 to f8761f0 Compare July 27, 2026 14:35
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from e179182 to 7b7407e Compare July 27, 2026 14:35
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from f8761f0 to 0ffba7e Compare July 27, 2026 14:37
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 7b7407e to c99c099 Compare July 27, 2026 14:37
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 0ffba7e to 22b8a74 Compare July 27, 2026 14:40
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from c99c099 to fbd915d Compare July 27, 2026 14:40
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 22b8a74 to a3c9599 Compare July 27, 2026 14:42
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from fbd915d to 95b4406 Compare July 27, 2026 14:42
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from a3c9599 to ff47bf2 Compare July 27, 2026 14:44
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 95b4406 to e021953 Compare July 27, 2026 14:44
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from ff47bf2 to 4951384 Compare July 27, 2026 14:46
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from e021953 to e7270d6 Compare July 27, 2026 14:46
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 4951384 to 25399f4 Compare July 27, 2026 14:48
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from e7270d6 to 3051cc4 Compare July 27, 2026 14:48
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 25399f4 to cddac1a Compare July 27, 2026 14:50
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 3051cc4 to f732013 Compare July 27, 2026 14:50
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from cddac1a to 82fbe1e Compare July 27, 2026 14:52
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from f732013 to 6d6debf Compare July 27, 2026 14:52
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 82fbe1e to 36c196b Compare July 27, 2026 15:43
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 6d6debf to e0b2e69 Compare July 27, 2026 15:43
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 36c196b to e4d2d05 Compare July 27, 2026 15:44
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from e0b2e69 to 58bfb85 Compare July 27, 2026 15:44
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from e4d2d05 to bfb4571 Compare July 27, 2026 15:46
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 58bfb85 to 371c4cf Compare July 27, 2026 15:46
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from bfb4571 to bbad1ba Compare July 27, 2026 15:47
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 371c4cf to 9c857c3 Compare July 27, 2026 15:48
The guard fix beneath this made the symptom interview run for work
shaped in discovery. The first walk through it showed what the arm does
when it finally executes: three of six questions put back to the user
things the carrier had already answered and initialisation had already
written into the file — asking what the user sees when it crashes,
against a Symptoms section already reading "No error surfaces to the
user — the page just fails."

That is what the prose literally said to do. The Otherwise arm loaded
the question bank with no instruction to read the file it had just
seeded, and the question bank has no such instruction either. The
don't-re-ask rule lived in the entry skill; the process skill lost it at
the handoff. The arm was unreachable for carrier-shaped work until the
guard fix, so the gap has been there as long as the arm has — it just
never ran.

Step 3 now reads what the Symptoms section already holds before asking:
the seed is the user's own account, questions go to what it does not
answer, and thin answers get confirmed rather than re-asked.

Found by the investigation-gathers-symptoms case two commits below, on
its first run.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from bbad1ba to 46219ee Compare July 27, 2026 15:49
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 9c857c3 to 45a697d Compare July 27, 2026 15:49
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