1
0
Fork 0

docs(plan): record the revised v1.0 gate and the 0.3.0 cut ahead of Session G

PLAN-v1.md said consumer integration was NOT part of the v1.0 sequence, and
Session G listed A-F as its only dependency -- both of which are now false.
The gate change lived only in STATE.md, which is local-only and overwritten
each session, so the plan was the wrong side of the truth.

Records: 1.0.0 now gates on the first real integration coming back green
(llm-ingestion-okf step 4 against v0.3.0), not on our own suite; the reasoning
(522 self-authored tests prove the code matches the design, not that the
design survives contact -- our first external contact found both a
tag-vs-main divergence and three undocumented behaviour changes); and that
one validated `integrated` outweighs five `planned` declarations, so we do not
wait on repos that may never arrive.

Also fixes Session G's now-stale mechanics: its CHANGELOG entry can no longer
"list A-F" because A/A2/B already shipped under [0.3.0]; the version-sync file
list gains the README status line and install pin; and verification gains an
anonymous clean-venv install check against the new tag, since README must
never advertise a command we have not run.
This commit is contained in:
Kjell Tore Guttormsen 2026-07-25 12:27:01 +02:00
commit 7025759789

View file

@ -12,6 +12,24 @@ delte JSON-lexicon. Node-porten starter FØRST når Python-v1.0-surfacen er fros
scan-ren (Session G). Stream 4 (pre-adaptasjons-scan) og consumer-integrasjon hører
til «Ambisiøse utvidelser» (review Del 1), ikke v1.0-sekvensen.
> **REVIDERT 2026-07-25 — v1.0-gaten er strammet, og en 0.3.0 er skutt inn foran G.**
> Setningen over sier at consumer-integrasjon IKKE er del av v1.0-sekvensen. Den
> gjelder ikke lenger. Operatør-beslutning: **1.0.0 gates på at den første ekte
> integrasjonen kommer grønt tilbake** (`llm-ingestion-okf` steg 4 / deres v0.4.0),
> ikke på vår egen suite. Begrunnelse: 522 egenskrevne tester + en egenskrevet
> coverage-matrise beviser at koden gjør det vi designet, ikke at designet overlever
> kontakt med virkeligheten. Bevisbyrden kom utenfra — okf fant, i sin FØRSTE
> utveksling med oss, at main hadde divergert fra v0.2.0 på `import_bundle`, og at
> CHANGELOG manglet tre atferdsendringer. Koden bestod; utgivelses-hygienen gjorde
> det ikke. v1.0 er primært et governance-løfte under semver, så det løftet avgis
> først etter én validert release-syklus.
>
> **`v0.3.0` er derfor kuttet 2026-07-25** (tag pushet; `467b9e3`). Den bærer
> Session A/A2/B ut til konsumenter som fortsatt pinner `v0.2.0` og dermed ikke har
> noe av hardningen — og den er det som i det hele tatt gjør ekte tilbakemelding
> mulig. Minor og ikke patch fordi A2 (`0772daf`) satte `allow_reserved=True` som
> default og dermed LØSNET en gate. Node-porten (TRACK 2) er fortsatt blokkert bak G.
**Endringer mot låst roadmap (STATE «re-sekvensert 2026-07-06»):** steg 2 «modne
guarden» utvides med review-injiserte fiks-sesjoner (A/B/C/D/E) FØR release (G).
`.pdf` (steg 2i) blir en eksplisitt operatør-beslutning (Session F) med anbefaling
@ -214,16 +232,26 @@ Nøkkelantakelser (+ test) · Verifisering. Testkommando alltid:
- **Mål:** shippe v1.0.0; fryse den offentlige surfacen som porten oversetter.
- **Scope-grense:** ingen ny feature. Kun versjons-bump, CHANGELOG, tag, push.
- **Avhengigheter:** **A, B, C, D, E, F ferdig** (alle review-funn lukket/konsedert).
- **Filer:** `pyproject.toml` (`version = "1.0.0"`, `Development Status :: 5 -
Production/Stable`); `README.md` badge; `__init__.py` `__version__`; `CHANGELOG.md`
(`[1.0.0]`-entry som lister A-F).
- **Avhengigheter:** A, B, C, D, E, F ferdig ✅ (alle review-funn lukket/konsedert per
2026-07-25) **PLUSS den reviderte gaten: første ekte integrasjon grønn** — se
REVIDERT-blokken øverst. Konkret: `llm-ingestion-okf` steg 4 / v0.4.0 kjører grønt
mot `v0.3.0`, OG ingen API-formsendring ut av den integrasjonen som ikke er absorbert.
Ett validert `integrated` teller mer enn fem `planned`-erklæringer; vi venter IKKE på
de øvrige (ms-ai-architect bygde sitt eget, `okr` er operatør-parkert).
- **Filer:** `pyproject.toml` (`version = "1.0.0"`, `Development Status :: 3 → 5 -
Production/Stable`); `README.md` badge + **`**Status:** \`v0.3\`, alpha`-linjen** +
**install-pinnen `@v0.3.0`**; `__init__.py` `__version__`; `CHANGELOG.md`.
**NB — entryen kan ikke lenger «liste A-F»:** A/A2/B ligger allerede ute under
`[0.3.0]`. `[1.0.0]` skal referere `[0.3.0]` for atferdsendringene og selv bære
frysepunktet (API-stabilitet + det integrasjonen beviste), ikke gjenta dem.
- **TDD-plan:** ingen ny test; hele suiten grønn er release-gaten.
- **Nøkkelantakelser (+ test):** *«alle versjonsreferanser er synkrone.»* Test:
grep alle fire filer for versjonsstreng, bekreft `1.0.0` overalt.
- **Verifisering:**
- `PYTHONPATH=src .venv/bin/pytest` → alle grønne.
- `grep -rn "1\.0\.0" pyproject.toml README.md src/llm_ingestion_guard/__init__.py CHANGELOG.md` → treffer i alle fire; `grep -rn "0\.2\.0" …` → ingen dangling ref.
- `grep -rn "1\.0\.0" pyproject.toml README.md src/llm_ingestion_guard/__init__.py CHANGELOG.md` → treffer i alle fire; `grep -rn "0\.3\.0" …` → ingen dangling ref utenfor CHANGELOG-historikken.
- Install-pinnen i README må verifiseres mot den NYE taggen i en ren venv (anonym
`pip install …@v1.0.0`) — README skal aldri avertere en kommando vi ikke har kjørt.
- `git tag v1.0.0` + push til `open/` (durabelt autorisert). **STATE.md røres ikke
av tag (local-only).**