feat(explore): sporet sier HVILKE dokumenter navigatoeren aapnet, ikke bare hvilken base

S7a-3 pkt. 3. ExplorationToolRecorder registrerte navn + bundle_id i
kall-rekkefoelge. Over 39 konsepter holdt det; over K2s 629 leser tool_calls
"read_file, k2" to ganger, saa hvilke to av 629 kan ikke leses ut av den
leverte artefakten i det hele tatt - oekt 77 og 81 maatte begge instrumentere
kjoeringen for haand for aa svare.

ToolCall.path registreres for read_file OG read_dir. Resultatet registreres
fortsatt ALDRI: det ER basens innhold, maalt til 89 % av hver prompt-token i en
K2-kjoering. "" for et verktoey som ikke tar argumentet (bundle_id-regelen), og
EN argumentleser for begge felt - to kopier ville staatt fritt til aa vaere
uenige om hva et fravaerende argument betyr.

Load-bearing MAALT: 4 mutasjoner alle roede mot HELE suiten, groenn kontroll
1257 passed / 5 skipped, golden byte-uendret. P1 3 / P2 3 / P3 2 / P4 2.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-03 08:03:36 +02:00
commit f17068b013
4 changed files with 224 additions and 14 deletions

View file

@ -273,13 +273,15 @@ def test_the_record_leaves_the_run_in_the_artefact_beside_the_advisory_verdicts(
Detach point: drop the ``tool_calls`` key from ``trace_payload`` RED here and end-to-end.
"""
trace = ex.ExplorationTrace()
trace.tool_calls.append(ex.ToolCall(name="read_bundle", bundle_id="bygg-energi-mikro"))
trace.tool_calls.append(ex.ToolCall(name="read_bundle", bundle_id="bygg-energi-mikro", path=""))
payload = ex.trace_payload(trace, stop=None, completed=True)
assert payload["tool_calls"] == [{"name": "read_bundle", "bundle_id": "bygg-energi-mikro"}], (
"the artefact must say which bases were opened, or a paid run leaves no record that any were"
)
# ``path`` joined the record in S7a-3 pkt. 3 and is ``""`` here because ``read_bundle`` takes
# none; its own gate is ``tests/test_tool_call_path_loadbearing.py``.
assert payload["tool_calls"] == [
{"name": "read_bundle", "bundle_id": "bygg-energi-mikro", "path": ""}
], "the artefact must say which bases were opened, or a paid run leaves no record that any were"
assert json.dumps(payload), "the payload must stay plain data — the RAW layer is MAF-free"