Backlog¶
Deferred ideas, follow-ups, bugs, and implementation assumptions outside the active change. Shipped work: Changelog. Design drafts: Specs index.
Deferred work¶
Energy and honey¶
MVP shipped per-trace honey (defaults.energy_budget, energy.add / energy.consume, reactor gating, paseka energy show|add). Loop protection is energy depletion → blocked (Honey reserve exhausted). These items need separate design or evidence before expanding the MVP.
confidence (Pollen Quality)¶
- Kind: idea
- Source: Brief; planning (energyToken)
- Summary: Filter or weight events by confidence level alongside honey.
- Why deferred: Needs protocol and UX design (event shapes, CLI/Console) beyond the anti-loop MVP.
- Revisit when: Product brief item is specified with event shapes and operator surfaces, or eval scenarios require confidence filtering.
New trace from interrupted worktree¶
- Kind: follow-up
- Source: planning (
system.kill/ hard kill) - Summary: After a hard kill (or late-stage avalanche), good early work may already live in
.paseka/worktrees/<traceId>/. Need an operator path to start a newtraceIdthat reuses that worktree (or grafts its branch/diff) instead of discarding progress and redoing fromHEAD. - Why deferred: Orthogonal to kill protocol itself; needs worktree registry + trace bootstrap design (identity, honey budget, which tasks/events to carry).
- Revisit when:
system.killships and operators hit “early stages were fine, last stage blew up” without a clean continue path.
Energy gate on paseka bee run / bee chat¶
- Kind: follow-up
- Source: planning (energyToken)
- Summary: One-shot
bee runandbee chatbypass the reactor today; only paths throughpaseka runconsume honey. Gate standalone invocations the same way. - Why deferred: Requires adapter-layer changes without a running reactor.
- Revisit when: Operators need honey accounting for one-shot/interactive launches, or eval/product rules demand it.
Per-bee cost multipliers¶
- Kind: idea
- Source: planning (energyToken)
- Summary: Charge more than flat
1per adapter dispatch (per-role or per-intent pricing in bee YAML or routing rules). - Why deferred: Extra configuration surface before evidence that flat cost is too coarse.
- Revisit when: Operators report false positives/negatives from flat
1-token cost or traces that block incorrectly.
Honey ↔ LLM token billing¶
- Kind: idea
- Source: planning (energyToken)
- Summary: Optionally relate honey spend to LLM
usageon AFKresult.json. Do not price honey from model tokens without a separate design. - Why deferred: Orthogonal to anti-loop honey; mixing billing models needs an explicit decision.
- Revisit when: Product wants cost visibility tied to model usage, with a written design.
Interactive session usage¶
- Kind: follow-up
- Source: planning (energyToken / SessionAdapter)
- Summary: Surface Cursor stream-json
usagefrombee chat/ SessionAdapter (AFK may already persist optional usage onresult.json). - Why deferred: Out of energy MVP scope; interactive path differs from AFK file IPC.
- Revisit when: Console/CLI need session token usage, or billing/observability work starts.
Queen Console¶
API fields for energy and merge-diff exist; per-run proposal preview is still thin.
Per-run proposal diff in Reviews¶
- Kind: follow-up
- Source: 002-queen-console-mvp; planning (reviews)
- Summary: Side-by-side preview of per-run
MUTATION/code.proposal.isolated/code.proposal.rootforreview: requiredtasks. Final merge gate preview (GET /api/traces/:traceId/merge-diff) already ships. - Why deferred: Final merge gate was enough for MVP; per-run preview is extra UI surface.
- Revisit when: Beekeepers need mid-trace proposal diffs without waiting for the merge gate.
Code proposal workspaces¶
Leftovers from 008-code-proposal-workspaces.
proposal_paths allowlist¶
- Kind: follow-up
- Source: 008-code-proposal-workspaces
- Summary: Restrict which paths may appear in a code proposal.
- Why deferred: Not required for dual isolated/root proposal MVP.
- Revisit when: Colonies need path policy to limit proposal scope.
Untracked files in proposal delta¶
- Kind: follow-up
- Source: 008-code-proposal-workspaces
- Summary: Include or define behavior for untracked files in proposal deltas.
- Why deferred: Deferred from 008 ship to keep delta semantics simple.
- Revisit when: Real proposals lose important untracked files, or operators ask for explicit rules.
Alias removal for bare code.proposal¶
- Kind: follow-up
- Source: 008-code-proposal-workspaces
- Summary: Timeline and migration to remove the bare
code.proposalalias (today → isolated). - Why deferred: Alias keeps older colonies working while
.isolated/.rootsettle. - Revisit when: Docs and colonies have moved to explicit kinds and the alias is a liability.
Eval harness¶
Follow-ups for 003-hive-evals and the side colony paseka-eval-colony. Gotchas from standing up Phase 2 are under Assumptions and gotchas.
Task retry with edit¶
- Kind: follow-up
- Source: 003-hive-evals; planning (task ledger / Console)
- Summary: Allow changing bee, intent, body, or sector when retrying a failed task (CLI flags or Console form). Today
paseka task retryand Console Retry reuse the ledger snapshot as-is. - Why deferred: Snapshot reuse was enough for MVP retry; edit-on-retry needs UX and ledger rules.
- Revisit when: Operators or eval cases need corrected retries without creating a new task.
Trace reset helper¶
- Status: shipped as
paseka purge --bus --trace <id> --reseed-energy(seeds colonydefaults.energy_budgetafter bus wipe). For filesystem artifacts, combine with--runs,--worktrees, and--stateas needed. - Kind: follow-up (narrowed)
- Source: 003-hive-evals; planning (eval harness)
- Summary: ~~One command to seed energy and clear ledger for a fixed
--trace~~ Covered bypurge --bus --reseed-energy; optional dedicated alias or eval-runner wrapper remains polish. - Why deferred: Core wipe+seed path shipped; a friendlier eval helper or custom budget override is optional polish.
- Revisit when: Eval runners need a single named command beyond
purge --bus --reseed-energy.
Event-chain scorer in runner¶
- Kind: follow-up
- Source: 003-hive-evals
- Summary: Assert
case.yamlexpect_event_chainagainstpaseka replayoutput (today: oracle + human replay inspection only). - Why deferred: Phase 2 focused on colony wiring and oracle; automated chain scoring is Phase-adjacent polish.
- Revisit when: Eval cases rely on event-chain assertions beyond manual replay.
Releases¶
Windows release builds¶
- Kind: idea
- Source: planning (GoReleaser / cross-compile)
- Summary: Make
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build ./cmd/pasekawork (Unix-only PTY/HITL today: e.g.SIGWINCH, reviewSetsid), then addwindowsto GoReleaserbuilds.goosso release assets include.exearchives. - Why deferred: Pipeline already ships linux/darwin from Ubuntu with
CGO_ENABLED=0; Windows needs build tags/stubs before CI/release changes. - Revisit when: Local/CI Windows cross-build succeeds and release should publish
windows/amd64(optionallywindows/arm64).
Deferred emit and artifacts¶
General deferred event emit buffer (015) and trail comb protocol (014).
014 scan ↔ deferred artifact.written coexistence¶
- Kind: follow-up
- Source: 015-deferred-event-emit (decision §1 / US 8, 20, 21, 23); planning (015 task breakdown)
- Summary: When both 014 scan flush and 015 deferred emit ship, skip scan-synthesized
artifact.writtenfor a run if a deferredartifact.writtenis already pending/flushed for that run; no silent merge of multiple deferred artifact lines (batch only via one event withartifacts[]). - Why deferred: First 015 ship is the general defer/flush path; 014 scan flush is not a dependency and may land on a different schedule. Coexistence needs both mechanisms present to verify.
- Revisit when: 014 scan flush and 015 deferred emit are both implemented (or one is about to land on top of the other).
Assumptions and gotchas¶
Eval colony¶
Wiring the side eval colony (paseka-eval-colony) and runner/run-case.sh against real NATS + paseka run. See 003-hive-evals.
- Always pass
-Ctopasekafrom runner scripts — resolving from cwd alone can target the wrong git repo (e.g. parentpasekaplatform) andpurgethe wrong colony. Usepaseka … -C "${EVAL_ROOT}". - Worktrees are created from
HEAD, not the working tree — seed code (go.mod,pkg/, …) must be committed before a trace worktree is created. Do not gitignore materialized seed files at the colony root. Also relevant outside eval; see 008. - Script bees run from the worktree checkout —
scripts/*.shand bee YAML come from gitHEAD. Uncommitted script changes are invisible inside.paseka/worktrees/<traceId>/. paseka event emitfrom script bees needs-C "$PASEKA_COLONY_ROOT"— when cwd is the worktree, emit without-Cfails colony/home resolution. Guard/receiver scripts must pass colony root explicitly.paseka event emitcan fail after a successful bus publish — if audit log append to.paseka/runs/<traceId>/<agentId>/events.ndjsonfails, emit exits non-zero and the adapter run is marked failed. Normal adapter runs have a run dir; ad-hoc manual emits need a matching run dir.- Fixed
trace+ JetStream state accumulates — reusing case traces leaves ledger KV, depleted honey, and replay history. Usepaseka purge --bus --trace <case-trace>(stoppaseka runfirst); see CLI §paseka purge. - Only one
paseka runconsumer per colony subject prefix — a second reactor logsconsumer is already bound to a subscription. Stop the previous runtime beforerun-case.shstarts another. - Builder rework is async —
verification.failed→ builder fix-up via direct dispatch can continue while the task iswaiting_reviewor aftercompleted(e.g. honey exhausted). Allow time for the guard→builder loop; treatblockedas terminal when honey runs out. - Oracle scope —
go test ./...in the worktree also picks up packages undercases/…/expect/. Prefer a narrow path (e.g.go test ./pkg/...) incase.yamloracle.commandand in script-guard bees.