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:
parent
467b9e3e13
commit
7025759789
1 changed files with 33 additions and 5 deletions
|
|
@ -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).**
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue