Specs index¶
Feature design specs live in docs/specs/ in the git repository. They are not published on the documentation site (MkDocs excludes them). Use this table as a map; open files on GitHub or locally in the repo.
After a spec ships, prefer a Changelog entry plus updates to guide/reference docs. Specs remain the design record.
| Spec | Status | Summary |
|---|---|---|
| 001-pi-integration | Implemented | Pi CLI as first-class AFK + interactive adapter |
| 002-queen-console-mvp | Implemented (MVP baseline) | Queen Console SPA + API surface |
| 003-hive-evals | In progress (Phase 2 largely done; Tier C/4 open) | Eval harness / eval colony |
| 004-live-bees-indicator | Implemented | Live agent processes in Console header |
| 005-feature-ideation-flow | Draft (colony reference) | Classify → grill → spec.ready → breakdown |
| 006-human-gateway-invites | Implemented | Session invites, accept/reject, done_when |
| 007-colony-eda-topology | Implemented | Config-derived EDA graph (Console + CLI) |
| 008-code-proposal-workspaces | Implemented | Isolated vs root code proposals |
| 009-merge-autostash | Implemented | Autostash dirty root on merge approve |
| 010-telegram-human-gateway | Implemented (MVP) | Telegram as async Human Gateway (notify + status/task/energy/invites/proposals) |
| 011-trace-title | Implemented | INSIGHT/trace.title for Flight Trail display names |
| 012-trace-summary | Implemented | INSIGHT/trace.summary for Console subtitle + merge body |
| 013-system-kill | Implemented | Hard SIGNAL/system.kill + paseka kill |
| 014-artifacts-protocol | Implemented | Trace comb + SIGNAL/artifact.written; bee scan-flush; Console list/preview; export --include artifacts; human producer helper |
| 015-deferred-event-emit | Implemented | General deferred event emit buffer (--defer, flush on success; 014 does not depend on it) |
| 016-cue-layer | Implemented | Named Forage Cue ingress (.paseka/cues/); CLI + Console + Telegram cue:; optional per-cue energy_budget |
| 017-console-diff-review | Implemented | Queen Console merge-diff viewer, annotated review comments, final-gate Request changes rework |
| 018-cli-colony-status | Implemented | paseka status read-only colony snapshot (CLI alternative to Console dashboard; energy in MVP; --check for substrate probe) |
| 019-model-aliases | Implemented | Colony model_aliases map; home overlay; resolves params.model at dispatch |
| 020-worktree-branch | Implemented | INSIGHT/worktree.branch to name/rename the isolated trace worktree git ref |
| 021-provider-session-logs-export | Draft | AFK + HITL Cursor/Pi persist providerSessionId; export --include agent-logs; Cursor jsonl reader; remaining: Pi reader, store.db, events.ndjson cleanup |
| 022-console-system-info | Implemented | Queen Console Host plaque + System tab: CPU/RAM, cheap identity, top processes (console host view, no Docker APIs) |
| 023-console-git | Implemented | Queen Console Git tab: clone vs origin, explicit fetch/push/ff-only pull, worktrees, leftover branches (homelab; no auto-push on approve) |
| 024-pull-request-delivery | Implemented | Isolated trails: opt-in PR publish instead of local merge; bees pr.body; forge via external CLI script contract |
| 025-cursor-session-resume | Implemented | Console/CLI resume of a finished Cursor HITL chat via stored providerSessionId; new Paseka session, same UUID; no Pi/Claude/AFK |
| 026-opencode-adapter | Draft | OpenCode CLI as first-class AFK + interactive adapter; paseka init --adapter opencode |
| 027-config-profiles | Implemented | Named colony + home settings overlays; paseka --profile; fail-closed; global adapter: replaces LLM bees |
| 028-standing-trails | Implemented | Long-lived named Flight Trails for recurring cues; sidecar cron; comb checkpoints; per-tick honey stipend |
| 029-console-chrome-stream | Implemented | Queen Console header plaques + tab badges over one SSE endpoint (GET /api/chrome/stream); REST GETs remain for tabs |
| 030-opencode-session-resume | Implemented | OpenCode HITL pre-create (opencode serve + POST /session) and resume via stored providerSessionId (--session); Console/CLI resume accepts OpenCode next to Cursor |
| 031-task-scheduler | Draft | Colony time slots (cron/window) for deferred task execution; reactor scheduler; CLI/Console override |
| 032-queen-console-term-engine | Draft | Queen Console session view engine toggle: xterm (stable, default) vs experimental Ghostty WebGPU/WASM, browser-local, async-recreate race guarded |
| 033-cli-prune | Implemented | paseka prune: age-based cleanup of worktrees and run data (default 14 days) with optional correlatable NATS purge |
| 034-swarm-mode | Draft | Best-of-N swarm: N variant adapter runs per task (own worktrees), swarm.ready + judge swarm.winner, shadow mode, paseka swarm stats |
| 035-queen-console-redesign | Implemented | Svelte 5 + Tailwind v4 + DaisyUI rewrite; every /next/ route migrated, legacy Console still at / until the cutover is called |
| 036-console-config-write | Draft | Write half of Settings user story #9: merge edits into machine-local config.yaml / adapter / gateway files; 409 when an env var outranks the write; project config stays read-only |
| 037-opencode-v2-proxy | Approved | Today's adapter becomes opencodev1, new opencodev2 drives OpenCode 2 (/api/session, Paseka-owned session id, --prompt + --session, --server), adapter: opencode becomes a cached fail-closed version-detecting proxy; cross-major Resume refused |
| 038-adapter-launch-resolution | Implemented | One presence-aware ResolveLaunch → LaunchPlan for AFK and interactive; semantic params (yolo/reasoning), runtime-owned output format, provider into the alias id, plan-driven env, opt-in timeout, layer attribution in doctor |
| 039-proposal-patch-records | Implemented | AFK/HITL proposal history with explicit capture limits, atomic record visibility and publication states; colony-root-relative MUTATION.ref, no archive input to Guard; export + Console listing replace object-store offload; preview budgets decided, original-download scope open |
| 040-trail-event-log | Implemented | One append-only event log per Flight Trail, written by the publisher seam: every domain event regardless of producer, recorded before the bus attempt; timeline/export read one store, per-run logs keep their audit meaning; identity dedupe, no broker needed to read; paseka verify compares a trail against the bus |
| 041-skills-layer | Draft | Colony-owned Agent Skills store (shared + private roots, explicit shared:/local: tiers); per-bee skill list replaces the colony default and gates delivery; runtime advertises skill metadata in the system prompt, adapters report usage; Archivist skill intent proposes a skill for human approval; paseka skills group (list/show/validate/proposals/approve/reject/move/remove/disable/enable) |
| 042-trail-fork | Approved | Trail-owned immutable snapshots with initial/active references; operator Apply configuration, safe cutover, history, and rollback during ordinary work; pinned forks select source task-attempt evidence and retain their own snapshots, delta, worktree, and honey; one colony Reactor and bus; agent requests require human approval, consumer scope fixed, fork caps deferred |
| 043-trail-observability | Draft | Truthful run outcomes, all cue ingresses and original provenance, durable initial honey allocation, versioned trail metrics, and closed severity/verdict vocabularies; SIGNAL/trail.work.completed captures verified work before final approval/delivery; same-trail analysis has separate accounting and does not block delivery; role-independent execution/retry counts |
Deferred ideas (not specs): Backlog.