In plain English: Stop the label bot from mislabelling epics, and make one-open-note-per-idea the rule
What is this about: The label bot was re-adding the bug label to epic issues because it fell back to guessing from keywords whenever an issue was not exactly a bug/feature/research. Epics mentioning fixes got labelled as bugs. Also, filing is now standardized: ideas parked under a parent epic live inside that epic as a checklist item — the open-issue list stays uncluttered.
Why do we need it: A bot that fights the label doctrine undoes manual cleanup within seconds and erodes trust in the board.
Why is it still open: Not started at PR creation — live work, dependency-tracked.
What would let us close this
Epic-spined issues no longer receive bug/feature labels from the bot (declared kind is authoritative)
Absorption standard recorded in AGENTS.md + Custodian so future filing follows it
Version impact
patch — same behaviour, done correctly
Technical details
Auto-label regex broadened to any declared kind; unrecognized kinds get no type label, no keyword guessing
Custodian create_issue docstring + AGENTS.md carry the standard
# In plain English: Stop the label bot from mislabelling epics, and make one-open-note-per-idea the rule
**What is this about:** The label bot was re-adding the bug label to epic issues because it fell back to guessing from keywords whenever an issue was not exactly a bug/feature/research. Epics mentioning fixes got labelled as bugs. Also, filing is now standardized: ideas parked under a parent epic live inside that epic as a checklist item — the open-issue list stays uncluttered.
**Why do we need it:** A bot that fights the label doctrine undoes manual cleanup within seconds and erodes trust in the board.
**Why is it still open:** Not started at PR creation — live work, dependency-tracked.
# What would let us close this
- [ ] Epic-spined issues no longer receive bug/feature labels from the bot (declared kind is authoritative)
- [ ] Absorption standard recorded in AGENTS.md + Custodian so future filing follows it
# Version impact
- [x] patch — same behaviour, done correctly
# Technical details
- Auto-label regex broadened to any declared kind; unrecognized kinds get no type label, no keyword guessing
- Absorption applied live today: #175←#176-#179, #181←#182/#183/#164-#166 (nine issues closed HISTORICAL_EVIDENCE, reversible)
- Reconciliation artifact updated; checker green
- Custodian create_issue docstring + AGENTS.md carry the standard
Two defects in one pass:
1. The spine-parsing fix from d96b89b only matched kind: bug|feature|research.
Epic spines (kind: epic) fell through to the keyword heuristic, which
re-added 'bug' to epics whose bodies mention fixes (observed live on
#181/#284 — label respawned within 30s of removal). Now ANY declared kind
is authoritative: recognized kinds map to labels, any other declared kind
(epic, ...) gets NO type label and NO guessing. Keywords only apply to
pre-template issues with no spine.
2. Standard: one open note per idea. Parked ideas live as absorbed checklist
items in their parent epic; standalone issues only for live work. Applied
today: #175 absorbed #176-#179; #181 absorbed #182/#183 + watchlist
#164-#166. Reconciliation artifact updated for all nine closures.
Custodian create_issue and AGENTS.md now carry the standard so future
filing follows it.
🤖Headless spec gate (non-blocking, #204 first slice)
Spec-gate agent produced no text output — check runner logs.
Deterministic floors still govern the merge
This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.
🤖 **Headless spec gate (non-blocking, #204 first slice)**
Spec-gate agent produced no text output — check runner logs.
<details><summary>Deterministic floors still govern the merge</summary>
This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.</details>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
In plain English: Stop the label bot from mislabelling epics, and make one-open-note-per-idea the rule
What is this about: The label bot was re-adding the bug label to epic issues because it fell back to guessing from keywords whenever an issue was not exactly a bug/feature/research. Epics mentioning fixes got labelled as bugs. Also, filing is now standardized: ideas parked under a parent epic live inside that epic as a checklist item — the open-issue list stays uncluttered.
Why do we need it: A bot that fights the label doctrine undoes manual cleanup within seconds and erodes trust in the board.
Why is it still open: Not started at PR creation — live work, dependency-tracked.
What would let us close this
Version impact
Technical details
🤖 Headless spec gate (non-blocking, #204 first slice)
Spec-gate agent produced no text output — check runner logs.
Deterministic floors still govern the merge
This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.