SecondBrain/reference/planka-backlog-routing-disc...

69 lines
3.7 KiB
Markdown
Raw Permalink Normal View History

2026-07-10 17:26:54 +00:00
---
type: reference
title: "Planka backlog routing is not discoverable by agents — needs project-level pointers and evals"
summary: "Observed failure (2026-07-10): an agent asked to file cc-os work items defaulted to Forgejo/tea because cc-os's own docs still name Forgejo as the tracker and nothing in any project routes agents to the Planka board — the Planka-vs-Forgejo routing rule, doc-hygiene ownership of CLAUDE.md budgets, and the eval work needed to close the gap."
tags:
- type/reference
- tool/planka
- project/cc-os
- domain/task-management
scope: global
date: 2026-07-10
last_updated: 2026-07-10
related:
- "[[vault-backlog-pilot-plan]]"
- "[[planka-v2-api-gotchas]]"
- "[[claude-md-budget-linter-plugin-concept]]"
- "[[claude-code-hook-lifecycle-injection-capability]]"
---
# Planka backlog routing is not discoverable by agents
## The observed failure (2026-07-10)
Asked to file four cc-os work items as "issues," the agent proposed **Forgejo via `tea`**
not the Planka board. The user had to redirect. Root causes, all verified:
1. **cc-os's own `docs/issue-workflow.md` still says** "Issues live on Forgejo … use `tea`"
— it predates the Planka pilot and was never updated.
2. **No project-level pointer exists anywhere** (cc-os CLAUDE.md, umbrella CLAUDE.md,
injected context) telling agents the Planka board is the work tracker. The routing rule
lives only in [[vault-backlog-pilot-plan]] — vault knowledge an agent only finds if it
thinks to query the vault about task management.
3. **The documented routing rule itself is ambiguous in practice:** the pilot plan says
"Forgejo = code/arch/deployment work inside a repo; Planka = everything else," yet the
user routed repo code work (plugin refactors) to the cc-os Planka board. The de facto
rule appears to be *Planka = the work tracker; Forgejo issues = execution artifacts when
a coding session wants them* — but this has never been stated crisply anywhere.
## What filing on Planka actually takes (verified working)
- Creds: `ssh ovh-vps "cat ~/services/planka/bot-credentials.env"``PLANKA_BASE_URL`,
`PLANKA_USERNAME`, `PLANKA_PASSWORD`.
- CLI: `cd ~/dev/ruby-gems/planka && bundle exec ruby exe/backlog add --quick "title"
--board cc-os --list Backlog --priority p1` (`backlog` is not on PATH; gem not installed).
- `add --quick` takes no description — patch it in afterward via
`client.cards.update(id, description: md)`.
## Action needed (user-stated, 2026-07-10)
**Run evals on the Planka board integration to ensure all projects know how and when to use
it.** Concretely: given a session in any project where the user asks to "file issues" /
"track this work," does the agent (a) route to the correct Planka board, (b) apply the
Planka-vs-Forgejo rule correctly, (c) find credentials and the CLI without user help? Until
project-level pointers (likely the planned `os-backlog` plugin + per-project CLAUDE.md
lines) exist and evals pass, agents will keep defaulting to whatever tracker a repo's stale
docs name.
Also stale and needing update once the rule is settled: `~/dev/cc-os/docs/issue-workflow.md`.
## Related routing decisions made the same session
- **CLAUDE.md budget management belongs to os-doc-hygiene**, not to the context-injection
plugin: the [[claude-md-budget-linter-plugin-concept]] should be built as part of the
os-doc-hygiene plugin. Managing CLAUDE.md is that plugin's responsibility.
- **Injected session-context prompts count toward the effective CLAUDE.md instruction
budget** — doc-hygiene runs should at minimum note the injected-prompt total alongside
CLAUDE.md length (the os-context composer enforces its own injection cap; doc-hygiene
owns the whole-budget view).