62 lines
3.5 KiB
Markdown
62 lines
3.5 KiB
Markdown
# 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).
|