feat(simulation): the demo's gate is anchored to real cost lines (P4 pkt. 0)
The validator can reconcile a proposal against the project's actual cost lines (S4.0 stage 0), but only when the knowledge base ships a cost-baseline.json — and no bundle under shared/ has one. So on stage the gate reasoned only about numbers the proposal supplied itself. The reserve can never receive the file in shared/ (pull-only subtree, and demo criterion 8 requires the goldens byte-unchanged). That is a placement constraint, not an impossibility: materialize_anchored_bundle copies the bundle and adds the file outside shared/, and the run path reads it through exactly the seam a delivered bundle would use. The baseline is DERIVED IN CODE from the scripted register, never typed beside it — two sources of the same numbers drift, and drift is precisely what the 10 % probe models. On GO day the direction reverses (plan P3 b). Both scripted replies must state the same cost lines or ValueError: were they to differ, hypothesis #1 would be falsified by stage 0 instead of by P90 — the same REJECTED line on screen, a different mechanism behind it. 10 % probe, measured: baseline x 1.10 -> FORKASTET at stage 0, before the solver; corrected -> FORESLÅTT. Criterion 6 re-measured (stdout byte-identical across two runs); stderr unchanged at 6 lines. The ONLY diff against the un-anchored demo is the new KUNNSKAPSBASE block — everything else is byte-identical, which is the problem: an anchoring nobody can see is one nobody can check. Hence it is printed, and hence `provenance` is a required argument. 769 -> 775 passed. Five mutations red + green control. The measurement failed the TEST first: "ingen kostbaseline erklært" CONTAINS "kostbaseline erklært", and ENERGI-TOTAL-EL already appears in the Step-2 line, so both assertions survived the detach mutation. The two branches now share no wording. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GD6Y2Y23NZZxPYtSRoCmst
This commit is contained in:
parent
1e11dcb96c
commit
1522e2aaaa
5 changed files with 364 additions and 4 deletions
|
|
@ -66,6 +66,13 @@ reviewer would days later — is merged from disk into the next run's store befo
|
|||
formed (write file → merge → fold). Both markers are present in Run B's prompt and absent from
|
||||
Run A's. Nothing crosses in memory.
|
||||
|
||||
The run is **anchored**: the demo copies the example knowledge base and adds a `cost-baseline.json`
|
||||
— the project's actual cost lines — so the validator's first stage reconciles every cost line a
|
||||
proposal claims against them, before the solver runs. The declared baseline is printed at the top,
|
||||
because it is the one property the rest of the output looks identical with or without. Those
|
||||
numbers are synthetic, derived from the scripted replies themselves; a knowledge base that ships
|
||||
its own baseline replaces them through the same seam, with no code change.
|
||||
|
||||
**3 — Run the loop over a knowledge base, with answers you supply.** Write the stand-in replies,
|
||||
then point the CLI at the bundle:
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue