mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-11-14 18:39:33 +01:00
Two agents read only the comic of the eleven recorded sessions (one who
has never written code, one engineering manager skimming), wrote down
what they believed, then compared with the transcripts. Both were misled
in the same places, and the cause was the same: the final panel kept
Claude's first sentence or two, and what a reader must not lose sat
further into its last message.
- Claude's last words now keep key sentences from anywhere in its final
message (read in full, past the label's clip): an open problem or a
quirk, something not yet done, checked or confirmed, work still out,
what you asked for or expected, a correction of an earlier warning
(with the sentence it refers to). A bare "I didn't" counts only when
nothing stronger is there; table rows, list intros and questions never.
"I built the pomodoro timer. Opening the page: it won't work if you
double-click index.html…"; "…That note makes the current behaviour
clear, but it doesn't fix it."; "As you expected, git describe --tags
then failed because the repo has no tags."
- A turn that ended with helpers or a background command still out says
so: "Done for now", and "Claude's part is done in 36 seconds. Its 2
helpers finished later and reported back." (`finishedLater`).
- A failure you asked for, or that Claude said it expected, reads as the
plan: "Test first: the first run fails as planned, the second
passes.", "The tests don't even load, as planned." A loop that failed
once on a test and once on another check says both, and the commits
made inside a loop are part of its story; the final panel counts the
turn's commits ("5 commits, uploaded").
- One or two files read are named ("Claude checks README.md." in a
turn a report started); a tool lookup reads "Claude gets the tools it
needs ready." again (it was overwritten) without its query; the
advisor is "a stronger AI model", and one that answered with an error
"gets no answer"; a commit message loses its `feat:` prefix in the
plain caption.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
106 lines
3.4 KiB
JSON
106 lines
3.4 KiB
JSON
[
|
||
{
|
||
"prompt": "Build a small Python command-line tool wcount.py in this folder that prints the line, word and chara",
|
||
"origin": "human",
|
||
"complete": true,
|
||
"interrupted": false,
|
||
"durationMs": 192853,
|
||
"toolCalls": 13,
|
||
"filesChanged": 3,
|
||
"added": 220,
|
||
"removed": 1,
|
||
"helpers": 0,
|
||
"helpersRunning": 0,
|
||
"finishedLater": 0,
|
||
"panels": [
|
||
{
|
||
"kind": "mission",
|
||
"ok": null,
|
||
"story": "You give Claude a job.",
|
||
"director": "Prompt · 52 words",
|
||
"balloon": "Build a small Python command-line tool wcount.py in this folder that prints the line, word and character counts of the files given as arguments, like wc, with a --json flag that prints the counts as JSON, plus pytest tests in test_wcount.py; run pytest and fix anything that fails until all tests pass.",
|
||
"tests": null,
|
||
"roundsOk": null,
|
||
"events": 1
|
||
},
|
||
{
|
||
"kind": "investigate",
|
||
"ok": null,
|
||
"story": "Claude looks around the project.",
|
||
"director": "Bash ×2 · ls -la && git log --oneline -5 2>&1; git branch -a; python3… · 1 error",
|
||
"balloon": null,
|
||
"tests": null,
|
||
"roundsOk": null,
|
||
"events": 2
|
||
},
|
||
{
|
||
"kind": "backup",
|
||
"ok": null,
|
||
"story": "Claude asks a stronger AI model for a second opinion.",
|
||
"director": "Advisor · a second opinion",
|
||
"balloon": null,
|
||
"tests": null,
|
||
"roundsOk": null,
|
||
"events": 1
|
||
},
|
||
{
|
||
"kind": "loop",
|
||
"ok": true,
|
||
"story": "Fix and test, 2 rounds: a test run fails, then another check, then everything passes. Claude saves the work in 4 commits along the way.",
|
||
"director": "3 checks · 5 edits · +218 −1 · last: ok",
|
||
"balloon": "All 19 tests pass, ruff check is clean, and the output matches real wc column for column.",
|
||
"tests": {
|
||
"passed": 19,
|
||
"failed": 0
|
||
},
|
||
"roundsOk": [
|
||
false,
|
||
false,
|
||
true
|
||
],
|
||
"events": 7
|
||
},
|
||
{
|
||
"kind": "save",
|
||
"ok": true,
|
||
"story": "Claude writes 1 file and saves the work: \"ignore Python and pytest caches\".",
|
||
"director": "git commit -q -m \"chore: ignore Python and pytest caches · writes 1 file",
|
||
"balloon": null,
|
||
"tests": null,
|
||
"roundsOk": null,
|
||
"events": 1
|
||
},
|
||
{
|
||
"kind": "backup",
|
||
"ok": null,
|
||
"story": "Claude asks a stronger AI model for a second opinion.",
|
||
"director": "Advisor · a second opinion",
|
||
"balloon": null,
|
||
"tests": null,
|
||
"roundsOk": null,
|
||
"events": 1
|
||
},
|
||
{
|
||
"kind": "run",
|
||
"ok": null,
|
||
"story": "Claude works in the terminal.",
|
||
"director": "Bash · python3 wcount.py nope nope2; echo \"exit=$?\"; wc nope nope2…",
|
||
"balloon": null,
|
||
"tests": null,
|
||
"roundsOk": null,
|
||
"events": 1
|
||
},
|
||
{
|
||
"kind": "complete",
|
||
"ok": null,
|
||
"story": "Done in 3 minutes.",
|
||
"director": "turn_duration · 3 min 13 s · 13 tool calls · 3 files changed",
|
||
"balloon": "I built wcount.py and test_wcount.py. With a missing file plus a readable one, the total row didn't appear because the code counted files that could be read rather than files that were named.",
|
||
"tests": null,
|
||
"roundsOk": null,
|
||
"events": 0
|
||
}
|
||
]
|
||
}
|
||
]
|