# Tasks: retire-planka-git-issues-only ## 1. Plugin rework — grammar and lib (TDD throughout) - [x] 1.1 Reject `planka:` in tracker grammar: `Backlog::Tracker` validation + `config-write` + os-status `tracker-configured` check emit the one-line ADR-0042 message, fail-soft (tests first) - [x] 1.2 Delete Planka lib: `board_ensurer.rb`, `board_resolver.rb`, `board_spec.rb`, Planka transport in `cards.rb`, `Config#planka_board`, board logic in `resolver.rb`, planka-api gem wiring; delete their tests and the `FakePlankaClient` - [x] 1.3 Remove CLI subcommands `board-ensure`, `activate`, `archive`, `card-add`, `cards`, `snapshot`, `card-label`, `card-comment`, `card-move`; keep `resolve`, `inspect`, `config-write`, `projects`; suite green - [x] 1.4 Add issue-side capture/list helpers (tea/gh/repo-file dispatch per issue-backlog spec) with tests against fake CLI outputs ## 2. Plugin rework — skills, agents, hooks - [x] 2.1 Rewrite `/os-backlog:capture` and `/os-backlog:list` to the issue model (labeled-issue create; pull-only grouped listing) - [x] 2.2 Rewrite `/os-backlog:route` for the reduced grammar: destination proposal, canonical ten-label ensure (idempotent), migration of in-repo items; drop spec/state-boundary and pointer-card prose - [x] 2.3 Delete `agents/card-triage.md` and `agents/board-audit.md` - [x] 2.4 Rewrite `hooks/session_start.py` note per ADR-0042: keep capture / routing / cross-project / autonomy-label / recurring-issue rules; add the human-only `next` rule; drop column-ownership and promotion rules; verify token count shrank - [x] 2.5 Update `/to-issues` (global, `~/.agents/skills/to-issues/`): destination step reads the reduced grammar; remove the Planka pointer-card branch - [x] 2.6 Confirm wakeup poller label reads match the new taxonomy (no `doing`/`done` labels); adjust tests if needed - [x] 2.7 Run `bin/refresh-plugins`; smoke-test capture + list live in cc-os ## 3. Data migration (Planka still up; order matters) - [x] 3.1 Snapshot all boards to JSON via the API; take a Postgres dump on ovh-vps - [x] 3.2 Create private `jared/ops` Forgejo repo with the canonical label set; archive the board snapshot JSON in it - [x] 3.3 Recreate the recurring "Biweekly orchestration IRL audit" as a recurring-convention issue in `jared/ops`; update the os-context audit skill's pointer to it - [x] 3.4 Migrate cc-os non-Done cards (9 Backlog, 2 Waiting, 2 Review) to `jared/cc-os` Forgejo issues with labels carried over; note card-comment context in issue bodies - [x] 3.5 HUMAN GATE: per-card pass over philly-search-engine-marketing (17 Backlog, 6 Waiting) — user decides destination (client tracker vs ops repo vs close) per card (2026-07-16: 4 repo cards → jared/llf-schema#7–10, 18 client cards → jared/ops#4–21, guardrails pin closed — vault note is the durable record) - [x] 3.6 Close/ignore remaining onboarding-era boards (infrastructure, ovh-prod, ruby-gems, planka, apprise-api) — contents are Done or stale; covered by snapshot - [x] 3.7 Rewrite `tracker=` in `.cc-os/config` of all onboarded projects (query `os-backlog projects` for the list); verify project index rows update ## 4. Decommission (one-way; only after 3.x verified) - [x] 4.1 HUMAN GATE: confirm migration complete and snapshot/dump archived (user confirmed 2026-07-16: decommission right after philly pass) - [x] 4.2 Revoke/delete the Planka bot credentials; close the open credvault-import card's successor issue as obsolete (bot-credentials.env deleted on ovh-vps; no successor issue existed — the credvault-import card sat in Done and was never migrated; the import is moot with the bot account gone) - [x] 4.3 Stop and remove the Planka service on ovh-vps (compose down, remove from backups/monitoring); keep the Postgres dump archived (containers/cron/service dir removed; no external backup/monitoring hooks found; dump + board JSON + service configs preserved at ovh-vps `~/planka-final-snapshot-2026-07-16/`) - [x] 4.4 Archive the `planka-api` gem repo (read-only, README pointing at ADR-0042) (github.com/jaredswanson/planka archived; README banner commit e0472c4) ## 5. Records - [x] 5.1 Update `docs/implementation-status/os-backlog.md` (rework entry) + one-line index headline; update the CLAUDE.md inventory bullet for os-backlog - [x] 5.2 Update the backlog-pilot vault note (pilot outcome: Planka retired per ADR-0042) and the auto-memory `backlog-pilot-status` entry - [x] 5.3 Verify ADR index shows 0033 Superseded by 0042; add a status note to ADR-0029 body is NOT needed (subject removed — covered by 0042 text); confirm via `/os-adr:find` on plugins/os-backlog/