cyberine
UsageRun recipes

Backlog tasks — what's pending beyond run-memory

cyberine tasks dogfood surfaces OPEN items from the project's .local/dogfood/backlog-*.md files, so "what's pending" is not conflated with "no recent runs". Items are ## N. <title> headings; a heading marked [DONE, SHIPPED, (superseded, or BLOCKED is classified accordingly.

cyberine tasks dogfood          # open items grouped by backlog file + an "N open tasks" summary
cyberine tasks dogfood --all    # include done/blocked items with their status + deps/tier/blocked-by-deps flags

Read-only — it never dispatches. Before k0zd1 (2026-09-30) this was bare cyberine tasks, which now prints the task board instead. Pair it with cyberine run/cyberine chat to pick the next thing to build.

Backlog format v2 — optional deps and tier fields

Two optional metadata lines may follow directly under a heading (before any body text). Both are optional; either may appear alone; existing v1 files (no deps:/tier: lines) parse unchanged.

## 5. Refactor routing logic
deps: 3, 4
tier: high

Optional free-text body here.
  • deps: <n>, <m>, ... — comma-separated task numbers, file-scoped. Tasks whose deps are not all done appear with [blocked-by-deps] in cyberine tasks dogfood output. A task selected with /backlog run <n> is skipped with a warning when its deps are unmet; it is never auto-dispatched in dep order — resolve deps manually then re-run. Cross-file deps are not supported (v1); a dep number not found in the same file is warned and ignored. Cyclic deps are detected; all cycle members are treated as open (warned, never deadlocked). Task numbers are stable — gaps from deletion are allowed, never renumber existing tasks.
  • tier: low|standard|high — advisory model tier. low and standard both map to sonnet, high to opus. An explicit tier overrides the router; absent tier falls back to the router (default behavior). Tier is shown in cyberine tasks dogfood --all output and in the /backlog context injection as [tier: <value>].

The /backlog chat command injects a compact summary (id, title, deps/tier flags) capped at 20 tasks. The /backlog run <n> command skips tasks with unmet deps or a manual BLOCKED marker, reporting the reason without dispatching.

v1 limit: cross-file dep refs are not resolved. Document them as # cross-file: depends on backlog-other.md#3 in a comment if needed — the parser ignores plain markdown text.

Optional layers (wave 4, both OFF by default): CYBERINE_MEMORY_MODEL=llama3.1:8b runs one ADD-only LLM call per record write that refines summary/accomplished/next (issues stay extractive — the ledger must not drift); CYBERINE_MEMORY_EMBEDDINGS=ollama writes one nomic-embed-text vector per record to embeddings.jsonl and adds a cosine axis to preamble ranking. Both default to the local Ollama endpoint and degrade silently when it is down. The fleet TUI run detail renders a chain line (prev/parent/chat/root) for any run dispatched with lineage.

Disable with CYBERINE_MEMORY=0; relocate with CYBERINE_MEMORY_DIR. Full design: docs/design/long-term-memory.md.