Skip to content

decide: an incident-fix decision to fix names its ticket id - #221

Merged
hhff merged 1 commit into
mainfrom
incident-fix-names-ticket
Nov 14, 2026
Merged

hhff merged 1 commit into
mainfrom
incident-fix-names-ticket

Conversation

@hhff

@hhff hhff commented Nov 14, 2026

Copy link
Copy Markdown
Member

Why

A supervisor lesson on a cloud box (stacks, candidate k-20261113-062934246) holds for any project. ticket add accepts a fix ticket only from an incident-fix decision whose refs name both the incident and the ticket, and an owner's answer approves one decision. On 2026-11-13 (stacks-213), a decision named only the incident. It couldn't be used for the ticket, and replacing it meant asking the owner the same question again, which is exactly the re-asking the owner has been objecting to.

What

decide --class incident-fix now refuses a fix decision whose --refs name no ticket id besides the incident, and says why. Decisions starting watch … or ignore … need no ticket, as supervisor.md §3 shows. Ticket ids are anything that isn't a log id (p-, q-, d-, … with a date).

Tested

  • node --check only. test/lib/chain.mjs gains one assertion: a fix decision without its ticket is refused. I didn't run kit.test.mjs here: it's slow, and timing-sensitive on this loaded 4-CPU box. Left to CI.

🤖 Generated with Claude Code

ticket add takes a fix ticket only from an incident-fix decision whose
refs name both the incident and the ticket, and an owner's answer
approves one decision. A decision that named only the incident (stacks,
2026-11-13, stacks-213) couldn't be used for the ticket, and replacing it
meant asking the owner the same question again. decide now refuses a fix
decision without a ticket id in --refs, saying why; "watch …" or
"ignore …" decisions need none.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hhff

hhff commented Nov 14, 2026

Copy link
Copy Markdown
Member Author

Reviewed:

  • An incident-fix decision without a ticket is refused, except the watch … and ignore … forms that supervisor.md §3 shows. Log ids (x-YYYYMMDD-) don't count as tickets.
  • It only refuses earlier, so it adds no authority, and it stops a fix decision from having to be re-asked.
  • I ran kit.test.mjs locally on Node 24, merged with main: 82 of 82 pass.
  • CI's two failures were unrelated dashboard Chrome flakes, the presses test and then the library viewer, and the final rerun passed.

Merging.

@hhff
hhff merged commit bbe5e14 into main Nov 14, 2026
30 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant