portfolio-optimiser/docs
Kjell Tore Guttormsen b799cc527f feat(explore): read_bundle costs O(documents), never O(bytes of the base)
[skip-docs]

S2c / MAJOR-3, order 20260902T151931Z-250257273. The measurement landed first
in ce7f687; this commit is the one seam it authorised, plus the after-table.

read_bundle returned okf.bundle_context -- the WHOLE navigated base. Because
the exploration's participants share one conversation history, that single
function_result rode in FIVE later prompts at full price without anyone asking
for it again: 54-59 percent of every prompt-token in a CLI --explore run.

It now returns the catalogue form one rung down the ladder -- one entry per
concept document (name, type, title, chars) -- with read_file as the next rung.
Tunnel base: 12 595 -> 259 o200k tokens, exploration prompt-tokens -91 percent.

The listing is built from Bundle.context_files and never from files: that is
the property which drops the type: verdict layer at every level, and a listing
built from files would route prior verdicts in front of the navigator around
the gated ExpeL fold while every cost arm stayed green.

A premise was felled before anything was built on it: the tunnel base's root
index body is 4 763 chars alone, nearly the whole ceiling, for a field the
catalogue already excerpts and read_file still returns whole. So read_bundle
carries the listing and not the index.

The tool description and the navigator's instruction both claimed "read its
navigated context" and were updated in the same move -- a description that lies
about the body IS the model's instruction. Two pre-existing asserts would have
gone vacuously true against a list and were strengthened rather than left.

Ceiling lives in the test, not in explore.py. Deviation stated there and in the
docs: it bounds CHARACTERS, not tokens, because tiktoken is not a project
dependency and a gate that skips when an optional package is missing is a gate
that can be silently absent; the conversion was measured (2.89 chars/token) and
the order's own token criterion verified once by the instrument.

