Auto-label: declared kind is authoritative for epics; absorption is the filing standard #351

Merged
conductor merged 1 commits from auto-label-epic-kinds into master 2026-09-19 16:49:49 +01:00
Owner

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
  • 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
# 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
conductor added 1 commit 2026-09-19 16:43:24 +01:00
auto-label: any declared kind is authoritative; absorption is the filing standard
CI Pipeline / best-practices (push) Successful in 5s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / lint (push) Successful in 40s
CI Pipeline / canary (push) Successful in 35s
Auto-label / auto-label (pull_request) Successful in 8s
CI Pipeline / type-check (push) Successful in 29s
Auto-label / priority-gate (pull_request) Skipped
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / canary (pull_request) Successful in 34s
CI Pipeline / lint (pull_request) Successful in 44s
CI Pipeline / documentation (pull_request) Successful in 10s
Spec gate (headless) / spec-gate (pull_request) Successful in 12s
CI Pipeline / gitea-offline (pull_request) Successful in 17s
deploy / deploy (push) Skipped
CI Pipeline / best-practices (pull_request) Successful in 5s
CI Pipeline / type-check (pull_request) Successful in 29s
CI Pipeline / unit-tests (push) Successful in 4m33s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 4s
CI Pipeline / unit-tests (pull_request) Successful in 4m50s
CI Pipeline / required-checks (pull_request) Successful in 9s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 3s
Auto-version and Release / release (pull_request) Successful in 34s
cba9045982
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.
gitea-actions Bot added the bugcustodian labels 2026-09-19 16:43:45 +01:00

🤖 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>
conductor merged commit 9121bbd8b0 into master 2026-09-19 16:49:49 +01:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: conductor/rune#351