2.1 KiB
2.1 KiB
Doc Review: add-state-loop-lock
Reviewed docs touched by or referring to the fix.
Files reviewed
CHANGELOG.md— added### Added — .state.loop file lock (task add-state-loop-lock)at the top of[unreleased]covering R1-R7 + D-L1 through D-L6, the env-var mechanism, callsites wrapped in both scripts, the test plan, the adversarial findings, backwards-compat, stdlib-only constraint, and 447-passing count.AGENTS.md— added a.state.lock(v1.1) bullet under State Enforcement — Loops (v1) summarizing the lock shape, granularity, blocking-acquire behavior, env-var mechanism, and pointer to the technical doc.README.md— extended the Loop Engineering runtime paragraph with a single sentence pointing at.state.lockserialization with adesign/loops/technical.md §7pointer.design/loops/technical.md§7 — added a new "Lock serialization" subsection covering the lock shape, callsites in both scripts, the env-bypass mechanism (D-L6), the re-entry forbidding audit, and the harness-contractor-loop-control implication.contracts/harness-integration.md— no edits. The A4 follow-up "forbid loop-control commands inside a tick" is deferred to a small docs-only follow-up (not a blocker); listed in the design doc. Did NOT modify the harness integration contract in this task to avoid scope-creep.prompts/loop-*.md— no edits (phase prompts are content; no locking references there).scripts/install.sh/scripts/update.sh/scripts/upgrade.sh— no edits (don't touch the lock).
Cross-references checked
rg "_loop_lock|\.state\.lock|AUTOMATON_NO_LOOP_LOCK" design/ templates/ scripts/ contracts/ README.md AGENTS.md prompts/— all hits intentional.rg "fcntl|msvcrt|flock" design/loops/technical.md AGENTS.md README.md— only intentional references in the new docs.- The
add-loop-runner/v1 CHANGELOG entry still says "the runner writes.state.loopatomically via_write_state_loop(tmp file then replace)" — this remains accurate (the atomic write is still in place; the lock adds a coarse mutex on top — defense-in-depth per D-L5).
Verdict
PASS — proceed to referee.