portfolio-optimiser-claude/docs
Kjell Tore Guttormsen 7b934275d8 test(cost): the money rule exists in four copies, and the gate it serves is switched off
D7 mirror candidate (p) `to_ore`, measured offline with the mutation harness.

`to_ore` does not exist here (0 of 80 .py files in src+tests; positive control:
`unit_cost` found in 19). Our money axis is the accumulated USD spend, and its
conversion is the rounding to six decimals — present in FOUR literal copies with
no named source (run.py:159, run_s10.py:110 and :130, costsim.py:125) while the
share rounding one file over DOES have one (`_SHARE_DIGITS`). The sibling's drift
form is present.

Three of the four copies are never executed: replacing the whole expression with
`999.0` left all 984 green at each. Their green under a detach was never evidence
about the rounding — it was "not measured" (ansikt 4 on the apparatus). The
default branch WAS pinned; the value branch was not.

The one path that decides with the cost — the C3.5 pre-call USD belt — is a
permanent no-op: `max_cost_usd` is set in 0 of 27 src modules (positive control:
`max_budget_usd_per_call` is found by the same scan). The gate is built; no path
hands it a cap.

Seven mutations, all VALUE-PROVED with collateral controls green in both runs.
No src change: folding the copies is a refactor, wiring the run-total cap is a
feature. The tests pin today's boundary so neither lands silently.

984 -> 997 (strict superset, 0 lost node ids).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 07:28:44 +02:00
..
2026-07-04-I3-brief.md feat(ingest): I3 — D7-speil av ingest (filkatalog/CSV), bygget fra commons-spec alene 2026-07-04 06:12:43 +02:00
2026-07-04-I5-brief.md feat(ingest): I5 — SQL D7-speil, bygget fra commons-spec alene 2026-07-04 07:18:59 +02:00
2026-07-04-I7-brief.md docs(brief): the plan reference must not be a link only this machine can follow 2026-08-04 11:55:17 +02:00
2026-07-04-I7-statusrapport.md docs(ingest): I7 — programavslutning, D7-docs avgrenset til CSV + SQL 2026-07-04 20:08:06 +02:00
2026-07-10-sesjonsplan-d7.md docs(review): full-paritet review + sesjonsplanverk + beslutningsbrief (Fable 5 + 6 Opus-agenter) 2026-07-16 08:36:07 +02:00
2026-07-16-beslutningsbrief.md docs(portfolio): spec-gap §7 i operatør-køen + paritetsrad 24/25 rettet 2026-07-25 07:41:52 +02:00
2026-07-16-llm-ingestion-guard-plan.md chore(deps): re-pin llm-ingestion-okf to v0.3.1 + migrate tests to stable error codes 2026-07-20 07:22:09 +02:00
2026-07-16-review-paritet.md docs(review): full-paritet review + sesjonsplanverk + beslutningsbrief (Fable 5 + 6 Opus-agenter) 2026-07-16 08:36:07 +02:00
2026-07-16-sesjonsplan-paritet.md docs(portfolio): mark the parity table's D7 column as a frozen 2026-07-16 measurement 2026-07-25 15:27:52 +02:00
2026-07-25-d-a-amendment-forslag.md docs(portfolio): A5 premise corrected — the quantisation POINT is the live divergence 2026-07-25 19:58:04 +02:00
2026-08-18-funn-koeer-og-gater.md test(cost): the money rule exists in four copies, and the gate it serves is switched off 2026-09-13 07:28:44 +02:00
extending.md feat(portfolio): K12 — CLI parity, doc sync, knowledge-base recipe (parity row 24) [skip-docs] 2026-07-25 06:42:52 +02:00
oppskrift-kunnskapsbase.md feat(portfolio): K12 — CLI parity, doc sync, knowledge-base recipe (parity row 24) [skip-docs] 2026-07-25 06:42:52 +02:00
review-2026-07.md docs(review): kryssmodell-review + sesjonsplan-synk mot delt beslutnings-kø D-A–D-E 2026-07-10 07:29:35 +02:00