refactor(examples): replace sector-specific example material with generic, fictitious examples

The context sets, the packaged knowledge bases and the example bundles are
replaced by one fictitious example set about IT operations in an invented
organisation: three context sets (serverrom-2027, driftsavtale-2027 and the
two-base drift-og-avtale-2027), two synthetic knowledge bases under
src/portfolio_optimiser/data/kunnskapsbaser and two example bundles under
src/portfolio_optimiser/data/bundles. Numbers, codes and structural values in
tests and fixtures are kept; names, ids and wording change. Dated measurement
documents that only recorded runs on the replaced material are deleted.

Gate figures measured on the new set are not comparable with earlier ones.
The exclusion gate from the previous commit is green: 0 tracked files hit
outside the shared/ subtree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-23 15:04:21 +02:00
commit 37547fe292
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
1147 changed files with 24138 additions and 9503 deletions

View file

@ -2,8 +2,8 @@
MEASURED (P21 stress round 5, re-measured at the head of økt 126): all 26 rejections across the
six paid runs read ``unknown cost code '<invention>': not in project P's cost baseline (5 known
codes)``, and **0 of 20** approaches validated (round 4: 4 of 20). The model invented
``signalregulering_konstruksjon``, ``VENTIL_IMP``, ``RIGG01``, ``bærelag_asfalt`` and 22 more. It
codes)``, and **0 of 20** approaches validated (round 4: 4 of 20). The model invented 26 names
such as ``RIGG01`` and ``VENTIL_IMP``. It
could not have done otherwise: the price schedule reaches the VALIDATOR and never the proposer,
and the refusal states the COUNT of known codes, not one code's name. Step 5 feeds that sentence
verbatim into the next attempt's prompt — and "you guessed wrong, there are five right answers"
@ -20,11 +20,12 @@ sever a code mid-name and hand the proposer an identifier that exists nowhere
window can only ever emit whole codes.
Measured sizes, with denominators (økt 126): every cost baseline anywhere in this repo or its
measured corpora is at most SIX codes (the five context sets: 5 · 5 · 5 · 5 · 6; the two shipped
measured corpora was at most SIX codes (the five context sets of the time: 5 · 5 · 5 · 5 · 6; the
two shipped
``shared/examples`` baselines: 1 each; MAJOR-4's derivation of the synthetic K2 price schedule: 3),
and the largest REAL delivered price schedule measured is K2's ``prissammenstilling-sheet-1.md`` at
14 priced rows of 118 lines. Nothing measured reaches the window; it exists for the unmeasured
R761-style mengdebeskrivelse, where a contract is priced BY prosesskode and the corpus declares
schedule of an agreement priced BY process number, where the catalogue measured then declared
2 727 of them.
"""
@ -48,7 +49,7 @@ from portfolio_optimiser.validator import (
validate_proposal,
)
_SMALL: Final = ("RIGG", "ASFALT", "MASSE", "FROST", "SKILT")
_SMALL: Final = ("RIGG", "LISENS", "MASSE", "FROST", "SKILT")
def _baseline(codes: tuple[str, ...], project_id: str = "proj") -> CostBaseline:
@ -112,7 +113,7 @@ def test_the_magnitude_half_does_not_grow_a_code_list() -> None:
def test_a_large_schedule_is_bound_by_a_fixed_window() -> None:
"""A mengdebeskrivelse priced by prosesskode can carry thousands of lines. The list is bound at
"""A schedule priced by process number can carry thousands of lines. The list is bound at
``_KNOWN_CODE_WINDOW`` codes, the denominator still states how many exist, and the cut is
ANNOUNCED rather than left for the reader to subtract (``index_truncated``'s rule)."""
many = tuple(f"P{i:04d}" for i in range(500))