From the prime-agent analysis (their core/autonomous.ts gate logic). Before re-running a previously failed gate they hash the worktree (git status --porcelain -z -uall + git diff --binary HEAD + untracked contents); if unchanged, the gate is NOT rerun — the attempt counter still advances and the model is steered: "the workspace has not changed since this failure; edit source files or tests before attempting to finish again."
graff fit: goal epochs re-verify on continuation. When verification failed and the worktree fingerprint is identical to the last failed attempt, skip the re-verify (burn no verifier tokens), count the attempt, and steer with the no-progress message.
Notes: fail-open — any git error means "changed", so the gate reruns. Likely home: goal_flow.zig / goal_pacing.zig (goal_flow at 33.8K, check cap pressure).
From the prime-agent analysis (their
core/autonomous.tsgate logic). Before re-running a previously failed gate they hash the worktree (git status --porcelain -z -uall+git diff --binary HEAD+ untracked contents); if unchanged, the gate is NOT rerun — the attempt counter still advances and the model is steered: "the workspace has not changed since this failure; edit source files or tests before attempting to finish again."graff fit: goal epochs re-verify on continuation. When verification failed and the worktree fingerprint is identical to the last failed attempt, skip the re-verify (burn no verifier tokens), count the attempt, and steer with the no-progress message.
Notes: fail-open — any git error means "changed", so the gate reruns. Likely home: goal_flow.zig / goal_pacing.zig (goal_flow at 33.8K, check cap pressure).