portfolio-optimiser/.claude/projects/2026-07-03-s11-sammenligning-rapport/brief.md

8.4 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-03 S11 — Sammenligningen + rapport: begge stacker målt på pinned commons-ref etter S3-protokollen; norsk forretningsrapport med verifiseringslogg s11-sammenligning-rapport .claude/projects/2026-07-03-s11-sammenligning-rapport/ 0 skipped false 11 interview preserve
phase effort model
research high fable
phase effort model
plan high fable
phase effort model
execute high fable
phase effort model
review high fable

Task: S11 — Sammenligningen + rapport (program-leveransen)

Generated by /trekbrief on 2026-07-03. 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

S11 er sesjonsplanens neste steg, uendret (framing: preserve): mål begge stacker (MAF her + Claude SDK-søskenet) på identisk pinned commons-ref db86e15 etter den forhåndsbundne S3-protokollen (M1M4), sammenstill med S10-artefaktene i søskenets runs/s10/, og skriv én norsk forretningsrapport med verifiseringslogg der hver tallpåstand har reproduserende kommando/kilde. Ingen kode-endringer i noen stack.

Intent

S11 er program-SLUTTLEVERANSEN (målbilde §1): en rettferdig sammenligning av to uavhengige implementasjoner av samme metode — MAF-stacken i dette repoet og Claude Agent SDK-søskenet i ~/repos/portfolio-optimiser-claude — på identisk delt kjerne. Resultatet dokumenteres i en norsk forretningsrapport som operatøren kan dele. Troverdigheten hviler på to ting: målestokken (sammenligningsprotokollen fra S3) ble definert FØR begge stacker fantes, slik at ingen stack kunne forme metrikken etter eget resultat, og hver tallpåstand i rapporten bærer sin egen reproduserende kommando/kilde (verifiseringslogg). Operatøren lever av tillit; rapporten må derfor være nøktern, uten salgsspråk, og aldri påstå mer enn bevisene bærer.

Goal

Når S11 er ferdig finnes én norsk forretningsrapport i dette repoet (docs/rapport/2026-07-03-sammenligningsrapport.md) som måler begge stacker på pinned commons-ref db86e15 etter protokollens fire metrikker (M1 validator-samsvar mot golden, M2 konvergens/runder, M3 tokenforbruk mot tak, M4 kvalitativ vurdering), gjengir liveness-asymmetri-erklæringen ordrett, sammenstiller S10-artefaktene fra søskenets runs/s10/ (kun Claude-siden merket som live-observasjon), og har en verifiseringslogg der HVER tallpåstand peker på kommandoen/kilden som reproduserer den. Begge repo er verifisert grønne (pytest + ruff + mypy) på pinned ref som del av økta, og MAF offline-sim + D7 offline-speil er kjørt på samme ref som tallkilde for M1M3 (offline-kategorien).

Non-Goals

  • Ingen re-kjøring av S10. Artefaktene i runs/s10/ er fasit (protokoll §4.2/§4.5); re-kjøring er kun tillatt ved teknisk transportfeil, som ikke foreligger — kjøringen lyktes 2026-07-03.
  • Ingen S12-/release-arbeid (LICENSE, [project.scripts], CHANGELOG-polering) — gated på operatør-enighet, egen økt.
  • Ingen endringer i delt kjerne/commons og ingen re-pinningdb86e15 står. (Endres kjernen måtte begge sider re-pinnes og re-kjøres; det gjør vi ikke.)
  • Ingen nye features eller refaktorering i noen av stackene — S11 måler det som ER.
  • Ingen statistiske påstander om modellatferd — S10 er én kjøring; den beviser eksistens, ikke tendens (protokoll §4.1).

Constraints

  • Protokollen er normativ og fryst i økta: docs/plan/2026-07-03-sammenligningsprotokoll.md kan ikke justeres under S11 — endring ville ugyldiggjøre «definert før begge stacker»-premisset som bærer rapportens troverdighet.
  • Kostnadsdisiplin D6: alt i S11 kjøres offline; null API-spend.
  • Språk: rapporten er norsk (forretningsdokument, jf. dokumentspråk-preferansen); kode, kommandoer og filnavn i verifiseringsloggen er engelsk som de er.
  • Kategori-disiplin (protokoll §2): M2/M3-tall fra offline-kjøringer sammenlignes KUN med offline-tall på motparten; kryss-kategori-sammenligning (offline vs live) er forbudt i rapporten.
  • Skrivearbeid skjer i DETTE repoet. Søskenrepoet er read-only i S11; eneste unntak er STATE.md-oppdatering der ved sesjonslutt (local-only fil).
  • Push til Forgejo per driftsmodellen. Push-frysen fra 2026-07-03 er observert opphevet (søskenets S10-commits er pushet; Forgejo 15.0.3 oppe) — dette repoets stale STATE.md korrigeres ved sesjonslutt.

Preferences

  • Rapport plasseres under docs/rapport/ i dette repoet (ny katalog er akseptabelt).
  • Metrikk-tall i tabellform; begrunnelse og tolkning i prosa rundt tabellene.
  • Nøkternt språk uten superlativer — «fullt ut», «uten unntak» o.l. er røde flagg (verifiseringsplikten).

Non-Functional Requirements

  • Reproducerbarhet: hver M1M3-tallrad i verifiseringsloggen skal kunne kjøres på nytt av en leser med begge repo klonet, og gi samme tall (deterministisk kjerne + fangede artefakter).
  • Ærlighet: ingen påstand i rapporten (eller i README/STATE etterpå) skal påstå mer enn koden/bevisene gjør — spesielt ingen antydning om live-atferd på MAF-siden.

Success Criteria

  • SC1 — Rapport med ordrett erklæring: docs/rapport/2026-07-03-sammenligningsrapport.md finnes, og liveness-asymmetri-erklæringen fra protokoll §3 gjengis ordrett — verifiserbart ved at blokksitatets tekst diff-er tomt mot protokollens §3-blokk.
  • SC2 — Begge repo grønne på pinned ref: uv run pytest, uv run ruff check . og uv run mypy src avslutter alle med exit 0 i BEGGE repo, og commons-ref er verifisert identisk på begge sider (subtree-commits fra db86e15git log --grep="db86e15" viser squash-committen i begge).
  • SC3 — Offline-kjøringer utført på pinned ref: MAF offline-sim (uv run python -m portfolio_optimiser.simulation) og søskenets D7 offline-speil er kjørt i økta; M1M3-tallene i rapporten stammer fra disse kjøringene og fra de committede S10-artefaktene (runs/s10/*.json) — aldri fra hukommelse.
  • SC4 — Verifiseringslogg komplett: hver tallpåstand i rapporten har en rad i verifiseringsloggen med reproduserende kommando/kilde; stikkprøve: hver M1M3-rad kan kjøres på nytt og gir samme tall.
  • SC5 — Kategori- og liveness-disiplin: rapporten inneholder ingen påstand om live-atferd på MAF-siden og ingen kryss-kategori-sammenligning — kontrollert eksplisitt mot protokoll §2/§4 i review-fasen.

Research Plan

No external research needed — the codebase and this brief contain sufficient context for planning. (Alle kilder er lokale og committet: begge repo, protokollen, sesjonsplanen §S11, shared/method-spec.md, S10-artefaktene i søskenets runs/s10/. Lokal kodeoppdagelse — f.eks. nøyaktig invokasjon av D7-offline-speilet i søskenrepoet — håndteres av /trekplan-utforskningen.)

Open Questions / Assumptions

  • [ASSUMPTION] «D7 offline-speil» antas å være søskenrepoets offline to-runs-bevis (sim-ekvivalenten fra S9-laget); eksakt kjørekommando avdekkes i plan-utforskningen av søskenrepoet — den er ikke navngitt i sesjonsplanen.
  • [ASSUMPTION] Push-frysen er opphevet — avledet av at søskenets S10-commits er pushet til Forgejo (0/0 mot origin) og at Forgejo 15.0.3 svarer. Om antakelsen er feil, parkeres push og operatør varsles; commits skjer uansett lokalt.
  • [ASSUMPTION] Dette repoets STATE.md er stale (sier «S6 er neste»); søskenets STATE (S10 fullført, S11 neste, arbeidssted = dette repoet) er autoritativ og lagt til grunn. Korrigeres ved sesjonslutt.

Prior Attempts

None — fresh task. (Målestokken ble bevisst definert i S3, før begge stacker fantes; det er en forutsetning, ikke et tidligere forsøk.)

Metadata

  • Created: 2026-07-03
  • Interview turns: 11
  • Auto-research opted in: no
  • Source: trekbrief interview

How to continue

Manual (default):

# No research topics — go straight to plan:
/trekplan --project .claude/projects/2026-07-03-s11-sammenligning-rapport/

# Then execute:
/trekexecute --project .claude/projects/2026-07-03-s11-sammenligning-rapport/

Auto (opt-in during /trekbrief): research and planning run automatically; only execution is manual.