This file is the repo-root table of contents for agents working on Forgeloop-kit itself.
Keep it short. Keep durable rules in docs/. Prefer repo-local, versioned artifacts over chat context or memory.
Forgeloop-kit is the repo-local safe-autonomy control plane for coding agents. Its core product is a fail-closed loop: agents plan/build against real checks, pause instead of spin, and preserve state in repo files when human judgment is required.
The three execution lanes are:
- checklist lane —
IMPLEMENTATION_PLAN.mdwithplan/build - tasks lane —
prd.jsonwithtasks - workflow lane — native workflow packs with
workflow ...
Read in this order before changing behavior:
README.mddocs/README.mddocs/runtime-control.mddocs/workflows.mdwhen touching workflow behaviordocs/harness-readiness.mddocs/sandboxing.mdwhen changing permissions, runners, or full-auto behavior
bin/— bash entrypoints and loop/daemon control surfaceslib/— shared bash runtime helperselixir/— managed daemon, babysitter, loopback service, and UI foundationtemplates/— files installed into target repos; do not confuse these with this repo's own root docsdocs/— authoritative long-form operator and architecture contractsdesign.md— current visual brief for the landing page and operator HUD on the v2 alpha tracktests/— shell regression suiteevals/— public safe-autonomy proof harness.openclaw/— OpenClaw integration seamconfig.sh— canonical environment/config knobs
- Treat
AGENTS.mdas a map, not an encyclopedia. - Confirm current behavior from code and tests before editing docs or prompts.
- Keep changes small, legible, and mechanically verifiable.
- If you change durable behavior, update the matching doc in
docs/. - If you change installed-repo scaffolding, update
templates/and any affected install tests. - Do not duplicate the runtime-control or workflow contracts here; link to them.
- Preserve the file-first control plane:
REQUESTS.md,QUESTIONS.md,ESCALATIONS.md, and.forgeloop/runtime-state.jsonare part of the product surface. - Prefer repo-local knowledge over hidden context: if an agent needs it repeatedly, encode it in the repository.
- Reduce entropy when you touch a surface: collapse stale docs, dead prompts, and drift rather than adding more parallel guidance.
- If you change the landing page or operator HUD direction, update
design.mdin the same slice.
Run the smallest relevant suite, then widen when your change crosses boundaries:
- bash/runtime/install/template changes:
bash tests/run.sh - fail-closed runtime behavior, escalation paths, daemon transitions, proof-harness changes:
bash evals/run.sh - Elixir service/UI/babysitter/OpenClaw-managed changes:
cd elixir && mix test
For broad runtime or cross-surface changes, run all relevant suites.
- Forgeloop should fail closed, not spin. Follow
docs/runtime-control.md. - Keep
FORGELOOP_VERIFY_CMDvalidation-only; deploy/restart actions belong in deploy hooks. - Treat the VM/container as the real security boundary. Disposable worktrees are hygiene, not security.
- Do not fake recovery state: the next loop/daemon cycle owns recovery.
When working here:
- start from the smallest authoritative file that answers the question
- prefer existing entrypoints (
bin/*,tests/*,evals/*) over ad hoc scripts - preserve repo-root and vendored-layout compatibility where applicable
- add or update regression coverage with behavioral changes
- keep repo instructions concise so they remain useful in-context