Repository navigation
Conversation
🧵 Thread Report🟡 Needs a person · 1 now has a test · 1 reworded · 1 changed file no requirement claims 3 requirements came from the case, 7 from the project (design 5, retrospective 0, constitution 2). Reworded requirements
What changed — 1 requirement in 1 areaEDIT
+2 requirements in this area did not change, not listed: 2 🔵 backlog. Changed files no requirement claims — 1 fileChanged, but nothing in it names a requirement this pull request moved. Not a defect: a refactor and unwanted scope look the same here. Worth a glance: This comment reports; it never blocks. A changed file no requirement claims is a note, not a failure. Words used here: Golden Thread, the chain from a requirement to the code and test that answer for it. Off thread, a changed file no requirement claims. Mint, to write a new requirement into the registry. Set |
ce832e3 to
c800560
Compare
…ding The sixth specimen. It is the example app's own Practice exercise 1, done by the book, so the Thread Report has something real to report under 0.5.6. AC-EDIT-01 was anointed backlog: minted in PRD.md, carried only by the open T900 TODO, with nothing built and nothing proving it. This change picks it up end-to-end. - src/edit.py: InlineEditor.undo(), with its @Covers AC-EDIT-01 mark. blur() now remembers the value it replaced. - tests/test_edit.py: test_AC_EDIT_01_undo_restores_prior_value, plus a second case named for the same criterion covering the half the restatement is about, and one unnamed case for the nothing-committed-yet edge. - specs/edit/spec.md: names the criterion, which is what takes it out of the backlog altitude, and the note says so rather than still claiming the absence is deliberate. - specs/backlog/tasks.md: T900 ticked, and says what became of it. And the restatement, which is the honest part. "Undo restores the prior value within one step after an inline edit" was vague in exactly the place building it forces a decision: what happens to a draft the user had typed but not committed. Leave it and undo puts the old value on screen while the next blur commits the undone draft. So the criterion now reads "restores the last committed value in one call, and discards any uncommitted draft with it", and the second test is the one that holds it. tests/conftest.py gains the fixture the three new tests share. Nothing in it names a requirement, so the report lists it as a changed file no requirement claims, which is what that section is for. Seven tests pass in the app. This specimen stays open and is not for merging. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vzf6Sh5RVMKdFqaXKFF2FY
c800560 to
7be1205
Compare
A specimen. It stays open and is not for merging, like #1 to #5.
Its job is to carry a genuine 0.5.6 Thread Report: today's words, the three-state verdict line, and the
<details>blocks. The Sites room needs two real images, and every Thread Report in this repository until now was posted in August, opening🟢 **Golden Thread ..., which is the vocabulary #62 replaced.The change, which is the example app's own Practice exercise 1
AC-EDIT-01was anointed backlog: minted inPRD.md, carried only by the openT900TODO, nothing built, nothing proving it. This picks it up end to end.src/edit.pyInlineEditor.undo(), with its# @covers AC-EDIT-01mark;blur()now remembers the value it replacedtests/test_edit.pytest_AC_EDIT_01_undo_restores_prior_value, a second case named for the same criterion, and one unnamed edge casespecs/edit/spec.mdspecs/backlog/tasks.mdT900ticked, saying what became of ittests/conftest.pySeven tests pass in the app.
The restatement, which is the honest part
Undo restores the prior value within one step after an inline edit was vague in exactly the place building it forces a decision: what happens to a draft the user typed but did not commit. Leave it and undo puts the old value on screen while the next
blur()commits the draft the user had just undone.So the criterion now reads restores the last committed value in one call, and discards any uncommitted draft with it, and
test_AC_EDIT_01_undo_discards_an_uncommitted_draftis the test that holds it. A reworded requirement is also what makes the verdict amber rather than green, which is the state that did not exist before 0.5.5.What the report will say
Rendered locally from the same three inputs the workflow uses:
🟡 **Needs a person** · **1** now has a test · **1** reworded · **1** changed file no requirement claimscheck:citations`AC-EDIT-01` | `backlog` → 🟢 **`proven`** · ✍️ reworded, with the unchanged rows footnoted rather than listedtests/conftest.pyOne blemish the preview caught, which is not this specimen's fault
The rendered report carries this line where the authorship sentence should be:
.github/workflows/thread-report.ymlcopies onlytrace-manifest.jsonto/tmp/head.jsonand leavestrace-manifest.v5beta.jsonbehind in the app directory, so the report cannot read theauthorshipfield and says so instead. It is a one-line fix in the workflow, it belongs in a normal pull request tomainrather than in a specimen that never merges, and I have not made it here. Flagging it before anyone photographs the comment: if the images should show the authorship sentence, that fix lands first and this comment re-renders in place on the next push.🤖 Generated with Claude Code
https://claude.ai/code/session_01Vzf6Sh5RVMKdFqaXKFF2FY
Generated by Claude Code