Brief (framing=preserve, 0 research, validator PASS, brief-reviewer PROCEED) + plan (3 steg, v1.7 strict PASS). plan-critic fanget 1 BLOCKER (README real-source overclaim) → adressert; scope-guardian ALIGNED. Execute parkert til fersk økt på 20% kontekst. README/extending URØRT denne økta. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JJET4jzpqykqEaQKQDqbS6
123 lines
8.5 KiB
Markdown
123 lines
8.5 KiB
Markdown
---
|
||
type: trekbrief
|
||
brief_version: "2.2"
|
||
created: 2026-07-04
|
||
task: "I7 — program-avslutning ingest: README/extending.md-finpuss (MAF) + felles norsk statusrapport"
|
||
slug: i7-program-avslutning
|
||
project_dir: .claude/projects/2026-07-04-i7-program-avslutning/
|
||
research_topics: 0
|
||
research_status: skipped
|
||
auto_research: false
|
||
interview_turns: 3
|
||
source: interview
|
||
framing: preserve
|
||
phase_signals:
|
||
- phase: research
|
||
effort: high
|
||
model: opus
|
||
- phase: plan
|
||
effort: high
|
||
model: opus
|
||
- phase: execute
|
||
effort: high
|
||
model: opus
|
||
- phase: review
|
||
effort: high
|
||
model: opus
|
||
---
|
||
|
||
# Task: I7 — program-avslutning (ingest): dokumentasjon + felles statusrapport
|
||
|
||
> Generated by `/trekbrief` on 2026-07-04.
|
||
> This brief is the contract between requirements and planning. `/trekplan`
|
||
> reads it to produce the implementation plan. Every decision in the plan must
|
||
> trace back to content in this brief.
|
||
|
||
## TL;DR
|
||
|
||
- I7 lukker ingest-programmet: finpuss `README.md` + `docs/extending.md` (MAF-stacken) og skriv **én felles norsk statusrapport** (bevist/ikke-bevist + verifiseringslogg) som dekker begge stacker.
|
||
- **Framing: preserve** — planlagt siste steg (§I7) i den frosne, godkjente ingest-sesjonsplanen; ingen scope-endring.
|
||
- Bindende: **ærlighets-regelen** (målbilde §11 «Stack-mapping (ærlighets-avgrenset)» + §0) — dokumentér KUN det koden gjør. D7-omtale avgrenset til CSV+SQL; HTTP/MCP kun pekere; ingen live-kilde-påstand.
|
||
- Docs-økt: ingen produksjonskode, ingen D7-repo-commit (polyrepo-grense), null modell-spend.
|
||
|
||
## Intent
|
||
|
||
Ingest-programmet (I1–I6) bygde og load-bearing-testet ingest-laget på tvers av begge stacker: den framework-nøytrale spec-en i commons, CSV/filkatalog og SQL på begge repo (bit-identiske golden-uttrekk fra delt spec), og HTTP/MCP demonstrert som extension point MAF-only mot lokal mock. I7 er det planlagte avslutningssteget: gjøre dokumentasjonen sannferdig og komplett, og produsere én ærlig norsk statusrapport av hva programmet faktisk beviste — og hva det ikke beviste. Motivasjonen er tillit: rammeverket publiseres på Forgejo for alle som har MAF, og en artefakt som overselger (antyder at D7 har HTTP/MCP-støtte, eller at en live-kilde er integrert) eroderer tilliten operatøren lever av. Ærlighets-regelen (målbilde §11 «Stack-mapping (ærlighets-avgrenset)» — som eksplisitt sier «HTTP/MCP demonstrert som extension point KUN på MAF-siden» og «Ingen live-kilde forekommer noensinne i programmet»; scope-ærlighet i §0) er den bindende føringen — den skriptede offline-simuleringen beviser rørlegging og deterministisk ryggrad, ikke levende LLM-atferd, og rapporten må si nettopp det.
|
||
|
||
## Goal
|
||
|
||
Når I7 er ferdig: (1) `README.md` + `docs/extending.md` i DETTE repoet (MAF-stacken) er finpusset slik at all D7-omtale er strengt avgrenset til det D7 faktisk har (CSV + SQL); HTTP/MCP omtales KUN som MAF-demonstrert extension point / D7-krok-peker, aldri som D7-kapabilitet. (2) Én felles norsk program-statusrapport bor i `docs/rapport/` og dekker BEGGE stacker i hybrid form — kort leder-/executive-sammendrag øverst (for KI-seksjon/ledelse), så en teknisk verifiseringslogg-seksjon under (hver påstand → kommando/kilde), med en eksplisitt «bevist / ikke bevist»-inndeling. (3) Ingen artefakt i repoet påstår mer enn koden gjør. Begge suiter er verifisert offline (MAF grønn; D7 read-only — rødt/ikke-kjørbart rapporteres som «ikke bevist», ikke fikset her).
|
||
|
||
## Non-Goals
|
||
|
||
- **Ingen endring i D7-søskenrepoet** (`portfolio-optimiser-claude`) fra denne økta — polyrepo-grense. Søskenets README/`extending.md` gjøres i søskenets EGEN økt, drevet av dets egen STATE. (D7-suiten verifiseres her kun read-only og siteres.)
|
||
- **Ingen egen D7-lokal statusrapport** — operatør valgte «én felles rapport her».
|
||
- **Ingen produksjonskode / ingen TDD** — ren docs-økt (Iron Law gjelder produksjonskode, ikke dokumentasjon).
|
||
- **Ingen spec-/commons-endring** — spec er frossen, PULL-ONLY.
|
||
- **Ingen S12/release** — uavhengig av ingest-programmet, eget klarsignal.
|
||
- **Ingen endring i `okf.py` / `shared/`** — framework-nøytral kjerne forblir urørt.
|
||
- **Ingen påstand om live-kilde-integrasjon eller D7 HTTP/MCP-støtte** noe sted.
|
||
|
||
## Constraints
|
||
|
||
- **Språk:** statusrapporten på **norsk** (docs-språkregel: forretnings-/leder-docs norsk); `README.md` forblir **engelsk** (utvikler-vendt).
|
||
- **Ærlighets-regel (målbilde §11 + §0; CLAUDE.md framework-/simulering-invariant):** dokumentér kun det koden gjør; skriptet offline-sim beviser plumbing, ikke levende LLM-atferd.
|
||
- **Commons PULL-ONLY** — aldri subtree push.
|
||
- **Offline, null modell-spend** (D6 kostnadsdisiplin) — ingen nettverk, ingen nøkkel.
|
||
- **Modell:** Opus 4.8 xhigh alle faser/subagenter; **aldri Fable 5** (stående global regel).
|
||
|
||
## Preferences
|
||
|
||
- Named markdown-lenker til lokale filer (`[navn](file:///absolutt/sti)`) per CLAUDE.md communication-pattern.
|
||
- Referér eksisterende docs (`docs/rapport/2026-07-03-sammenligningsrapport.md`, målbilde, sesjonsplan) framfor å duplisere innhold.
|
||
- Rapporten skal tåle å bli lest av noen som ikke kjenner koden — men uten salgsspråk (KTG-verifiseringsplikt: ingen «fullt ut», «uten unntak»).
|
||
|
||
## Non-Functional Requirements
|
||
|
||
- MAF-repoets suite grønn offline: `uv run pytest` → 0 failed, uten nøkkel/nettverk (baseline: 237 passed / 4 skipped).
|
||
- `uv run ruff check .` og `uv run mypy src` exit 0 i MAF-repoet.
|
||
- D7-søskensuiten grønn offline — verifisert read-only + sitert (ingen commit der).
|
||
|
||
## Success Criteria
|
||
|
||
- **SC1 — Ingen overselgende artefakt (grep-gate):** `grep -rniE '(d7|claude[- ]?sdk).{0,60}(http|mcp)' README.md docs/` gjennomgått manuelt → hvert treff er enten (a) eksplisitt «MAF-only / demonstrert extension point», eller (b) en ren D7-krok-peker (`create_sdk_mcp_server`) — INGEN treff påstår D7 HTTP/MCP-*støtte*. I tillegg: `grep -rniE '(live|produksjon|production).{0,30}(kilde|source|integrasjon|integration)' README.md docs/rapport/ docs/extending.md` → ingen påstand om live-kilde-integrasjon.
|
||
- **SC2 — Statusrapport eksisterer og har rett form:** `docs/rapport/2026-07-04-program-statusrapport-ingest.md` finnes og inneholder (a) executive-sammendrag, (b) eksplisitt «bevist / ikke bevist»-seksjon, (c) verifiseringslogg-seksjon.
|
||
- **SC3 — Hver påstand er sporet:** hver rad i rapportens verifiseringslogg har enten en kjørbar kommando ELLER en fil-/commit-sitering (ingen ubelagte påstander). Sjekkes ved gjennomlesning: 0 påstander uten kilde.
|
||
- **SC4 — MAF-suite grønn offline:** `uv run pytest` exit 0, 0 failed (uten nøkkel/nettverk).
|
||
- **SC5 — Lint/type rent:** `uv run ruff check .` exit 0 og `uv run mypy src` exit 0.
|
||
- **SC6 — D7-suite grønn offline (read-only, sitert):** i `/Users/ktg/repos/portfolio-optimiser-claude`: `uv run pytest` exit 0 offline, forutsatt repoet er `uv sync`-et — ellers skiller rapporten eksplisitt «suite rød» fra «kunne ikke kjøres offline». Kjørt read-only og sitert i rapporten; INGEN commit i søsknet. Hvis rød/ikke-kjørbar: flagges som «ikke bevist», ikke fikset her.
|
||
|
||
## Research Plan
|
||
|
||
No external research needed — the codebase and this brief contain sufficient context for planning. (Operatør bekreftet: alt kildemateriale er internt — kode, git-historikk, eksisterende docs. Ingen nye teknologi-/bibliotekvalg.)
|
||
|
||
## Open Questions / Assumptions
|
||
|
||
- **[ASSUMPTION]** D7-søskenrepoets suite er for tiden grønn offline. I7 verifiserer dette read-only og siterer det; hvis rødt, rapporteres det som «ikke bevist» framfor å fikses her (søsknets egen økt eier fikser). SC6 dekker dette.
|
||
- **[ASSUMPTION]** Eksisterende `sammenligningsrapport.md` (2026-07-03) dekker stack-sammenligningen; den nye I7-rapporten er program-avslutnings-rapporten (bevist/ikke-bevist på tvers av I1–I7) som REFERERER, ikke duplisererer, sammenligningsrapporten.
|
||
- **[ASSUMPTION]** README/`extending.md` trenger «finpuss», ikke omskriving — I6 la allerede http-familien + D7-peker i `extending.md`. Planfasen bekrefter faktisk delta ved å lese begge filene først.
|
||
|
||
## Prior Attempts
|
||
|
||
None — fresh task. I7 er det planlagte siste steget i ingest-sesjonsplanen; I1–I6 er levert (se STATE.md-loggen og git-historikk).
|
||
|
||
## Metadata
|
||
|
||
- **Created:** 2026-07-04
|
||
- **Interview turns:** 3
|
||
- **Auto-research opted in:** no
|
||
- **Source:** trekbrief interview
|
||
|
||
---
|
||
|
||
## How to continue
|
||
|
||
Manual (default):
|
||
|
||
```bash
|
||
# No research topics — go straight to planning:
|
||
/trekplan --project .claude/projects/2026-07-04-i7-program-avslutning
|
||
|
||
# Then execute:
|
||
/trekexecute --project .claude/projects/2026-07-04-i7-program-avslutning
|
||
```
|