Skip to content

fix(decompose): read task rows and noted full covers as people write them - #56

Open
ancelin-code wants to merge 1 commit into
developfrom
fix/validate-epic-notes
Open

ancelin-code wants to merge 1 commit into
developfrom
fix/validate-epic-notes

Conversation

@ancelin-code

Copy link
Copy Markdown
Owner

What and why

Two parsing quirks met while decomposing the tiroir retrieval cut (feedback item 5):

  • Under ## Epics, any bullet starting with a backtick counted as a task row, so the note - `search-001`'s open questions … failed as an unknown task. Notes had to move to another section. A task row is now - `<id>` alone or followed by a space or a colon, which covers the template's - `<id>` - <title>, and the note no longer matches.
  • - R7: vectors rebuilt under ## Covers failed as "unreadable Covers line". I went further than a better message: a note on a full cover is now allowed. Fixing it turned up a second bug the feedback did not mention: coverage.sh read that line's id as R7:, so the requirement never counted as covered. Both scripts now strip the colon.

How to review

  • etabli-decompose/scripts/validate-tasks.sh: the row pattern in summary_rows, and one more branch in covers_of. A noted full cover still has its id checked against the requirements; a test covers it.
  • etabli-status/scripts/coverage.sh: one sub(/:$/, "", req).
  • conventions.md: the Covers example gains a noted full cover.

How to try it

The new tests fail on develop and pass here: three of them, for the epic note, the noted full cover in the validator, and the same line in coverage.sh.

Does it earn its place?

This loosens rules rather than adding one. The rule that a partial cover must say what it does is kept, since without it nobody can tell what is left of the requirement. The rule that a full cover must carry nothing protected no one. Recorded in CHANGELOG.md.

🤖 Generated with Claude Code

…them

Under Epics, any bullet starting with a backtick was read as a task id, so
a note such as "`search-001`'s open questions" failed as an unknown task. A
task row is now the backticked id alone or followed by a space or a colon.

A full cover with a note, "- R7: vectors rebuilt", failed validation as
unreadable, and coverage.sh read its id as "R7:", so the requirement never
counted as covered. Both now accept the note and ignore it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the ai-assisted AI agents worked on this change label Nov 10, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-assisted AI agents worked on this change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant