feat: surface per-stage duration in report (closes #200)#217
feat: surface per-stage duration in report (closes #200)#217SpiliosDimakopoulos wants to merge 1 commit into
Conversation
alphacrack
left a comment
There was a problem hiding this comment.
Thanks @SpiliosDimakopoulos — and sorry, this one arrived second: #204 (@kushin25, opened 2026-07-22) implements the same issue (#200), touching the same six files. That PR is already through a review round and is close to merging, so I'm going to close this one as a duplicate rather than have two people carry the same change.
That's a coordination failure on our side, not a problem with your work — #200 had no "claimed" marker, so there was no way for you to know. We're adding a convention for that (comment on an issue to claim it, and it gets marked) precisely so this stops happening.
Two things if you'd like to keep going, both genuinely open and unclaimed as of right now:
- #42 — a failed ffmpeg GIF conversion is silently swallowed (
render.pynever checks the returncode), so a broken preview looks like success. Small, self-contained,good first issue. - #45 —
verify_retriesis documented as a retry count but collapses to 2 attempts regardless (verify.py:52:total_attempts = 2 if cfg.verify_retries >= 1 else 1), soverify_retries = 3silently means 2.
Both are pure Python, no Docker, no API key. Comment on whichever you want and I'll mark it claimed so this can't repeat. Also worth noting for next time: the PR template's grounding checklist was left unfilled here — that's the fastest signal a reviewer uses, so filling it in helps your PR move quicker.
|
Closing as a duplicate of #204 — see review comment. Thanks for the work, and sorry for the collision. |
What this changes
The grounding invariant
tutorial.md,step_by_step.md,commands.sh, or the demo tape — or it adds acode-level check (not just a prompt rule) that keeps that true.
sandbox.pyare unchanged (or the change isexplicitly discussed in the PR body).
Tests
python -m pytest tests/ -qpasses locally.parse_transcript/normalize.pychanges stayed pure anddeterministic (no LLM calls; testable against fixtures).
Prompt changes (if any)
prompts/*.md.Housekeeping
architecture/README.mdandCLAUDE.mdare updated to match.