cc-os/openspec/changes/archive/2026-07-16-retire-planka-gi.../proposal.md

3.5 KiB
Raw Blame History

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 (P0P3) 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; ~700900 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).