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

@ -19,7 +19,7 @@ Detach points, each RED on its own:
* drop the recorder from the debate middleware -> a called service leaves no trace, and the run
reports the same empty record as a run that called nothing;
* record every function invocation -> the road path's IN-PROCESS retrieval tool is reported as an
* record every function invocation -> the reference path's IN-PROCESS retrieval tool is reported as an
external service call, which turns the record into a false egress claim;
* attribute an ambiguous tool name to the first server that allows it -> the record names a service
that may never have been contacted.
@ -150,7 +150,7 @@ class _ToolCallingClient(ScriptedChatClient):
#: The argument name each tool actually declares. MEASURED, and load-bearing: a call whose argument
#: names do not match the tool's signature is rejected by MAF BEFORE invocation, so the middleware
#: never fires — the first version of the road-path test below passed ``code`` to
#: never fires — the first version of the reference-path test below passed ``code`` to
#: ``retrieve_cost_docs(query)`` and was therefore VACUOUS. It asserted an empty record against a run
#: where no tool ran at all, and stayed green under the mutation it exists to catch.
_ARGUMENTS = {
@ -223,7 +223,7 @@ async def test_a_called_mcp_tool_is_recorded_in_provenance(monkeypatch: pytest.M
async def test_a_local_tool_call_is_not_recorded_as_an_external_call(
monkeypatch: pytest.MonkeyPatch,
) -> None:
"""The road path's ``retrieve_cost_docs`` runs IN PROCESS. Calling it is not egress, and a run
"""The reference path's ``retrieve_cost_docs`` runs IN PROCESS. Calling it is not egress, and a run
that only called it must not claim it contacted the price register.
RED when the recorder logs every function invocation rather than the configured ones.
@ -246,12 +246,12 @@ async def test_a_local_tool_call_is_not_recorded_as_an_external_call(
monkeypatch.setattr(ToolCallRecorder, "note", spy)
rv13 = {p.id: p for p in load_reference_projects()}["RV13-RAS-TP"]
nett = {p.id: p for p in load_reference_projects()}["NETT-SIKR-TP"]
result = await run_project(
"RV13-RAS-TP",
"NETT-SIKR-TP",
"local",
docs_dir=rv13.docs_dir,
verdict_input=rv13.verdict_input,
docs_dir=nett.docs_dir,
verdict_input=nett.verdict_input,
store=VerdictStore(verdicts=[]),
client_factory=_factory("retrieve_cost_docs"),
mcp_servers=(_SERVER,),