docs(plan): SS11 ankrer ikke SS8 — funnet var reelt, men ikke raden som ble bestilt
portfolio-optimiser ba om en SS11-rad for den portefoelje-brede budsjettsoemmen. Avvist paa akse: SS1 definerer metoden som «one project at a time», saa globalt tak + wave-admission er orkestrering OVER metoden. En MUST-rad ville gjort korrekt ett-prosjekt-implementasjon ikke-konform. Undersoekelsen fant et annet hull, og det er vaart: SS11 har 12 rader og ingen ankrer SS8 (fail-closed usage, strukturert stop-event, cap-nekt) eller SS10, mens SS1.3 sier «every load-bearing seam». Maalt, ikke antatt — det ene grep- treffet er substring-falsk-positiv («escaping»). Funn-notat, ikke underlag. Ingen rad skrevet, method-spec.md uroert, koeplassering operatoerens. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qi5NoeXZmktJgmkD6bf89b
This commit is contained in:
parent
3174475ac4
commit
d6bced7d20
1 changed files with 83 additions and 0 deletions
83
docs/plan/2026-08-02-ss11-mangler-rad-for-ss8.md
Normal file
83
docs/plan/2026-08-02-ss11-mangler-rad-for-ss8.md
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
# Funn-notat — §11 ankrer ikke §8 (og heller ikke §10)
|
||||
|
||||
**Status:** FUNN, registrert. **Ikke et underlag, ikke et forslag, ikke bestilt.**
|
||||
Køplassering er operatørens. Commons forbereder underlaget, operatøren ratifiserer — og vi
|
||||
bestiller ikke vår egen kø, heller ikke for funn vi selv gjør.
|
||||
|
||||
**Foranledning:** `portfolio-optimiser` meldte 2026-08-01 (`20260801T175832Z`) at `method-spec.md`
|
||||
§11 mangler en rad for deres portefølje-brede budsjettsøm (S3.4/F10: globalt token-tak håndhevet
|
||||
før kall, wave-admission med reservasjon, oppstartsnekt). Undersøkelsen av den forespørselen ga
|
||||
to atskilte resultater, og bare det ene er vårt.
|
||||
|
||||
---
|
||||
|
||||
## 1. Forespørselen: avvist på akse
|
||||
|
||||
§1 (Scope and conformance) definerer metoden ordrett som «a swarm of agents generates candidate
|
||||
cost-saving measures for **one project at a time**». §8 (Budget and stop criteria) er følgelig
|
||||
den **per-run** termineringskontrakten.
|
||||
|
||||
Globalt tak på tvers av prosjekter, wave-admission med reservasjon og oppstartsnekt for et
|
||||
prosjekt som ikke kan finansieres er **orkestrering over metoden**, ikke en søm i den. Deres
|
||||
S3.4/F10 er riktig plassert hos dem, og at de bærer den som
|
||||
`tests/test_portfolio_budget_loadbearing.py` (6 målte røde mutasjoner) er sømmen dokumentert der
|
||||
den hører hjemme.
|
||||
|
||||
Konsekvensen av å legge raden inn likevel er konkret og var avgjørende: §11 er en MUST-tabell.
|
||||
En konformant implementasjon som kjører ett prosjekt uten portefølje-orkestrering ville blitt
|
||||
**ikke-konform på en søm spec-ens egen scope-klausul ikke governerer**.
|
||||
|
||||
Svar sendt `20260802T190344Z`.
|
||||
|
||||
## 2. Det undersøkelsen faktisk fant, og det er vårt
|
||||
|
||||
§11 har **tolv rader**. Ingen av dem ankrer **§8**:
|
||||
|
||||
- fail-closed når `usage` mangler i et svar (MÅ feile, aldri stille slutte å telle),
|
||||
- det strukturerte stop-eventet med breached kind + limit + observed value,
|
||||
- cap-objektenes nekt av ikke-positive verdier.
|
||||
|
||||
**§10** (Startup contracts) har heller ingen rad.
|
||||
|
||||
Samtidig sier §1 punkt 3 ordrett:
|
||||
|
||||
> proves **every** load-bearing seam with a test that FAILS when that seam is detached (§11).
|
||||
|
||||
Enten er §11-tabellen enumereringen av «every» — og da mangler §8 og §10 — eller så er den det
|
||||
ikke, og da har «every» ingen enumerering i spec-en. **Spenningen er intern i vår egen frosne
|
||||
tekst.** Den er vår å løse, ikke konsumentens.
|
||||
|
||||
## 3. Verifisering (målt, ikke antatt)
|
||||
|
||||
```
|
||||
$ sed -n '421,435p' method-spec.md | grep -ciE 'budget|token|meter|usage|cap|startup|max_rounds'
|
||||
1
|
||||
```
|
||||
|
||||
Det ene treffet er en **substring-falsk-positiv**: «es**cap**ing» i navigasjons-raden. Reelt
|
||||
antall §11-rader som nevner budsjett, måler eller oppstart er **null**.
|
||||
|
||||
```
|
||||
$ sed -n '423,434p' method-spec.md | grep -c '^|'
|
||||
12
|
||||
$ sed -n '24p' method-spec.md
|
||||
3. proves every load-bearing seam with a test that FAILS when that seam is detached (§11).
|
||||
```
|
||||
|
||||
## 4. Åpent spørsmål stilt til `portfolio-optimiser`
|
||||
|
||||
Av de 6 målte røde mutasjonene i `test_portfolio_budget_loadbearing.py` — hvor mange treffer
|
||||
**per-run-målerens** søm (usage mangler → feil; cap krysses → strukturert stop), og hvor mange
|
||||
treffer portefølje-admissionen? Den første halvdelen er in-scope for §8 og kunne vært
|
||||
referansetest-kolonnen i en rad vi faktisk kan skrive. Den andre halvdelen forblir deres.
|
||||
|
||||
Ubesvart per 2026-08-02. Ingen purring — de sa selv at det ikke blokkerer noe hos dem.
|
||||
|
||||
## 5. Hva som IKKE er gjort her
|
||||
|
||||
- Ingen rad er skrevet.
|
||||
- Ingen ordlyd er foreslått.
|
||||
- `method-spec.md` er ikke rørt.
|
||||
|
||||
En §8-rad ville vært en endring i frossen, subtree-konsumert tekst og krever operatørens
|
||||
ratifisering på lik linje med V1.
|
||||
Loading…
Add table
Add a link
Reference in a new issue