portfolio-optimiser-claude/docs
Kjell Tore Guttormsen 1041687d31 test(experience): the id was pinned, the keying was not - and the two paths disagree
S3.2 measured with scripts/mutation_harness.py, denominator tests/ (963), every
run sha256-restored. The mirroring question answerable offline: is today's
boundary - "the id comes from the FILE, the keying comes from the BUNDLE" -
load-bearing in both halves?

The id half is pinned on both sides (re-minting RED, dropping the mint fallback
RED). The keying half is green-but-dead: empty features and the gated C3.2 fix's
own shape each left all 963 green. Nothing observed what a seeded verdict is
keyed on. One rationale clause too: requiring BOTH learning fields, whose
either-or form emits a marker naming the absent field as None (honesty, §1).

New beyond C-F5: the sibling's drift form DOES exist here. A verdict is keyed in
exactly two places by different rules - the bundle seed (bundle-wide) and the
file/inbox path (per-verdict) - so the same verdict id lands in the same
first-write-wins slot with a keying decided by LOAD ORDER. And promote writes no
candidate features at all, which is why the fix's shape is a no-op against every
fixture in the repo and had to be measured against one carrying the fields.

Pinned by tests/test_experience_keying_loadbearing.py (11 tests, 963 -> 974,
strict superset, 0 node ids lost). No src/ change: C-F5 is GATED on D-A pkt. 4,
and these tests exist so the gated work must arrive as a visible red test and a
decision. Two behaviour-preserving mutations carry their own controls (a third
VerdictRecord site; hoisting the projection read into the loop). Dated under the
D7 frame: work after 2026-08-09, never independent convergence.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 23:40:07 +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(experience): the id was pinned, the keying was not - and the two paths disagree 2026-09-12 23:40:07 +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