docs: record RD-23's two acceptance misses as recurrences
Both repeat a habit this README already documents, so they belong beside it rather than as new entries. `git grep -c` counts lines: a symbol that a file imports and then calls is two lines, never one. And a check must not grep for a word that the ticket's own mandated snippet contains — RD-23 required the upload controller's `dispatch:` property and then asserted zero occurrences of `dispatch`. The agent hit both, refused to distort the code, and corrected the ticket text. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -193,7 +193,12 @@ Three rules when you write a ticket file, because the agent reads its ticket and
|
|||||||
`uploadCtl.onRetry` exists in `upload-controller.ts`.
|
`uploadCtl.onRetry` exists in `upload-controller.ts`.
|
||||||
- RD-08 said "no machine changes" while also requiring a repo-wide grep to come back
|
- RD-08 said "no machine changes" while also requiring a repo-wide grep to come back
|
||||||
clean, which forced comment edits in three machines. The two instructions contradicted
|
clean, which forced comment edits in three machines. The two instructions contradicted
|
||||||
each other.
|
each other. RD-23 repeated it exactly: its Decisions block mandated the line
|
||||||
|
`dispatch: (msg) => this.uploadMsg.emit(msg)` — the upload controller's own property name —
|
||||||
|
while its acceptance demanded zero occurrences of `dispatch` in the step files. **Grep the
|
||||||
|
text your own mandated snippet contains, and you have written a check that cannot pass.**
|
||||||
|
Anchor on what you actually forbid: here, `this.dispatch` or `store.dispatch`, not the bare
|
||||||
|
word.
|
||||||
- RD-09 grepped `docs/ apps/ libs/ .claude/`, which also matched this backlog's own ticket
|
- RD-09 grepped `docs/ apps/ libs/ .claude/`, which also matched this backlog's own ticket
|
||||||
files (they name the deleted method as the history of `done` work) and 22 gitignored
|
files (they name the deleted method as the history of `done` work) and 22 gitignored
|
||||||
abandoned worktrees. Satisfying it literally would have corrupted completed-ticket
|
abandoned worktrees. Satisfying it literally would have corrupted completed-ticket
|
||||||
@@ -234,7 +239,10 @@ Three rules when you write a ticket file, because the agent reads its ticket and
|
|||||||
live on one line of a single-line type declaration, so the honest answer is `1`. The
|
live on one line of a single-line type declaration, so the honest answer is `1`. The
|
||||||
agent correctly refused to reformat the type across four lines to satisfy the number.
|
agent correctly refused to reformat the type across four lines to satisfy the number.
|
||||||
When you want occurrences, use `grep -o … | wc -l`; when a line count is what you mean,
|
When you want occurrences, use `grep -o … | wc -l`; when a line count is what you mean,
|
||||||
say so.
|
say so. **A symbol you import and then use is two lines, never one.** RD-23 repeated the
|
||||||
|
mistake in the other direction, asserting `git grep -c "createUploadController"` would be
|
||||||
|
1 in the file that both imports and calls it. The only way to reach 1 is an import alias
|
||||||
|
that exists solely to satisfy the check.
|
||||||
- **Scope every acceptance command to the ticket's Files list, never to a parent
|
- **Scope every acceptance command to the ticket's Files list, never to a parent
|
||||||
directory.** This is the habit most often broken, including by the supervisor in RD-12:
|
directory.** This is the habit most often broken, including by the supervisor in RD-12:
|
||||||
the check `git grep "ActionState" -- apps/ssp/src/app/brief` cannot pass, because
|
the check `git grep "ActionState" -- apps/ssp/src/app/brief` cannot pass, because
|
||||||
|
|||||||
Reference in New Issue
Block a user