feat(s2c): debatten navigerer basen i stedet for aa faa den utlevert [skip-docs]
MAJOR-3/S7a-3 gjorde utforskningen billig og lot pipelinen staa. Maalt paa K2
(630 konsepter, S7bs eget instrument, kjent-positiv-kontrollen reprodusert
eksakt FOER bruk): okf.bundle_context er 648 962 o200k-tokens og rir i TRE
kopier = 1 947 342 = 99,1 % av en kjoerings prompt-tokens.
Et premiss i maaledokumentet ble presisert foerst: de tre kopiene er tre
DEBATT-turer (proposer x2, checker x1), mens genererings-prompten er 156
tokens, fordi gen_context = debate_output or context. Det avgjorde formen -
generering trengte ingen egen soem, for aa binde `context` binder
siste-utvei-fallbacken ved konstruksjon.
run_project sender naa en PEKER (fast tekst + erklaert bundle_id + antall
konseptdokumenter i scope + stigen, O(1) i korpuset) og gir debatten de SAMME
fire verktoeyene utforskningen bruker - explore.navigator_tools gjenbrukt,
aldri en andre kopi av policyen.
Etter: 753 tokens like-for-like (samme manus, samme fire prompter, -99,96 %)
og 8 942 med en debatt som faktisk gaar stigen (-99,5 %), mot operatoerens
terskel 195 000 = 4,6 % av taket. Validert besparelse og validatorens dom er
UENDRET (850 000 NOK av 3 852 500, 2 av 5 felt paa stage 4 og 5, samme
dom-noekkel), og utforskningens 18 355 er uendret til tokenet.
§4.1a maatte flytte, ikke forsvinne: dimensjonsfilteret bodde i renderingen og
bor naa i VERKTOEYENE, paa begge trinn - en listing som skjuler et fremmed
dokument mens read_file serverer det paa sti er et filter i navnet alene.
okf.in_dimension er eneste predikat.
Sporet er kaller-eid (ExplorationToolRecorder -> RunResult.debate_tool_calls ->
{run_id}-debate.json fra en finally) og skrives ogsaa TOMT: en debatt som
navigerer ingenting ER S2c-regresjonen, saa den maa kunne leses.
Load-bearing MAALT: aatte mutasjoner roede mot HELE suiten, groenn kontroll
1306/5 (fra 1295/5), golden demo-transcript.stdout BYTE-UENDRET
(shasum -a 1 av innholdet = ea8c534773acdbe41ae68f2c55724d69aaf8be4f).
M7 falsifiserte seg selv, ikke gaten - staar som maalt.
Maaling: docs/2026-09-04-s2c-debatt-k2.md
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
5d8844fef5
commit
da5f10f140
13 changed files with 1044 additions and 98 deletions
|
|
@ -189,6 +189,36 @@ def write_exploration(
|
|||
return path
|
||||
|
||||
|
||||
def write_debate_tools(
|
||||
outbox_dir: str,
|
||||
run_id: str,
|
||||
*,
|
||||
tool_calls: Sequence[Mapping[str, Any]],
|
||||
) -> Path:
|
||||
"""Write ``{run_id}-debate.json`` — WHICH documents the debate opened, in call order (S2c).
|
||||
|
||||
The sibling of ``write_exploration`` one phase over. Since S2c the debate navigates the
|
||||
knowledge base instead of being handed it whole, so "what did this run actually read" is a
|
||||
question about the debate too, and over a 630-concept corpus it is not answerable from a
|
||||
prompt log: the whole point is that the prompts no longer carry the base.
|
||||
|
||||
Written on EVERY run that has an outbox, including one whose agents opened nothing — unlike
|
||||
``write_parse_failures``, whose presence IS its signal. Here the empty case is the S2c
|
||||
regression itself (a debate that navigates nothing looks exactly like a cheap one), so it must
|
||||
be readable off the artefact rather than inferred from a file that is not there.
|
||||
|
||||
Takes already-rendered plain mappings (``explore.tool_call_payload``) so the RAW output layer
|
||||
stays MAF-free — ``write_exploration``'s own rule, same reason."""
|
||||
directory = Path(outbox_dir)
|
||||
directory.mkdir(parents=True, exist_ok=True)
|
||||
path = directory / f"{run_id}-debate.json"
|
||||
path.write_text(
|
||||
_dump({"run_id": run_id, "tool_calls": [dict(call) for call in tool_calls]}),
|
||||
encoding="utf-8",
|
||||
)
|
||||
return path
|
||||
|
||||
|
||||
def write_plan_review(
|
||||
outbox_dir: str,
|
||||
run_id: str,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue