Commit graph

1 commit

Author SHA1 Message Date
1515a474d6 test(docs): gate constants cited in live docs against the code (kø-(h))
docs/extending.md claimed SEMANTIC_WEIGHT_DEFAULT = 0.5 long after the code
lowered it to 0.25. It was found by accident while editing the neighbouring
line; nothing in the suite would ever have caught it. This is that gate.

Both bounds were MEASURED, not assumed:

- SCREAMING_CASE discriminates exactly. Across every numeric `name = value`
  code span in docs/ it selects the 2 real module constants and rejects all
  10 kwargs/locals (max_attempts=3, concurrency=3, realiseringsgrad=0.79).
  Ordinary prose stays freely editable, so the gate has no reason to be
  switched off.
- Dated documents are observations, not contract. A spike finding or a July
  review records what was true when measured; rewriting it to track the code
  would falsify the record.

Measuring also rewrote the ambiguity rule: SEMANTIC_WEIGHT_DEFAULT is bound
in both semretrieval and run (a re-export), so a "same name in two modules"
check would have been RED on today's code. Only DIVERGENT values are refused.

Fail-closed throughout, per write_concept_file / read_spend: an unknown
constant name is an error rather than a skip, and a document that is neither
listed live nor recognisably archived goes RED asking to be classified —
otherwise a new guide would be silently unguarded.

Load-bearing MEASURED against the whole 638-test suite:
- drift the DOC (the original defect) -> only this gate goes red; the other
  637 stay green, so it covers ground nothing else did
- drift the CODE -> this gate and the semretrieval weight gate both go red
- make an unknown name tolerant -> red
- drop the only citing doc from the live list -> red (twice: coverage and
  classification)
- add a new unclassified guide -> red
- (control) remove this gate entirely, code still drifted -> the adjacent
  semretrieval gate still goes red, so nothing is masked in either direction

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D9AAyWtMqr4HjftKaegTtS
2026-08-03 22:22:43 +02:00