docs(plan): six objections to the week plan, as a prompt the next session must measure before acting
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M1rEDj3QLNasKSceWFyE6k
This commit is contained in:
parent
f49a4d263b
commit
bb3df79204
1 changed files with 146 additions and 0 deletions
146
docs/plan/2026-08-07-planrevisjon-prompt.md
Normal file
146
docs/plan/2026-08-07-planrevisjon-prompt.md
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
# Prompt: planrevisjon før Go — vurder seks innsigelser, endre planen
|
||||
|
||||
> **Til:** en fersk sesjon på **Fable 5 / xhigh**, i `portfolio-optimiser`.
|
||||
> **Fra:** Opus-5-sesjon 2026-08-07, som gjennomgikk planen på operatørens spørsmål
|
||||
> «er planen god nok til å bli gjennomført med høy kvalitet til torsdag?».
|
||||
> **Lim inn alt under streken som første melding.**
|
||||
|
||||
---
|
||||
|
||||
Du skal **vurdere seks innsigelser mot ukeplanen, avgjøre hver enkelt, og endre planen deretter.**
|
||||
Du bygger ingen produksjonskode i denne økten. Produktet er dømmekraft + redigerte plandokumenter.
|
||||
|
||||
## Rammer som ikke er dine å endre
|
||||
|
||||
- **Frist: live demo av alle åtte steg torsdag 13. august. Frys onsdag 12.** Fristen flyttes ikke.
|
||||
- **O1–O4 og A/B/C står** (`docs/plan/2026-08-06-demo-uke-plan.md` §0). Du gjenåpner dem ikke.
|
||||
- **Aldri arbeid i et annet repo.** commons er pull-only; `coord-send` er mekanismen.
|
||||
- **`docs/presentasjon-portfolio-optimiser.html` eies av en annen sesjon.** Rør den aldri,
|
||||
`git add -A` aldri.
|
||||
- **Scope-vakt:** du foreslår planendringer og skriver dem inn i plandokumentene. Du starter ikke
|
||||
implementeringen av dem.
|
||||
|
||||
## Denne økten kjører uten advisor — derfor denne regelen
|
||||
|
||||
En Fable-økt kan ikke bruke advisor. Kompenser i arbeidet: **hvert tall og hvert faktapremiss du
|
||||
bruker skal produseres av en kommando du faktisk kjører i denne økten.** Skriv kommandoen og
|
||||
resultatet inn i planen ved siden av påstanden. Du får en liste med belegg under — den er *påstander
|
||||
fra en annen sesjon*, altså premisser, ikke fakta. **Verifiser hver enkelt selv før du handler på
|
||||
den.** Én av innsigelsene under er nettopp at planen bygger på en for smalt målt kommando; ikke gjenta
|
||||
den feilen i din egen revisjon.
|
||||
|
||||
## Les først (primærkilder, i denne rekkefølgen)
|
||||
|
||||
1. `STATE.md` — «👉 NESTE»-blokka er sannheten om hvor vi står
|
||||
2. `docs/plan/2026-08-09-egnethetsreview-plan.md` — **hoveddokumentet du skal endre** (§0 to spor,
|
||||
§1 funn, §2 P1–P4, §4 belegg, §5 kalender)
|
||||
3. `docs/plan/2026-08-06-demo-uke-plan.md` — eier kjørestien + de åtte verifiseringskriteriene (§5)
|
||||
4. `docs/plan/2026-08-09-innholdsgate-og-aerlighet.md` — Spor B / P2
|
||||
|
||||
## Kontekst: hva som ER bra i planen (ikke riv det ned)
|
||||
|
||||
Målt i dag (2026-08-07): `uv run pytest -q` → **766 passed / 4 skipped på 110 s**. Grunnpremisset
|
||||
«v1 = den målte kjernen» holder. Planen har konkrete verifiseringskriterier framfor «sjekk at det
|
||||
virker», en nedgraderingskolonne per post, en beleggstabell, to-spors-delingen, og front-lasting av
|
||||
alt som ikke krever nytt innhold. Innsigelsene under er justeringer av rekkefølge og ett målefeil-
|
||||
funn — ikke en underkjenning av planen.
|
||||
|
||||
---
|
||||
|
||||
## Innsigelse 1 (viktigst) — Funn 1 er målt for smalt, og én følgesetning er feil
|
||||
|
||||
**Planens påstand.** §1 Funn 1 + §4 rad 3: «ingen bundle i repoet har `cost-baseline.json`», målt
|
||||
med `ls shared/examples/bygg-energi-mikro/`. Og §1 linje 78: «reserven (mikro-eksemplet) **kan aldri
|
||||
få fila**», som er grunnen til at NO-GO-tilfellet trenger sin egen ærlige setning.
|
||||
|
||||
**Belegg som motsier den (verifiser selv):**
|
||||
|
||||
| Kommando | Resultat |
|
||||
|---|---|
|
||||
| `find . -name 'cost-baseline.json' -not -path './.git/*'` | `src/portfolio_optimiser/data/bundles/bygg-energi-baseline-mikro/cost-baseline.json` |
|
||||
| `cat` på den fila | gyldig S4.0-format: `project_id` + `items{code:{quantity,unit_cost}}` |
|
||||
| `grep -n BASELINE_BUNDLE tests/test_s40_cost_baseline_loadbearing.py` | `:42` — fixturen er alt i bruk, seks mutasjoner målt røde |
|
||||
| `sed -n '505,525p' src/portfolio_optimiser/run.py` | `:516` `baseline = okf.load_optional_cost_baseline(bundle_dir)` — bundle-stien er wiret |
|
||||
| `grep -n 'bundle_dir\|copytree' src/portfolio_optimiser/simulation.py` | `:280` argument, `:316` `shutil.copytree`, `:492` default — bundelen er en parameter, og den kopieres før kjøring |
|
||||
|
||||
**Innsigelsen.** Beleggskommandoen så på ÉN katalog under `shared/examples/`. Repoet shipper en
|
||||
fungerende, format-definerende kostbaseline-bundle, og kjørestien leser den. Den ekte hindringen er
|
||||
ikke at fila er umulig å skaffe — det er at `shared/` er **pull-only subtree** og at kriterium 8
|
||||
krever goldenene byte-uendret. Det er en *plasserings*-begrensning, ikke en umulighet: en repo-lokal
|
||||
demo-bundle, eller et kopier-og-utvid-steg før kjøring, gir en forankret kjøring uten å røre commons.
|
||||
|
||||
**Hvorfor det betyr noe for uka.** Slik planen står, møter S4.0-forankringen ekte innhold for
|
||||
**første gang tirsdag 11.** — to dager før demo, én dag før frys — og planen sier selv at et avvik
|
||||
over 5 % da feller BÅDE det overdrevne og det korrigerte forslaget på scenen. Ukas største enkeltrisiko
|
||||
er plassert sist. Den kan flyttes til helgen for lav kostnad.
|
||||
|
||||
**Foreslått endring (din avgjørelse).** Nytt punkt i P4-forskuddet (helg): kjør hele demoløpet mot en
|
||||
lokalt forankret bundle, inkludert 10 %-avviks-prøven som i dag ligger i P3. Da blir tirsdag en
|
||||
*re-måling mot nytt innhold* i stedet for en førstegangskjøring. Korriger samtidig §1 Funn 1, §1 linje
|
||||
78 og §4 rad 3 til det som faktisk er målt.
|
||||
|
||||
**Vurder mot:** koster dette en ekstra økt vi ikke har? Kolliderer en repo-lokal demo-bundle med
|
||||
`_default_bundle_dir()`-sømmen (`simulation.py:48-51`, `PORTFOLIO_SHARED_ROOT`) eller med kriterium 6
|
||||
(byte-identisk stdout)? Er en syntetisk forankring godt nok bevis, eller flytter den bare
|
||||
usikkerheten? Avvis innsigelsen hvis svaret er nei — men avvis den med en kommando.
|
||||
|
||||
## Innsigelse 2 — Rekkefølgedefekt: stderr-demping vs. stderr-pinning
|
||||
|
||||
P4 pkt. 2 pinner de fire kjente stderr-linjene som fasit i **helgen**. §0 Spor 2 lister demping av de
|
||||
samme fire linjene som «valgfritt før frys» — altså **onsdag**. Demping etter pinning ugyldiggjør
|
||||
pinnet på frysedagen. **Foreslått endring:** ta demping-beslutningen i helgen, før pinningen, og skriv
|
||||
den inn som en beslutning (ja/nei), ikke som et valgfritt tillegg sent i uka.
|
||||
|
||||
## Innsigelse 3 — `[project.scripts]` ligger på frysedagen, men endrer install-flaten
|
||||
|
||||
§0 S1.c legger `[project.scripts]` inn onsdag kveld, etter at P4 pkt. 1 (fresh-clone-kriteriet) er
|
||||
målt. `grep -n scripts pyproject.toml` → 0 treff i dag. En ny entry point endrer det `uv sync` /
|
||||
install produserer, så «last ned → kjør»-beviset må strengt tatt måles på nytt etter frysen — som er
|
||||
selvmotsigende. **Foreslått endring:** flytt `[project.scripts]` til P4-forskuddet i helgen, slik at
|
||||
onsdag kun er versjonssynk (fire steder) + CHANGELOG + tag.
|
||||
|
||||
## Innsigelse 4 — Tirsdagens subtree-pull mangler avbruddssti
|
||||
|
||||
Kriterium 8 sjekker at goldenene er uendret etter pull, men ingen sted står det hva som skjer hvis
|
||||
pullen gjør suiten rød dagen før frys. **Foreslått endring:** skriv inn pre-pull-hash-notering, en
|
||||
eksplisitt revert-regel, og et klokkeslett på tirsdag der NO-GO utløses uten videre diskusjon.
|
||||
|
||||
## Innsigelse 5 — Ingen demo-runbook er allokert
|
||||
|
||||
Det som skal SIES torsdag ligger spredt over fire steder: demo-uke-plan §1 (tre ærlighets-punkter),
|
||||
innholdsgate-plan §5, P4 pkt. 4 (to ferdigskrevne setninger), og §0 Spor 2 (muntlig mandat-setning).
|
||||
Ingen post i planen produserer ÉN side operatøren kan følge på scenen — kjøresekvens, hva som sies
|
||||
hvor, og hva som gjøres hvis kjøringen feiler live. Golden-transkriptet fra P4 pkt. 3 er den naturlige
|
||||
aborten, men det står ikke som abortsti noe sted. **Foreslått endring:** egen post, ~0,25 økt,
|
||||
produseres VED frysen onsdag så den matcher frosset output.
|
||||
|
||||
## Innsigelse 6 (lav) — datohygiene svekker beleggstabellen
|
||||
|
||||
Plandokumentet heter `2026-08-09-…`, STATE-loggen daterer økter til 2026-08-09, og §4 sier «målt
|
||||
2026-08-09 på HEAD `c96ef90`» — men `git log -6 --format='%h %ad' --date=short` gir **2026-08-06** for
|
||||
`c96ef90`, og i dag er **2026-08-07**. Datoene ligger 2–3 dager fram i tid. Ikke en økt verdt, men en
|
||||
beleggstabell mister etterprøvbarhet når datoen ikke stemmer med commit-datoen. **Foreslått endring:**
|
||||
korriger datoene i §4 og i STATE-loggen; la filnavnet stå (omdøping koster lenker) med en note.
|
||||
|
||||
---
|
||||
|
||||
## Det du skal levere
|
||||
|
||||
1. **En avgjørelse per innsigelse: TAS INN / AVVISES / ENDRES TIL <x>** — hver med kommandoen du
|
||||
kjørte for å avgjøre den. Avvisning er et fullt legitimt utfall; en avvisning uten måling er ikke.
|
||||
2. **`docs/plan/2026-08-09-egnethetsreview-plan.md` redigert** — §1/§4 korrigert der målingen krever
|
||||
det, §2 P3/P4 og §5-kalenderen omorganisert etter avgjørelsene, §0-økt-regnskapet oppdatert hvis
|
||||
summen endres.
|
||||
3. **Et oppdatert økt-regnskap mot kalenderen fre 7. – ons 12.** Si eksplisitt om totalen fortsatt går
|
||||
opp, og hva som er første kutt hvis den ikke gjør det (nedgraderingskolonnen er alt skrevet — bruk
|
||||
den, ikke finn opp en ny).
|
||||
4. **`STATE.md`s «👉 NESTE»-blokk overskrevet** med den reviderte første handlingen for i dag (fredag),
|
||||
inkludert board-linja og route-linja.
|
||||
5. **Commit** med `docs(plan):`-prefiks. Ikke `feat:` (den krever staget README + CLAUDE.md).
|
||||
`git add` i eget Bash-kall, aldri sammen med `git commit`. Eksplisitt filliste — aldri `-A`.
|
||||
|
||||
## Kriteriet på at denne økten lyktes
|
||||
|
||||
Planen som ligger der etterpå har **ukas største måletekniske risiko tidligst, ikke sist**, og hver
|
||||
påstand i §4 er produsert av en kommando som er kjørt i dag. Hvis du konkluderer med at planen skal
|
||||
stå uendret, er det et gyldig utfall — men da skal §4 bære målingene som viser hvorfor.
|
||||
Loading…
Add table
Add a link
Reference in a new issue