Skip to content

feat: add declarative review loops#21

Open
apresmoi wants to merge 12 commits into
layoutit:mainfrom
apresmoi:feat/review-loops
Open

feat: add declarative review loops#21
apresmoi wants to merge 12 commits into
layoutit:mainfrom
apresmoi:feat/review-loops

Conversation

@apresmoi

Copy link
Copy Markdown
Collaborator

Summary

  • Add an optional declarative .loop system with a built-in serial review workflow: maker → repository check → fresh reviewer → convergence gate → CLI-owned item completion.
  • Compile Loop packages into pinned, closed IR; freeze assignments, agent routes, trusted check capabilities, budgets, and launch authority into append-only recoverable Runs.
  • Add the complete CLI flow for agent profiles, routes, capability trust, Loop assignment and ASCII inspection, Run creation/execution/recovery, and idempotent completion.
  • Show the active Run directly in the read-only Checklist dashboard, including the graph cycle, current node and attempt, candidate-bound maker/check/reviewer evidence, transitions, timestamps, and corrupt or interrupted states.
  • Document setup, operation, recovery, authority boundaries, and the unchanged direct burnlist burn path in the skill, README, CLI reference, and website.

Validation

  • npm run verify
  • npm run verify:package — exact 202-file package manifest; 1,942,426 bytes unpacked
  • npm run test:global-install on Node 22.14.0
  • BURNLIST_TEST_NODE=<node-18-binary> npm run test:global-install on Node 18.20.8
  • npm run build:dashboard
  • git diff origin/main...HEAD --check
  • Two independent final reviews cover runtime/state/completion correctness and CLI/UI/product scope; both approve with no open P0–P2 findings.

Structure

  • Read order: loops/review/review.loop (shipped workflow) → src/loops/dsl/ (compiler and frozen IR) → src/loops/run/ (journal, state machine, authority, runner) → src/loops/completion/ (CLI-owned completion transaction) → src/cli/loop-cli.mjs (consumer flow) → Checklist dashboard projection and rendering → skill and website guidance.
  • Canonical Burnlist mutations remain CLI-owned. The dashboard only reads bounded projections and refetches canonical state after invalidation events.
  • Runs use an append-only hash-chained journal, recoverable publication, candidate-bound evidence, one writer, and an independently launched read-authority reviewer.
  • Root runtime dependencies remain zero, and every new authored file is at most 400 lines.

Notes

  • This is deliberately the minimal Stage 1 slice: one built-in serial workflow, one Codex CLI adapter, one writer, and foreground execution.
  • Reviewer write denial is supervised rather than an OS sandbox. Parallel branches, Docker isolation, metrics gates, custom adapters, forecasting, automatic worktrees, and background execution remain deferred.
  • Items without a Loop assignment continue to use the existing direct completion flow unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant