diff --git a/skills/issue-tracker/SKILL.md b/skills/issue-tracker/SKILL.md index 6948e3b91c..3792d91c4f 100644 --- a/skills/issue-tracker/SKILL.md +++ b/skills/issue-tracker/SKILL.md @@ -245,8 +245,12 @@ they write against. ## The ticket body (pre-spec) -Whoever registers a ticket authors its body AT REGISTER TIME — write the -sections to a temp file and pass `--body-file` in the same step. The +First search the open board for an existing ticket covering the same +defect or scope — parallel workers hit the same base regressions blind; +if one exists, comment your evidence there +instead of registering a duplicate. Whoever registers a ticket authors +its body AT REGISTER TIME — write the sections to a temp file and pass +`--body-file` in the same step. The registrar is the person who knows the most about the work at that moment; "register now, fill in later" loses exactly that context (the fill-in step is skipped under pressure, and register refuses/demotes a skeleton diff --git a/tests/implementing-tickets/test-protocol-content.sh b/tests/implementing-tickets/test-protocol-content.sh index 878bc990aa..886f44082c 100755 --- a/tests/implementing-tickets/test-protocol-content.sh +++ b/tests/implementing-tickets/test-protocol-content.sh @@ -185,6 +185,7 @@ assert_contains "$tracker" "recommended answer" "tracker: needs-human note contr assert_contains "$tracker" "ENUMERABLE" "tracker: enumerable-decisions→needs-human rule is canonical here" assert_contains "$tracker" "Waiting on other tickets" "tracker: dependency-wait is not a park (edges + ready-for-agent)" assert_contains "$tracker" "which no park state does" "tracker: sweep rationale recorded (why edges beat park states)" +assert_contains "$tracker" "instead of registering a duplicate" "tracker: pre-register duplicate search in the ticket contract" daemons="$(cat "$REPO_ROOT/skills/orchestrating-daemons/SKILL.md")" assert_contains "$daemons" "discriminant in doperpowers:issue-tracker" "daemons: discriminant pointer targets the schema owner" assert_not_contains "$daemons" "discriminant in doperpowers:implementing-tickets" "daemons: no stale pointer at the old vendored copy"