docs(3): to nye invarianter — flatens egne påstander, og GOVERNANCE som lenke

Fører fase 3s sømmer inn i invariant-registeret, etter repoets egen konvensjon om
at hver load-bearing søm har en blokk som sier hva den er, hvorfor formen ble
valgt, og hvilke mutasjoner som ble målt.

1. Påstander flaten gjør om SEG SELV gates som rå tekst, LINJEFORANKRET. To
   påstander bodde i prosa der ingen test kunne se dem. Gaten leser klassene
   backends.py konstruerer fra selve tilordningslinja, ikke fra modulen — fordi
   kommentarene NAVNGIR DefaultAzureCredential fire ganger for å begrunne
   fraværet, og en fil-bred substring-gate ville vært rød på nøyaktig den prosaen
   den beskytter. Hver positiv assert er paret med en kontroll på at det søkes
   etter noe som finnes. Blokka bærer også hvorfor repo-standard-gaten IKKE kan
   verifisere denne fasen: den var OK/20 sjekker før arbeidet startet, og
   RELEASE-STALE er strukturelt blind for repo med null utgivelser.

2. GOVERNANCE er en LENKE, aldri en kopi (org-ops D11). Skrevet ned fordi planen
   sa det motsatte, og fordi den neste som leser «GOVERNANCE.md mangler» i en
   gate-rapport skal finne begrunnelsen her i stedet for å skrive kopi nr. 12.

Ingen kodeendring; STATE.md (local-only) bærer øktas fulle logg.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011ckyg3Pc6k7FRuR6fDGQLJ
This commit is contained in:
Kjell Tore Guttormsen 2026-08-14 07:14:19 +02:00
commit 9148df0113

View file

@ -223,6 +223,27 @@ Python ≥3.10. MAF (`agent-framework-core` 1.9.0). Pakkehåndtering: `uv`. To b
mutasjoner alle røde på riktig test og på INGEN annen (836 øvrige grønne hver gang): send
`project_id` to ganger · whitelist et felt `run_project` ikke tar · fjern `bundle_dir` fra
whitelisten · fjern `--platform linux/amd64` · gi `azure.yaml` en `startupCommand`-nøkkel.
- **Påstander flaten gjør om SEG SELV gates som rå tekst, linjeforankret (Fase 3, A5):** to påstander
bodde i prosa der ingen test kunne se dem, og begge drev. (1) `env.template` sa at credential
resolves via `DefaultAzureCredential` — den har ALDRI gjort det; gaten leser de klassene
`backends.py` faktisk konstruerer **fra selve tilordningslinja**, ikke fra modulen, fordi
kommentarene NAVNGIR `DefaultAzureCredential` fire ganger for å begrunne hvorfor den ikke brukes —
en fil-bred substring-gate ville vært rød på nøyaktig den prosaen den beskytter (repoets
08-09-klasse, fjerde gang). (2) README-ens wheel-filnavn bærer versjonen bygget stempler på fila,
så en versjonsbump ville stille etterlatt en publisert install-kommando som peker på en fil som
ikke finnes. **Hver positiv assert er paret med en KONTROLL** på at det søkes etter noe som finnes
— en ekstraktor som stille finner null lager en gate som bare kan bli grønn. Load-bearing MÅLT
(`tests/test_public_surface_claims_loadbearing.py`) mot HELE suiten, begge røde på riktig test og
på INGEN annen: gjeninnfør credential-påstanden (2 røde, 844 grønne) · la wheel-filnavnet drifte
(1 rød, 845 grønne). Bumpen selv var den tredje målingen — `pyproject` 1.0.0 → 1.1.0 gjorde
README-gaten rød alene, FØR README ble rettet. **`repo-standard`-gaten kan IKKE verifisere denne
fasen:** den var OK/20 sjekker før arbeidet startet, og `RELEASE-STALE` er strukturelt blind for
repo med null utgivelser (org-ops hovedbok #18). Bevisene er Forgejo-APIet, filinnholdet og
ren-klon-kjøringen.
- **GOVERNANCE er en LENKE, aldri en kopi (org-ops D11):** én kanonisk `GOVERNANCE.md` bor i
`repo-standard` og hvert repo lenker den fra README. Å skrive vår egen ville gjort oss til kopi
nr. 12 av en fil D11-bølgen holder på å rydde vekk. Bus-faktor 1 står uttalt i den kanoniske
teksten, ikke i vår.
- **Stoppkriterier + budsjett-tak påkrevd ved oppstart** (fail-fast, aldri ubegrenset loop).
- **Group Chat maker-checker** som debatt-default (IKKE Magentic, som er eksperimentell).
- **To falsifiserere, samme kandidat (Steg 3/4, målbilde §2/§6):** den deterministiske validatoren