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 371c4cf to 9c857c3 Compare July 27, 2026 15:48
@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
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 46219ee to c3bf69b Compare July 27, 2026 15:51
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 45a697d to e575ca3 Compare July 27, 2026 15:51
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from c3bf69b to 301e50c Compare July 27, 2026 15:52
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from e575ca3 to 823ab05 Compare July 27, 2026 15:52
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 301e50c to 2bcfad6 Compare July 27, 2026 15:53
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 823ab05 to 445ba54 Compare July 27, 2026 15:53
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 2bcfad6 to 59e6967 Compare July 27, 2026 15:54
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 445ba54 to 222919a Compare July 27, 2026 15:54
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 59e6967 to 0ff3350 Compare July 27, 2026 15:56
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 222919a to 90c7074 Compare July 27, 2026 15:56
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 0ff3350 to 5f44049 Compare July 27, 2026 15:57
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 90c7074 to 41bd445 Compare July 27, 2026 15:57
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 5f44049 to 7a33436 Compare July 27, 2026 15:58
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 41bd445 to e9c9a50 Compare July 27, 2026 15:58
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from 7a33436 to ef6682b Compare July 27, 2026 15:59
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from e9c9a50 to 750408e Compare July 27, 2026 15:59
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from ef6682b to e8e2840 Compare July 27, 2026 16:00
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 750408e to 839ac1b Compare July 27, 2026 16:00
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from e8e2840 to ff03d53 Compare July 27, 2026 16:01
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 839ac1b to d807b0c Compare July 27, 2026 16:01
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from ff03d53 to b006d1e Compare July 27, 2026 16:02
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from d807b0c to 4e1b761 Compare July 27, 2026 16:02
@leeovery
leeovery force-pushed the fix/prose-writes-are-evidence branch from b006d1e to 84ade1a Compare July 27, 2026 17:05
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 4e1b761 to 6e99bc0 Compare July 27, 2026 17:05
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 84ade1a to 555d8f6 Compare July 27, 2026 17:06
@leeovery
leeovery force-pushed the fix/investigation-no-reask branch from 6e99bc0 to 610bf6a Compare July 27, 2026 17:06
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