docs(invarianter): the second repair's row -- what binds a probe to a step, and what the row's limit actually was [skip-docs]
Row updated, not appended to: the B-gate invariant now carries both repairs of 19.09 and the numbers that moved in each. Two precision errors the checkpoint named are corrected in place -- "no row became greener" is true of colour and not of numbers (row 5 went 1 of 2 -> 4 of 5 when the unit was split), and ENTRY_KINDS has three arts, not four. What the new paragraph records: the probe binding and the two traps measured while building it (substring, and a local module alias), the price in row 1 (3 of 17 -> 0 of 17, each of the three named with its reason), the limit statement that claimed two remaining ways where six were measured -- four closed, three named and left open with their reason -- the held_out door out of the denominator, the five small holes closed and the two limits stated rather than closed, and the thirteenth mutant: it survived twice, and the first arm written to fell it proved something already true. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
6a8106a897
commit
a37e429a29
1 changed files with 53 additions and 4 deletions
|
|
@ -3329,7 +3329,7 @@
|
|||
kjøreboka faktisk drev en analyse — en fil gaten ALDRI skriver selv, samme regel som
|
||||
`attestering.txt` på v1-gaten. **Påstanden om at gaten teller en MCP-registrert dør er STRØKET:**
|
||||
den beskrev kode som ikke fantes.
|
||||
**Load-bearing:** `tests/test_b_gate.py` (65 armer, hver nevner talt uavhengig i testen).
|
||||
**Load-bearing:** `tests/test_b_gate.py` (86 armer, hver nevner talt uavhengig i testen).
|
||||
**12 av 12 mutanter felt i scratch-klone** (kontroll 65 av 65): nevneren krymper stille (3 armer)
|
||||
· udeklarert kall teller ikke (2) · stub teller som dør (5) · ukjent inngangsart godtas (1) ·
|
||||
navn teller som atferd (3) · tom flate blir grønn (1) · flaten snevres inn til en håndliste (6) ·
|
||||
|
|
@ -3338,6 +3338,55 @@
|
|||
egne. **v1-gatens tall er uendret** (0/3 · 0/3 · 3/8 · ingen rapport · 3/8 · IKKE MÅLT · 1/20,
|
||||
målt etter). **Grensen, uttalt:** gaten beviser ikke at verktøykassen VIRKER — den sier hvor
|
||||
langt unna den er. Rad 2, 4 og 5b er navngitte prober som ikke finnes ennå, og en test som ikke
|
||||
finnes er RØD, aldri hoppet over. Rad 3 er en TEKSTVAKT, ikke en dataflyt-analyse: et
|
||||
kommandonavn satt sammen av deler ved kjøretid og et navn lest ut av en miljøvariabel står
|
||||
igjen, og raden sier det selv i stedet for å la GRØNN bety mer enn den bærer.
|
||||
finnes er RØD, aldri hoppet over. Rad 3 er en TEKSTVAKT, ikke en dataflyt-analyse: tre veier
|
||||
står igjen (se under), og raden sier det selv i stedet for å la GRØNN bety mer enn den bærer.
|
||||
|
||||
**ANDRE REPARASJON samme kveld (19.09, ordre `20260919T184337Z-3169111514`), etter at PM MÅLTE
|
||||
at kontrakten var oppfyllbar UTEN kapabilitet:** rad 1 kunne tas fra `3 av 17` til
|
||||
**`17 av 17` GRØNN med fjorten stubb-dører i én modul og ÉN urelatert bestått test** brukt som
|
||||
«atferdsprobe» for alle sammen. Gaten slo bare opp om probens nodeid var `passed`;
|
||||
`EXTERNAL_DOOR` lovet at proben «kaller døren og leser artefaktet den skriver», og det fantes
|
||||
ingen kode — samme klasse som `entry["kind"]` runden før. **Proben er nå BUNDET til steget, og
|
||||
bindingen er en MÅLING i probens egen kilde** (`probe_binds`), aldri en erklæring i kontrakten:
|
||||
fire krav, hvert med sin arm og sin mutant — proben må RØRE DØREN (dørens dotted modulnavn eller
|
||||
dens registrerte kommandonavn, brukt som en hel streng), NAVNGI STEGET (symbolet, id-en eller
|
||||
underkommandoen, som et helt ORD i det proben sender inn i et kall eller kaller), ASSERTERE i
|
||||
det hele tatt, og ikke være DELT — en probe to steg gjør krav på beviser høyst ett av dem, og
|
||||
gaten vet ikke hvilket. **Valgt å lese probens kilde framfor å kreve at den ligger i en
|
||||
kontrakt-navngitt probe-fil, fordi et filnavn er en konvensjon en stub oppfyller like lett som
|
||||
en ekte probe.** To feller ble målt fram underveis og er lukket: en DELSTRENG-regel ville latt
|
||||
«gate» være navngitt av `portfolio_optimiser.evals.v1_gate`, og første utgave godtok steget
|
||||
`gate` fordi probefila importerer modulen SOM `gate` — bindingen var til et lokalt alias. Navn
|
||||
leses derfor bare der de SENDES eller KALLES; dørens navn leses videre (den ekte formen bygger
|
||||
argv i en variabel først), men aldri fra en streng som står alene. **Prisen, målt mot kontrakten
|
||||
som sto: rad 1 gikk `3 av 17` → `0 av 17`** — `rundebinding` og `gate` driver riktig dør uten å
|
||||
navngi hvilket steg de beviser, `rapport` går ikke gjennom døren i det hele tatt (den kaller
|
||||
`build_round` i prosess). Ingen av de tre var en kodefeil; det var kontrakten som godtok dem.
|
||||
**Radens egen grenseerklæring var USANN:** den oppga NØYAKTIG TO gjenstående veier til Claude;
|
||||
PM plantet 21 kallformer og målte at SEKS sto åpne. Fire er lukket med hver sin vakt —
|
||||
`sdk-anthropic` (den offisielle Python-SDK-en, begge skriveformer), `node-runner` (node- og
|
||||
uv-kjørerne, både som shell-linje og som argv-liste) og `dynamisk-import` — og rad 3 gikk
|
||||
`9 av 9` → `12 av 12`, fortsatt GRØNN med 0 treff over 512 filer. **TRE veier står igjen og er
|
||||
navngitt i attesteringen:** et navn satt sammen ved kjøretid, et navn lest ut av en
|
||||
miljøvariabel, og et navn som avkodes først (base64). Den siste står bevisst åpen: kodingene er
|
||||
ikke oppregnelige, og kontrakten lagrer selv base64 med vilje. Den nye vakten fant umiddelbart
|
||||
en kommando skrevet i DENNE rundens egen test-docstring; den ble skrevet om, ikke unntatt.
|
||||
**`held_out` er ikke lenger en dør ut av nevneren:** en TOM grunn er ingen grunn — symbolet blir
|
||||
stående i nevneren som et kall uten dør, og sammendraget teller GRUNNER, ikke oppføringer (det
|
||||
sa «holdt utenfor med grunn» uansett før). De fire stegene som er erklært UTENFOR kjørestien har
|
||||
ingen utledet nevner i det hele tatt, og står nå navngitt under raden, ett for ett, i stedet for
|
||||
å telles stille. **Fem små hull lukket:** et BESKÅRET manifest (451 av 512 filer ga fortsatt
|
||||
GRØNN) er nå `IKKE MÅLT` — kontrakten planter én sentinel per område den gamle håndlista utelot
|
||||
(`main.py`, `examples/`, `spikes/`, `contexts/`, `src/`) · en fil som ikke lar seg avkode som
|
||||
UTF-8 leses som byte-tekst i stedet for å telles og hoppes over · en symlenke UT av treet
|
||||
navngis og feller raden · en kjørebok hvis hele innhold er «x» er ikke lenger `2 av 2 GRØNN` —
|
||||
kontrakten navngir seksjonene · og raden sier selv at k av n **ikke er et dekningsmål**.
|
||||
**To grenser er UTTALT, ikke lukket, hver med sin grunn i radens egen attestering:** et po-kall
|
||||
flyttet én etasje ned, til en hjelper `run_project` kaller, faller ut av nevneren (å følge
|
||||
hjelpere transitivt ville trukket private hjelpere inn og gjort nevneren til den kuraterte lista
|
||||
raden finnes for å unngå), og rad 3s k/n kan fortsatt polstres med en vakt uten en målt omgåelse
|
||||
bak seg. **13 av 13 mutanter felt i scratch-klone** (kontroll 86 av 86, isolasjonen verifisert på
|
||||
`b_gate.__file__` FØR første tall). **Den trettende overlevde TO ganger og er rundens funn:**
|
||||
leses hele probens kropp, teller en streng som STÅR ALENE som å røre døren — og første forsøk på
|
||||
å felle den plantet navnet i en SETNING, som gaten uansett aldri ville godtatt, så armen
|
||||
bekreftet noe som allerede var sant. Nålen måtte være dørens navn BART.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue