portfolio-optimiser/.claude/projects/2026-07-04-i7-program-avslutning/brief.md
Kjell Tore Guttormsen 3957354408 docs(i7): trekbrief + trekplan for program-avslutning — execute parked (fresh session)
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
2026-07-04 20:41:02 +02:00

8.5 KiB
Raw Blame History

type brief_version created task slug project_dir research_topics research_status auto_research interview_turns source framing phase_signals
trekbrief 2.2 2026-07-04 I7 — program-avslutning ingest: README/extending.md-finpuss (MAF) + felles norsk statusrapport i7-program-avslutning .claude/projects/2026-07-04-i7-program-avslutning/ 0 skipped false 3 interview preserve
phase effort model
research high opus
phase effort model
plan high opus
phase effort model
execute high opus
phase effort model
review high 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 (I1I6) 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 I1I7) 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; I1I6 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):

# 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