From 763fb7727b28ce9dcc85fce6bfba97aa034d8901 Mon Sep 17 00:00:00 2001 From: jared Date: Fri, 10 Jul 2026 13:46:22 -0400 Subject: [PATCH] docs: record os-backlog AFK slices (refs #9, #10-#13, #15) Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01XknQRvihHDpYE47RTmUR4N --- docs/implementation-status.md | 41 +++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/docs/implementation-status.md b/docs/implementation-status.md index 356927a..927c218 100644 --- a/docs/implementation-status.md +++ b/docs/implementation-status.md @@ -119,6 +119,19 @@ correctly once caches are fresh. note on failure (offline machine), never blocking session start. Closes the push-only gap noted below; mirrors the push style of `vault_sync.py`/`memsearch_sync.py` in the opposite direction. +**os-backlog AFK slices shipped (2026-07-10):** PRD published as Forgejo issue #9 (state +pointer: Planka card `1816234194716592051`); sliced into issues #10–#17 via `/to-issues`. +The five AFK slices are implemented and committed: #10 plugin scaffold + `board-ensure` +(uniform lists/labels incl. new `semi` autonomy label, Planka 2.1.1 quirks, `archived--` +rename convention), #11 `tracker` key in `.cc-os/config` + os-status `tracker-configured` +check, #12 pure routing resolver CLI, #13 `/os-backlog:capture` + `/os-backlog:list` +skills + card CLI, #15 `card-triage` + `board-audit` named agents. All deterministic parts +covered by stubbed-client tests (34 runs os-backlog, 49 os-status). Semi slices #14 +(routing/migration skill), #16 (injection note + /to-issues routing), #17 (ops board + +rubric category + routing ADR) await human decision gates. Note: the planka-api gem is not +installed on this machine — fail-soft paths verified live; a live capture run is a +follow-up on a machine with the gem + Planka credentials. + **Remaining optional items:** additional project onboarding (one at a time, per ADR-013); bulk vault migration. All required build steps complete as of 2026-06-15. @@ -475,6 +488,34 @@ symlinked into `~/.claude/plugins/os-status` - Auto-commit+push via `vault_sync.py` SessionEnd hook (mirrors `memsearch_sync.py`; push-only — SessionStart pull is optional future item for multi-machine) +**Global os-backlog plugin** — `cc-os/plugins/os-backlog/` (git-tracked, 2026-07-10); +symlinked into `~/.claude/plugins/os-backlog`; PRD Forgejo issue #9, slices #10–#17 +- Purpose: the AI's process-management surface over Planka — deterministic tracker routing + (Planka = task state by default; git issues = implementation specs only), mid-session + capture, pull-only listing, board lifecycle, and the three-value autonomy convention + (`hitl`/`semi`/`afk-ready`). +- Lib (Ruby, os-adr `lib/`+`bin/` pattern, installed planka-api gem only — no source + coupling): `board_spec.rb` (uniform lists/labels contract), `board_ensurer.rb` + (idempotent create/repair; Planka 2.1.1 `type` fields, shared-project + owner-manager + visibility fix, label color candidates with fallback; `archived--` rename convention), + `config.rb` (`.cc-os/config` parser), `resolver.rb` (pure repo→board decision: + `use`/`activate`/`stop-and-discuss`; no network), `cards.rb` (add-at-Backlog, snapshot, + attach_label, comment). +- CLI: `bin/os-backlog` — `board-ensure`, `activate`, `archive`, `resolve`, `card-add`, + `cards`, `snapshot`, `card-label`, `card-comment`; every path fails soft (one-line error, + exit 1) when the gem/Planka is unavailable. +- Skills: `/os-backlog:capture`, `/os-backlog:list` — carry the column-ownership rules (AI + creates at Backlog, Doing→Review at most, never Next or Review→Done, never self-assigns + `hitl`); list is pull-only per notification policy v2. +- Agents: `agents/card-triage.md` (priority + autonomy labels only; ambiguity → `hitl`), + `agents/board-audit.md` (four drift classes; writes at most comments). +- Tests: `tests/` — 34 runs/70 assertions against an in-memory `FakePlankaClient`; no live + API. Companion os-status check `tracker-configured` (issue #11) validates the `tracker` + key grammar and nudges unconfigured git projects (daily-snoozed). +- Outstanding: Semi slices #14/#16/#17 (routing/migration skill, injection note + + /to-issues routing, ops board + rubric category + routing ADR); live verification run on + a machine with the gem installed. + ## Operational procedures ### Renaming or moving a local plugin