# Proposal: retire-planka-git-issues-only

## Why

ADR-0042 (2026-07-16, supersedes ADR-0033) retires Planka: after a week of live use, all
real work flowed through git issues while Planka boards held only the plugin's own build
cards; the wakeup automation already polls issues, not Planka; and the integration rests on
a reverse-engineered API plus an unpublished lockstep gem — a standing maintenance tax a
solo operator shouldn't carry for an unused surface. os-backlog must be reworked so git
issues are the single tracker for both task state and durable specs.

## What Changes

- **BREAKING**: `planka:<board>` is removed from the `.cc-os/config` tracker grammar;
  `forgejo:` / `github:` / `repo:` remain. Existing `planka:` configs must be re-routed.
- os-backlog capture/list retarget to git issues: `/os-backlog:capture` files an issue with
  priority (P0–P3) and autonomy (hitl/semi/afk-ready) labels; `/os-backlog:list` queries
  issues instead of card snapshots.
- Column state collapses to open/closed plus labels; human curation becomes a human-only
  `next` label (AI never applies or removes it — carries ADR-0029's curation gate forward
  without its Planka mechanics). ADR-0029's CLI column-ownership enforcement retires with
  the surface it governed.
- Planka-specific code retires: `board_ensurer.rb`, `board_resolver.rb`, `board_spec.rb`,
  the Planka transport in `cards.rb`, `card-triage` and `board-audit` agents, the
  `planka-api` gem dependency, and bot-credential plumbing.
- SessionStart process-rules note rewritten for the single-tracker model (smaller; drops
  column-ownership and promotion rules; keeps capture/routing/cross-project/autonomy rules).
- `/os-backlog:route`, `/to-issues`, os-status `tracker-configured`, and the project index
  updated to the reduced grammar (the spec/state boundary and card-as-pointer rules vanish —
  one destination holds both).
- Live-card migration: ~30 non-Done cards migrated to issues or closed (client board
  philly-search-engine-marketing gated on human sign-off); recurring Operations card moves
  to an ops home. Then: Planka server decommissioned on ovh-vps, `planka-api` gem archived.

## Capabilities

### New Capabilities
- `issue-backlog`: single-tracker backlog management over git issues — tracker key grammar
  (`forgejo:`/`github:`/`repo:`), deterministic routing, mid-session capture as labeled
  issues, pull-only listing, cross-project filing via the project index.
- `issue-state-labels`: the label taxonomy that replaces board columns — priority and
  autonomy label semantics, the human-only `next` curation label, and the AI
  working-state contract (what the AI may set/clear on an issue and when).

### Modified Capabilities

_None — os-backlog predates OpenSpec coverage; no existing spec governs it._

## Impact

- `plugins/os-backlog/` (lib, bin, skills, agents, hooks, tests — major rework; ~700–900
  lib lines and both agents removed).
- `~/.agents/skills/to-issues/SKILL.md` (destination step simplifies: no pointer card).
- os-status `tracker-configured` check (grammar change).
- `.cc-os/config` in every onboarded project currently set to `planka:` (cc-os itself plus
  boards created 2026-07-13).
- External systems: Planka server on ovh-vps (decommission), `planka-api` gem repo
  (archive), Planka bot credentials (revoke; closes the open credvault-import card).
- Decision records: ADR-0042 (recorded), ADR-0033 (superseded), ADR-0029 (subject removed),
  ADR-0034 (project index survives, tracker values change), ADR-0035/0036 (unaffected —
  already issue-based).
