diff --git a/journal/2026-07-07.md b/journal/2026-07-07.md index 0db8d93..4cc4f96 100644 --- a/journal/2026-07-07.md +++ b/journal/2026-07-07.md @@ -191,3 +191,17 @@ tags: [scope/global, type/log] **Reason:** other **Vault notes touched:** (none) + +## Session — 2026-07-07T17:59:52Z + +**Project:** /home/jared/dev/cc-os +**Reason:** other +**Vault notes touched:** +(none) + +## Session — 2026-07-07T18:10:06Z + +**Project:** /home/jared/dev/cc-os +**Reason:** prompt_input_exit +**Vault notes touched:** +/home/jared/Documents/SecondBrain/os-vault-write-eval-wording-loop-results.md diff --git a/vault-backlog-pilot-plan.md b/vault-backlog-pilot-plan.md index e2529b5..9f8cd04 100644 --- a/vault-backlog-pilot-plan.md +++ b/vault-backlog-pilot-plan.md @@ -7,7 +7,7 @@ tags: - tool/claude-code - project/cc-os status: accepted-pending-pilot -last_reviewed: 2026-07-06 +last_reviewed: 2026-07-07 --- # Backlog system: decision and pilot plan v2 (2026-07-06) @@ -32,6 +32,12 @@ The perspectives panel and v1 optimized for "push beats pull." The user correcte - **Forgejo issues remain the code-execution tracker** (rule unchanged: Forgejo = code/arch/deployment work inside a repo; Planka = everything else; cards may link issues). - **CLI over MCP.** No official Planka CLI exists; we build a thin Ruby one (Sandi Metz style, `lib/` + `bin/`, mirroring the os-adr pattern) over the REST API. `plankapy` (Python SDK) is the endpoint-reference crib. Community MCP servers (bradrisse/kanban-mcp etc.) are shelf reference only. +### Repo/artifact separation + gem scope (2026-07-07 amendment) + +- **Three repos, three concerns:** deploy artifacts (compose, cron wiring, config, deploy PRD/runbook) live in `~/servers/ovh-prod/`; the Ruby gem (API client + `backlog` CLI + tick/digest logic) lives in `~/dev/ruby-gems/`; cc-os carries only the SessionStart-brief plugin + its eval harness. The plugin depends on the gem's installed binary — no cross-repo source coupling. ovh-prod stays behavior-free (compose + cron + config only) so all logic remains model-free-testable inside the gem. +- **Gem is two-layer:** (1) a thin faithful **client layer** wrapping the Planka REST API broadly — core resources (projects/boards/lists/cards/tasks/due-dates/labels/comments/memberships/auth) **plus webhooks** (decided: wanted, so Planka can trigger strategic outbound actions via n8n/other APIs) and **admin + attachments** (less certain but likely useful — included in the first pass on the grounds that shipping probably-working endpoints now beats reopening the client later; Planka API churn judged low-risk); (2) a small opinionated **domain layer** (`add --quick`, `list --all`, `tick`) used by the CLI, digest, and future Hermes. Client layer generated with the `api-wrapper` skill, `plankapy` as endpoint crib. Per-credential instantiation (no global auth singleton) to support Hermes' scoped tokens. +- **PRDs drafted 2026-07-07:** deploy PRD → ovh-prod repo docs; gem PRD → ruby-gems repo. cc-os plugin PRD deferred to Phase 1 (blocked on the extend-os-vault vs. new-`os-backlog` decision). + ### Fallback ladder (if the phone gate fails) 1. **TaskView** (taskview.tech) — on-paper ideal (native mobile apps, scoped API tokens, first-party MCP) but source-available, ~6 months old, thin sourcing. *Verify claims hands-on first, then trial.* Modern-and-unproven; only reached if Planka fails the gate.