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
|
|
@ -175,7 +175,8 @@ def scripted_proposer(
|
|||
|
||||
**Why the project id and not the cost code or the measure name** (measured, not assumed — the
|
||||
demo-week plan §6 flagged this as unverified): two prompt shapes reach this selector. The debate
|
||||
prompt (``run.py``) carries the whole bundle context; the generation prompt
|
||||
prompt (``run.py``) carries the task line plus a POINTER to the knowledge base — since S2c it no
|
||||
longer carries the base itself, which only sharpens the argument; the generation prompt
|
||||
(``generate._build_messages``) carries ``Project: {id} - {name}`` plus, as its context, the
|
||||
*debate output* — which is this selector's own earlier reply. So the cost code and measure name
|
||||
are present in the generation prompt only because the script put them there; keying on them
|
||||
|
|
@ -186,8 +187,8 @@ def scripted_proposer(
|
|||
|
||||
Anything other than exactly one match raises ``ScriptedCandidateError``. Validation, never
|
||||
repair: a default reply would let an unregistered project be answered with another project's
|
||||
numbers, which on screen is indistinguishable from a correct run. An ambiguous blob (a bundle
|
||||
context that names a sibling project) is a DATA problem, and it must surface at the rehearsal
|
||||
numbers, which on screen is indistinguishable from a correct run. An ambiguous blob (a tool
|
||||
result that names a sibling project) is a DATA problem, and it must surface at the rehearsal
|
||||
rather than be silently decided by registry order.
|
||||
"""
|
||||
|
||||
|
|
@ -806,9 +807,12 @@ async def simulate_exploration(
|
|||
shutil.copytree(bundle_dir, copy)
|
||||
copy_s = str(copy)
|
||||
|
||||
# The vacuity guard. A label the base already states would reach the hypothesis prompt as
|
||||
# navigated context whether or not the exploration ran, so the scenario's own assertion would
|
||||
# hold against an implementation that never wired the mandate at all.
|
||||
# The vacuity guard. A label the base already states is a label the walkthrough cannot
|
||||
# attribute to the exploration: since S2c the debate reads the base through its own tools, so
|
||||
# such a label could reach the hypothesis prompt as an ordinary tool result whether or not the
|
||||
# exploration ran, and the scenario's assertion would hold against an implementation that never
|
||||
# wired the mandate at all. ``bundle_context`` is used here as "everything the base states",
|
||||
# which is what it still renders — not as a claim about what any prompt carries.
|
||||
context = okf.bundle_context(okf.navigate_bundle(copy_s))
|
||||
if label in context:
|
||||
raise ValueError(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue