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

@ -3,10 +3,10 @@
**DEL C, the measured silence.** P18 gave ``read_dir`` a window — ``filter`` / ``offset`` /
``limit`` — and then measured its own paid round without being able to see it used: five of 31
documents read lay OUTSIDE the default window, so the window had been widened, and the trace could
not say with which knob (``docs/2026-09-14-p18-stressrunde-2.md`` § 1, finding 1). The recorder
kept ``name`` / ``bundle_id`` / ``path`` and nothing else. "Did the model narrow the level, or page
through it?" is the operative question about a corpus of 2 756 documents, and it was unanswerable
from the artefact the run leaves behind.
not say with which knob (stress round 2, finding 1; the ledger is ``docs/invarianter.md``). The
recorder kept ``name`` / ``bundle_id`` / ``path`` and nothing else. "Did the model narrow the level,
or page through it?" is the operative question about a corpus of 2 756 documents, and it was
unanswerable from the artefact the run leaves behind.
**DEL D, and one of the two findings it fixes was WRONG AS WRITTEN.** P18's finding 4 said a
successful run does not say what it used. Measured 14.09: ``provenance.token_usage`` has been
@ -104,9 +104,12 @@ def _record(*calls: tuple[str, Any]) -> list[ex.ToolCall]:
def test_the_window_arguments_are_recorded() -> None:
"""(a) HOW the level was asked for, not only which one."""
(call,) = _record(
("read_dir", {"bundle_id": "k2", "path": "krav/N100", "filter": "rundkjoring", "limit": 25})
(
"read_dir",
{"bundle_id": "k2", "path": "krav/D100", "filter": "sikkerhetskopi", "limit": 25},
)
)
assert (call.filter, call.offset, call.limit) == ("rundkjoring", 0, 25)
assert (call.filter, call.offset, call.limit) == ("sikkerhetskopi", 0, 25)
def test_a_call_that_passes_none_of_them_yields_empty_fields() -> None:
@ -316,7 +319,7 @@ def test_the_judge_reads_the_stop_reason_onto_every_unevaluated_row(tmp_path: Pa
def test_the_judge_reports_what_the_run_spent(tmp_path: Path) -> None:
"""(g) D1. P18's finding 4 was wrong as written: the field was always there, the READER was not.
The figure is the one measured on round 2's own artefacts (tunnel-hauglia-2027-02).
The figure is the one measured on round 2's own artefacts (one context set's ``…-02`` run).
"""
verdict = stress.score_context_set(
_context_dir(tmp_path),