Skip to content

chore(issue-watcher): skip issues labeled 'blocked'#28

Merged
stackbilt-admin merged 1 commit intomainfrom
chore/issue-watcher-skip-blocked
Apr 19, 2026
Merged

chore(issue-watcher): skip issues labeled 'blocked'#28
stackbilt-admin merged 1 commit intomainfrom
chore/issue-watcher-skip-blocked

Conversation

@stackbilt-admin
Copy link
Copy Markdown
Member

Summary

Extends `SKIP_LABELS` in the scheduled issue-watcher so issues tagged `blocked` are not auto-queued as cc_tasks. Paired with a new `blocked` label on aegis god-object epic children (aegis#536-542) that have unsatisfied phase-1 dependencies.

Why

Without this gate, a 2h issue-watcher tick could queue Phase 2/3/4 refactor issues as tasks before the Phase 1 foundations (#533 ExecutorRegistry, #534 MemoryService, #535 EmailBuilder) ship. Downstream refactors depend on those abstractions; running them on the pre-phase-1 codebase would either duplicate the foundation work inside the wrong scope or produce churn that collides with the phase-1 PRs.

`wishlist`, `roadmap`, `epic` were already in `SKIP_LABELS` for the same class of reason (multi-session scope). `blocked` fits the same pattern: a declarative 'do not queue yet' signal that the operator owns.

Changes

  • `web/src/kernel/scheduled/issue-watcher.ts` — `SKIP_LABELS` adds `blocked`; comment clarifies semantics
  • `web/tests/issue-watcher.test.ts` — new case: blocked-labeled issue produces zero `INSERT INTO cc_tasks`

Test plan

  • `npx vitest run tests/issue-watcher.test.ts` — 32/32 pass locally
  • Merge + wait for next issue-watcher tick on aegis-daemon (runs every 2h) — verify #536-542 don't get queued

Related

  • aegis#532 (god-object epic) and its Phase 2+ children #536-542 are labeled `blocked` already
  • Operator removes the label when blockers close and the child becomes eligible

🤖 Generated with Claude Code

Extend SKIP_LABELS in the scheduled issue-watcher so blocked issues are
not auto-queued as single-session taskrunner tasks. Paired with the
new 'blocked' label on aegis-daemon god-object-epic children (#536-542)
that have unsatisfied phase-1 dependencies.

Why: without this, a 2h issue-watcher tick could queue Phase 2/3/4
refactor issues as cc_tasks before Phase 1 foundations (#533-535) ship,
forcing downstream work onto missing abstractions.

- SKIP_LABELS: add 'blocked' alongside existing wishlist/roadmap/epic
- Test: new case asserts blocked-labeled issues produce zero INSERT INTO cc_tasks

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@stackbilt-admin
Copy link
Copy Markdown
Member Author

Merging over red Governance Check — the Charter audit job is pre-existing infrastructure-broken: it expects package.json at repo root, but aegis-oss keeps the package inside web/. Fails on every run including the most recently merged PRs (fix(health,argus), etc). This PR's Test & Typecheck passes (32/32). Not a quality signal from this diff.

Unblocks aegis#532 sequencing gate per the epic comment — consumer (aegis-daemon issue-watcher) needs the blocked label skip to land before the Phase 2+ god-object children can safely sit in the open-issue list.

Governance Check misconfiguration tracked separately — not in scope for this one-line SKIP_LABELS extension.

@stackbilt-admin stackbilt-admin merged commit b064287 into main Apr 19, 2026
1 of 2 checks passed
@stackbilt-admin stackbilt-admin deleted the chore/issue-watcher-skip-blocked branch April 19, 2026 10:12
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