Skip to content

Commit bcd5dcf

Browse files
committed
fix(loki): spec-contradiction is non-fatal by default (never-fail-a-stage)
The final and most robust layer: a detected spec-contradiction no longer terminal-fails the run before iteration 1. It is recorded as a high-severity finding and the build PROCEEDS. This is safe: the completion gate still refuses a "green" done while an unresolved contradiction stands and it is surfaced in proof-of-done, so nothing fakes success -- this only stops a false-positive from KILLING a valid build at 0 iterations. Observed: the LLM grill classifier over-fires "contradiction" on ordinary ambiguities in real PRDs (saas-dashboard, markdown-notes killed at 0 iters while landing-page and url-shortener built cleanly from equivalent specs). Combined with the no-retry exit-20 terminal, a flaky/mislabeled verdict was a hard build failure. Default flipped: LOKI_SPEC_CONTRADICTION_FASTFAIL now defaults 0 (proceed); set =1 to restore the old hard terminal. Companion to the classifier layering (b5fa4ed/e4d9f4e8/80b02d6c/a3be6479). Feature-branch only. Claude-Session: https://claude.ai/code/session_01VyBdR1hf2uUTwd84f9amTa
1 parent a3be647 commit bcd5dcf

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

autonomy/run.sh

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16948,7 +16948,16 @@ except Exception:
1694816948
# specific count, NOT the broader high-unresolved which includes
1694916949
# auto-ackable non-contradictions).
1695016950
# Opt-out: LOKI_SPEC_CONTRADICTION_FASTFAIL=0.
16951-
if [ "${LOKI_SPEC_CONTRADICTION_FASTFAIL:-1}" = "1" ] \
16951+
# NEVER-FAIL-A-STAGE default (founder policy): a spec-contradiction is now
16952+
# NON-FATAL by default -- it is recorded as a high-severity finding and the
16953+
# build PROCEEDS (the completion gate still refuses a "green" done while an
16954+
# unresolved contradiction stands, and it is surfaced in proof-of-done, so
16955+
# this never fakes success; it only stops a false-positive from terminating
16956+
# a valid build before iteration 1). The grill classifier is an LLM and
16957+
# over-fires; combined with the no-retry terminal that produced valid
16958+
# specs killed at 0 iterations. Opt INTO the old hard terminal-fail with
16959+
# LOKI_SPEC_CONTRADICTION_FASTFAIL=1 (default is now 0).
16960+
if [ "${LOKI_SPEC_CONTRADICTION_FASTFAIL:-0}" = "1" ] \
1695216961
&& [ ! -t 0 ] \
1695316962
&& [ "${LOKI_ASSUMPTIONS_REQUIRE_CONFIRM:-0}" != "1" ] \
1695416963
&& type spec_ledger_contradiction_unresolved_count &>/dev/null; then

0 commit comments

Comments
 (0)