# os-backlog

Git-issues backlog surface: per-repo tracker routing (`forgejo:`/`github:`/`repo:` in
`.cc-os/config`), issue create/list/route skills, ten-label taxonomy.

Entry points: `bin/os-backlog` (dispatcher CLI), skills `capture`/`list`/`route`,
`hooks/` (SessionStart wiring).

Full detail: `docs/implementation-status/os-backlog.md`. No `invariants.md` yet —
see NOTE below.

NOTE (2026-07-16): a major rework retiring Planka in favor of git-issues-only
(ADR-0042, OpenSpec change retire-planka-git-issues-only) is in flight on main;
this index intentionally avoids enumerating internals that rework replaces.

## ADR-0025 exemption

`bin/wakeup-poll` is a second `bin/` entry point alongside the `bin/os-backlog`
dispatcher — a deviation from [ADR-0025](../../docs/adr/0025-standard-ruby-structure-for-cc-os-plugins-lib-single-dispatcher-bin-fail-soft-installed-gem-only-dependencies.md)'s
single-dispatcher rule. This is **grandfathered**, following the same
exemption mechanism os-adr recorded for its own ADR-0025 deviation (see
`plugins/os-adr/CLAUDE.md`): the split is backed by
[ADR-0034](../../docs/adr/0034-cross-project-filing-file-dont-fix-with-a-derived-global-project-index.md)
(global project index),
[ADR-0035](../../docs/adr/0035-issue-triggered-project-ai-wakeup-via-polling-not-webhooks.md)
(issue-triggered wakeup via polling), and
[ADR-0036](../../docs/adr/0036-tmux-session-convention-for-ai-run-sessions-cc-project-purpose.md)
(tmux session convention) — "Pilot only" per the script's header comment,
not an oversight. Don't
fold `wakeup-poll` into the dispatcher as a drive-by; revisit if/when those
ADRs graduate past pilot.
