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

4.7 KiB
Raw Blame History

Tasks: retire-planka-git-issues-only

1. Plugin rework — grammar and lib (TDD throughout)

  • 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)
  • 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
  • 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
  • 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

  • 2.1 Rewrite /os-backlog:capture and /os-backlog:list to the issue model (labeled-issue create; pull-only grouped listing)
  • 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
  • 2.3 Delete agents/card-triage.md and agents/board-audit.md
  • 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
  • 2.5 Update /to-issues (global, ~/.agents/skills/to-issues/): destination step reads the reduced grammar; remove the Planka pointer-card branch
  • 2.6 Confirm wakeup poller label reads match the new taxonomy (no doing/done labels); adjust tests if needed
  • 2.7 Run bin/refresh-plugins; smoke-test capture + list live in cc-os

3. Data migration (Planka still up; order matters)

  • 3.1 Snapshot all boards to JSON via the API; take a Postgres dump on ovh-vps
  • 3.2 Create private jared/ops Forgejo repo with the canonical label set; archive the board snapshot JSON in it
  • 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
  • 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
  • 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#710, 18 client cards → jared/ops#421, guardrails pin closed — vault note is the durable record)
  • 3.6 Close/ignore remaining onboarding-era boards (infrastructure, ovh-prod, ruby-gems, planka, apprise-api) — contents are Done or stale; covered by snapshot
  • 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)

  • 4.1 HUMAN GATE: confirm migration complete and snapshot/dump archived (user confirmed 2026-07-16: decommission right after philly pass)
  • 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)
  • 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/)
  • 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

  • 5.1 Update docs/implementation-status/os-backlog.md (rework entry) + one-line index headline; update the CLAUDE.md inventory bullet for os-backlog
  • 5.2 Update the backlog-pilot vault note (pilot outcome: Planka retired per ADR-0042) and the auto-memory backlog-pilot-status entry
  • 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/