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

62 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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).