Docs-only program-avslutning for ingest-laget (D7-stacken). Bygget fra commons-spec + eget repo alene — MAF-koden kun eksistens-bekreftet (I6-gate), aldri lest/reverse-engineert. - README: ingest-seksjon (file/CSV + sql/sqlite RO) som post-S10-tillegg; testtall 187 -> 265; HTTP/MCP kun peker (D7 har ingen HTTP-konnektor). - docs/extending.md (ny): hvordan ingest-laget virker + hvordan legge til en kildetype; HTTP/MCP som ærlig extension-point-peker (spec §4, MAF I6-demo, create_sdk_mcp_server som ubygd vehikkel — brukt ingen steder i src/). - docs/2026-07-04-I7-brief.md + -statusrapport.md: I7-brief + D7-lokal statusrapport m/ verifiseringslogg. Kryss-stack-kriteriet peker til MAF-programrapporten. Ærlighetsregelen (method-spec §1): ingen artefakt påstår HTTP/MCP-støtte i D7 eller live-kilde-integrasjon. Grep-sjekk mot overpåstand ren. Verifisering: 265 passed uten nøkkel/nettverk · ruff/mypy rene. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R7nuUMUyWB9viiBjz8Bo7R
47 lines
2.4 KiB
Markdown
47 lines
2.4 KiB
Markdown
# I7-brief (D7) — program-avslutning: dokumentasjon + statusrapport
|
|
|
|
> **Type:** docs-avslutning, **ingen ny kode**. Komprimert pipeline (ingen
|
|
> research/plan/execute-runder — deterministisk docs-oppgave). Forankret i sesjonsplan
|
|
> [§I7](/Users/ktg/repos/portfolio-optimiser/docs/plan/2026-07-03-sesjonsplan-ingest.md) og
|
|
> STATE-ens «når I7 åpnes»-oppskrift.
|
|
|
|
## Kontekst / gate
|
|
|
|
I7 var GATET på at MAF lander **I6** (HTTP/MCP demonstrert MAF-only mot lokal mock, bak
|
|
opt-in-nettverksflagget). Gaten er **oppfylt**: MAF I6 landet (commits `58dda46`→`696f19a`,
|
|
review `72cb15f`, WARN akseptert). Bekreftet ved `git -C …/portfolio-optimiser log` —
|
|
**kun eksistens**, ingen lesing/reverse-engineering av MAF-koden.
|
|
|
|
## Scope (denne økta rører KUN dette repoet)
|
|
|
|
1. **README.md** — flett inn ingest-laget (CSV + SQL) som post-S10-tillegg; oppdater
|
|
testtall (187 → 265); HTTP/MCP kun som peker (D7 har ingen HTTP-konnektor).
|
|
2. **`docs/extending.md`** (ny) — avgrenset til det D7 faktisk har: `file` (CSV) + `sql`
|
|
(sqlite RO). Hvordan legge til en kildetype. HTTP/MCP KUN som peker: spec §4-skjema +
|
|
MAF-søskenets I6-demonstrasjon + SDK-primitivet `create_sdk_mcp_server` som *ubygd*
|
|
vehikkel (D7-`src/` bruker det ingen steder; `ingest.py` er ren stdlib).
|
|
3. **Grep-sjekk mot overpåstand** før commit.
|
|
4. **Norsk statusrapport** med verifiseringslogg (hver påstand → kommando/kilde).
|
|
|
|
## Ærlighetsregelen (ufravikelig, method-spec §1 / ingest-spec §1)
|
|
|
|
Ingen artefakt påstår:
|
|
- HTTP/MCP-**støtte i D7** (D7 avviser `http`-manifest fail-fast — testbevist
|
|
`test_malformed_manifest_is_rejected`).
|
|
- **Live-kilde-integrasjon** (ingest gjør null modellkall, null nettverk; testene kjører
|
|
uten nøkkel/nettverk).
|
|
- Mer live-atferd enn den ENE dokumenterte S10-kjøringen (uendret påstand).
|
|
|
|
## Verifisering (øktas suksesskriterier)
|
|
|
|
- `uv run pytest -q` → **265 passed** uten nøkkel/nettverk.
|
|
- Grep: ingen artefakt påstår HTTP/MCP-støtte i D7 eller live-kilde-integrasjon.
|
|
- `uv run ruff check .` + `uv run mypy src` grønne (docs-only, men suite + lint holdes grønn).
|
|
- Statusrapport med verifiseringslogg levert.
|
|
|
|
## Ikke i scope (gated på operatør)
|
|
|
|
- Åpent-speil-synk (`open/…`) av I3+I5+I7-koden — egen outward-facing operatør-handling.
|
|
- LICENSE / S12-release.
|
|
- Kryss-stack-sluttkriteriet (begge stacker identiske golden) eies av MAF-programrapporten;
|
|
denne D7-rapporten peker dit i stedet for å duplisere.
|