Load-bearing measured: seven mutations, all red against the WHOLE suite; green
control 1195 passed / 5 skipped (from 1189/5, strict superset); golden
demo-transcript.stdout byte-unchanged; and the debate's three bundle_context
copies are byte-identical before and after, which proves run.py and the
nav-goldens were not touched rather than asserting it.
2026-09-03 00:36:08 +02:00
..
fase1-spikes fix(fase1): spike B fan-out measures real conversation bleed, not a counter 2026-06-24 11:09:55 +02:00
plan fix(maf): en vakt som gikk inert i STILLHET, funnet ved aa loefte pinnen (F15, ORDRE 20260829T155150Z) 2026-09-02 19:35:49 +02:00
rapport docs: fjern brukernavn, hjemmekatalog-stier og privat namespace fra publisert flate 2026-08-18 13:20:23 +02:00
research docs(research): MAF 1.9.0 capability map — feature-utilization for Fase 2 [skip-docs] 2026-06-24 11:36:26 +02:00
2026-06-24-two-approaches-brief.md docs: plain-text brief — goal + two approaches (MAF vs Claude Agent SDK) + learning goal 2026-06-24 09:21:31 +02:00
2026-06-26-fot-i-bakken.md docs(fot-i-bakken): ground-truth-verifisert levert-vs-lovet — agentiske lag inerte 2026-06-26 15:25:03 +02:00
2026-07-15-foundry-auth-recipe.md docs(1b): Claude på Foundry er en TREDJE klientflate — FoundryChatClient kan ikke binde den 2026-08-13 20:31:36 +02:00
2026-08-13-demo-presentasjon.html docs(deck): begge deck bærer det MÅLTE 1b-utfallet — ærlighet, ikke seier 2026-08-14 20:28:35 +02:00
2026-08-13-fase1a-lokal-ende-til-ende.md docs(fase1a): «uansett modell» hvilte på en måling jeg aldri leste ferdig 2026-08-13 20:19:31 +02:00
2026-08-13-fase4-azure-yaml-valg.md feat(4b): AZURE-profilen leser miljøet sitt, ikke operatørens laptop 2026-08-13 22:27:21 +02:00
2026-08-13-fase4-research-spike.md docs(4·): containeren er bygget — og wheelen er ikke installerbar alene 2026-08-13 21:57:40 +02:00
2026-08-13-presentasjon-ledelse.html docs(deck): tredje deck bærer samme MÅLTE 1b-utfall som de to andre 2026-08-18 09:37:14 +02:00
2026-08-14-fase1b-forste-levende-kjoring.md docs(1b): koordinatene byttet mot plassholdere - vei A, redigert framover 2026-08-18 13:03:11 +02:00
2026-08-18-vurdering-azure-omdoeping.md feat(gate): pakke-gaten leser INNHOLDET, ikke bare filnavn + vurdering av Azure-omdøping 2026-08-18 13:42:02 +02:00
2026-08-25-fable-misjonsreview.md docs: Fable 5 misjons-review — nærmer systemet seg faktisk målet? (ORDRE 20260825T104711Z) 2026-08-25 14:12:23 +02:00
2026-08-25-syretest-vei-ab.md feat(explore): katalogkallet koster O(baser), ikke O(korpus) (ORDRE 20260825T213645Z) 2026-08-26 14:45:16 +02:00
2026-08-26-katalogkostnaden.md feat(explore): katalogkallet koster O(baser), ikke O(korpus) (ORDRE 20260825T213645Z) 2026-08-26 14:45:16 +02:00
2026-08-29-maf-gjelden-omfang.md docs: MAF-gjeldens omfang malt, ikke bygget (F3/F15/F16/U16-17-19, ORDRE 20260825T214801Z) 2026-08-29 09:30:01 +02:00
2026-09-02-f15-maf-pinnen.md docs(f15): nevner-disiplin anvendt paa mitt EGET instrument - 17/16/2, ikke 16/16/2 2026-09-02 19:47:11 +02:00
2026-09-02-misjonsreview-v2.md docs: misjonsreview v2 mot bruksscenarioet — målt, ikke bygget (S2, ORDRE 20260902T113744Z-1245330375) 2026-09-02 17:17:39 +02:00
2026-09-02-read-bundle-kontekstkostnad.md feat(explore): read_bundle costs O(documents), never O(bytes of the base) 2026-09-03 00:36:08 +02:00
bestille-en-kjoring.md feat(provenance): a run records which external service it actually called 2026-08-05 21:37:29 +02:00
ekspert-svar.md feat(hitl): ekspertdommen kan ikke oppstaa av stillhet (F2, ORDRE 20260825T214801Z) 2026-08-27 01:22:07 +02:00
extending.md docs: llms.txt + sikkerhetskontakt til security@ (ORDRE 20260821T041218Z) 2026-08-21 11:29:54 +02:00
knowledge-base-recipe.md docs: kunnskapsbase for ÉN konkret kjøring — kategorier, innholdstyper, veiprosjekt-eksempel (ORDRE 20260821T083046Z) 2026-08-21 11:10:59 +02:00
kort-presentasjon.html docs(deck): begge deck bærer det MÅLTE 1b-utfallet — ærlighet, ikke seier 2026-08-14 20:28:35 +02:00
kunnskapsbase-for-en-kjoring.md feat(visibility): en lenke som ikke ble fulgt sier det - spor + betinget linje (ORDRE 20260821T142704Z) 2026-08-21 17:18:18 +02:00
okf-konsum-kontrakter.md docs(okf): grep-bart anker inn i SPEC-en, ikke et linjenummer 2026-09-02 20:23:43 +02:00
presentasjon-bygge-kunnskapsbase.html feat(visibility): en lenke som ikke ble fulgt sier det - spor + betinget linje (ORDRE 20260821T142704Z) 2026-08-21 17:18:18 +02:00
presentasjon-fagpersonens-bidrag.html docs: fagpersonens bidrag - spørsmål/sjekkliste til fagperson (ORDRE 20260824T092912Z) [skip-docs] 2026-08-24 15:24:51 +02:00
review-2026-07.md docs(review): kryssmodell-review 2026-07 (14 funn, 11 detach-bevis) + revidert roadmap + sesjonsplan Fase 2-6 2026-07-10 06:28:11 +02:00