Adopt outerloop without loop-engineering. For teams using Cursor Composer as their agent harness.
npx @cobusgreyling/outerloop init --with-cursor --name my-appThis creates .outerloop/, Cursor rules (.cursor/rules/outerloop.mdc), and a composer prompt.
After a Composer session that changed files:
# 1. Package evidence (point at your repo root)
outerloop evidence package \
--run-id latest \
--from cursor \
--project-root .
# 2. Review
outerloop verdict review <evidence-id>
# 3. Answerability
outerloop ledger why <evidence-id>EVIDENCE_ID=$(outerloop evidence package --run-id latest --from cursor --json | node -e "process.stdin.on('data',d=>console.log(JSON.parse(d).id))")
outerloop verdict issue \
--evidence-id "$EVIDENCE_ID" \
--decision ship \
--rationale "Cursor session: tests pass, scope limited to requested feature."
outerloop ledger why "$EVIDENCE_ID"