docs(plan): §7.2 — MCP-spørsmålet er avgjort av frossen tekst, S2.2 og S2.4 er ugated
portfolio-optimiser fant ankeret vi ikke siterte. ingest-spec.md:112-114 sier
normativt at "An MCP-based connector is an extension of this family and MUST
honour the same extraction, materialization, and gate contracts". Det er ikke
to forsvarlige svar — frossen tekst har valgt: MCP hører til http-familien.
En fjerde {type:"mcp"} ville motsagt :113-114, ikke utfylt den.
Konsekvens: S2.2 UGATED (bygges mot http + §8-grant). S2.4 UGATED (berikelse
innenfor §8s tre felt). Kun S2.3 (doc) krever amendment. §1-spørsmålet om
påkrevd/valgfri faller bort for MCP — den arver http sin OPTIONAL-status.
To feil hos oss, ført åpent i §7.2:
- "frossen siden bfa5a9b" var feil. git log -S: BEGGE MCP-ankere landet i
7aa53fc — konsumentenes egen commit. Vi tok siste commit som rørte filen og
antok at teksten daterte derfra.
- Vi fant ikke :113 fordi grep på connection_ref | head -3 stoppet på :109.
Sikt grepet mot seksjonen, ikke mot ett token.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XYkLsRfSBBUjULS219Fy8X
This commit is contained in:
parent
e984d51a6c
commit
84a301057f
1 changed files with 52 additions and 13 deletions
|
|
@ -57,10 +57,11 @@ skrive før pakken lukkes:
|
|||
Tallet er ikke poenget — membership er.
|
||||
|
||||
**S2.2–2.4 (D-B)** var det ene punktet commons ikke kunne ankre. **Substansen kom 2026-07-26**
|
||||
og er ført i §7.1: D-B er en *scope*-beslutning, ikke spec-tekst, og av de tre gatede storiene
|
||||
er det S2.2 + S2.3 som krever kildefamilie-utvidelser — mens `:29-31` allerede sier at en
|
||||
MCP-basert konnektor under `http` **ikke** krever spec-endring. Den motsetningen må avgjøres
|
||||
før S2.2 føres opp som blokkert på oss.
|
||||
og er ført i §7.1–7.2: D-B er en *scope*-beslutning, ikke spec-tekst. **To av de tre gatede
|
||||
storiene viste seg UGATED** — S2.2 fordi `:113-114` normativt plasserer MCP-konnektorer i
|
||||
`http`-familien (MUST på samme kontrakter), S2.4 fordi berikelsen holder seg innenfor §8s tre
|
||||
felt. **Kun S2.3 (`doc`) krever amendment.** Begge frigjøringene kom av ankring i frossen tekst,
|
||||
ingen av dem av en endring.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -351,9 +352,9 @@ construction)*; (3) dokument-konnektor-avgrensning *(PDF via `pypdf` nå, DOCX u
|
|||
|
||||
| Story | Krever ingest-spec-amendment? | Hva |
|
||||
|---|---|---|
|
||||
| **S2.2** MCP-konnektor | **JA** — ny kildefamilie | `{type: "mcp", id, server_ref, tool}` i manifestet. `server_ref` = navn på env-var med kommando, **speiler `connection_ref`** (§4). Datainntak, ALDRI kjøresti. Ikke fjern-servere, ingen auth utover env-ref |
|
||||
| **S2.2** MCP-konnektor | **NEI — UGATED** (se §7.2) | `:113-114` sier normativt at en MCP-konnektor **er en utvidelse av `http`-familien** med MUST på samme kontrakter. Ingen ny familie, ingen amendment. Bygges mot `http` + §8-grant |
|
||||
| **S2.3** Dokument-konnektor | **JA** — ny kildefamilie | `{type: "doc"}`. PDF→OKF-konseptfil med provenance, deterministisk mot committede fixtures |
|
||||
| **S2.4** Konnektor-herding | **Trolig NEI** i nedskopert form | Timeout-parameter, feilkategorisering, beriket §8-logg (kilde/tidspunkt/radantall — aldri innhold). Retry KUN hvis D-B sier ja (default nei, av hensyn til determinisme). Inkrementell re-ingest: **ikke**, med mindre D-B amender §8 |
|
||||
| **S2.4** Konnektor-herding | **NEI — UGATED** (bekreftet av po) | Timeout-parameter, feilkategorisering, beriket §8-logg (kilde/tidspunkt/radantall — aldri innhold). Retry KUN hvis D-B sier ja (default nei, av hensyn til determinisme). Inkrementell re-ingest: **ikke**, med mindre D-B amender §8 |
|
||||
|
||||
**Commons' observasjon, ikke et forslag:** §4 har i dag tre kildetyper (`file`, `sql`, `http`),
|
||||
og §1 (`:27-31`) binder konformans til `file` + `sql` som påkrevde med `http` som eksplisitt
|
||||
|
|
@ -377,12 +378,47 @@ i commons FØRST» — til noe som må avgjøres, ikke antas:
|
|||
- Distinksjonen er ikke akademisk: den avgjør om S2.2 er blokkert på commons i det hele tatt.
|
||||
Under den andre lesningen er S2.2 **ugated** og kan bygges nå, mot `http` + opt-in-flagget (§8).
|
||||
|
||||
Argumentet for at det likevel er en egen familie: en MCP-server er ikke en URL-henting, og
|
||||
`server_ref` (env-var med **kommando**) er en subprosess-grant, ikke en nettverks-grant — §8s
|
||||
opt-in-flagg er formulert for «network sources … and any other non-local transport», som
|
||||
dekker det, men manifestets `base_url`/`credential_ref`-felter passer dårlig på en kommando.
|
||||
**Vi tar ikke stilling.** Vi sier bare at `:29-31` gjør dette til et reelt valg med to
|
||||
forsvarlige svar, og at det bør avgjøres før S2.2 føres opp som gated på oss.
|
||||
### 7.2 Spørsmålet er AVGJORT av frossen tekst — det er ikke to forsvarlige svar (korr. 2026-07-26)
|
||||
|
||||
Avsnittet over stilte (a)/(b) som et åpent valg. **Det var feil, og `portfolio-optimiser` fant
|
||||
hvorfor: det finnes et ANDRE anker vi ikke siterte, og det er normativt.**
|
||||
|
||||
> **`ingest-spec.md:112-114`** (§4, kildetypelisten)
|
||||
> `type: "http"` — a remote endpoint (OPTIONAL extension point, §1). Field `base_url`: the
|
||||
> endpoint base; it MUST NOT embed credentials. Optional field `credential_ref`: the NAME of
|
||||
> a runtime-resolved secret reference. **An MCP-based connector is an extension of this family
|
||||
> and MUST honour the same extraction, materialization, and gate contracts.**
|
||||
|
||||
`:29-31` sier at MCP-veien ikke krever spec-endring. `:112-114` sier **normativt hvor den hører
|
||||
hjemme** — som en utvidelse av `http`-familien, med **MUST** på de samme kontraktene. Frossen
|
||||
tekst har altså allerede valgt (b). En fjerde `{type: "mcp"}`-familie ville **motsagt** `:113-114`,
|
||||
ikke utfylt den.
|
||||
|
||||
**Konsekvens: S2.2 er UGATED.** Premisset «krever ingest-spec-amendment i commons FØRST» er
|
||||
avkreftet av vår egen frosne tekst. S2.2 kan bygges mot `http`-familien + §8s opt-in-grant uten
|
||||
å vente på noe herfra.
|
||||
|
||||
**Og §1-spørsmålet i 7.1 faller bort for MCP:** MCP arver `http`s status, og `http` er eksplisitt
|
||||
OPTIONAL (`:27-31`). `:27-31` trenger derfor **ingen** omskriving for MCP. Spørsmålet gjenstår
|
||||
kun for **S2.3 (`doc`)**, som fortsatt er en genuint ny familie. `portfolio-optimiser`s
|
||||
anbefaling der: valgfri som `http` — en konform implementasjon bør ikke tvinges til en
|
||||
PDF-parser. Det er deres anbefaling til ratifisering, ikke en beslutning.
|
||||
|
||||
**(a)-argumentet lever videre, men som implementasjonssak, ikke spec-tekst.** At
|
||||
`base_url`/`credential_ref` passer dårlig på en kommando, og at env-var-med-kommando er en
|
||||
subprosess-grant, er ekte friksjon — men `:113-114` sier MUST på *kontraktene*, ikke på
|
||||
*feltnavnene*, og §8 dekker «any other non-local transport». Friksjonen lever i hvordan en
|
||||
kommando uttrykkes innenfor `http`-familien. Støter implementasjonen faktisk på noe `:113-114`
|
||||
forbyr, er det et målt funn og kommer tilbake hit.
|
||||
|
||||
**Vår egen feil, ført åpent fordi den er tredje instans samme dag:** vi skrev at `:29-31` var
|
||||
«frossen siden `bfa5a9b`». Målt med `git log -S`: **begge** MCP-ankrene landet i **`7aa53fc`** —
|
||||
nøyaktig commit-en konsumentene står på. `bfa5a9b` rørte bare D1-stempelmodellen. Vi tok repoets
|
||||
*siste* ingest-spec-commit og antok at filen daterte derfra. Og vi fant ikke `:113` fordi vårt
|
||||
`grep -n 'connection_ref' | head -3` stoppet på `:109` uten å lese omgivelsene — setningen i §1
|
||||
er dessuten linjebrutt (`:30-31`), så et grep på hele frasen ville også bommet.
|
||||
**Sikt grepet mot seksjonen, ikke mot ett token — og bekreft opphav med `git log -S`, aldri med
|
||||
«siste commit som rørte filen».**
|
||||
|
||||
Merk også at S2.4s «beriket ingest-logg» ligger mot §8, som allerede sier *«Source calls are
|
||||
logged (which source, when, row count)»* — en berikelse innenfor de tre feltene er neppe en
|
||||
|
|
@ -435,7 +471,7 @@ method-spec navngir aldri en repo-sti (`grep -c 'examples/' method-spec.md` →
|
|||
| 4 | S4.0 / D-A#2 kostbaseline | method §7 `:332-333`, §7.1 `:345-346` | ekte hull | **endrer fasit hvis ubetinget** |
|
||||
| 5 | S3.5 / D-F tittel-whitespace | ingest §4 `:125`, §5 `:158-161`, §6 `:194-197`, §11 `:278` | ekte, smal søm | ingen |
|
||||
| 6 | D-A#5 hovedbok-projeksjoner | ingen tekst; naboer method §7.2 `:367-372`, §12 `:436-464` | **ny seksjon** | ingen direkte; §12 må utvides |
|
||||
| 7 | S2.2–2.4 / D-B | **ANKRET** (§7.1): S2.2 + S2.3 = nye kildefamilier §4/§1; S2.4 trolig ingen | **scope-beslutning, ikke spec-tekst** | ingen |
|
||||
| 7 | S2.2–2.4 / D-B | **ANKRET** (§7.1–7.2): kun **S2.3** (`doc`) krever amendment. **S2.2 + S2.4 er UGATED** — S2.2 av `:113-114`, S2.4 innenfor §8s tre felt | **scope-beslutning, ikke spec-tekst** | ingen |
|
||||
| 8 | B1 / D4 nav-golden | levert `b641741`; 0 spec-referanser | commons-eget, utenfor pakken | — |
|
||||
|
||||
Commons' rolle er uendret: vi forbereder underlaget, operatøren ratifiserer, og frossen tekst
|
||||
|
|
@ -468,6 +504,9 @@ endres ikke uten den ratifiseringen.
|
|||
| D-B-substansen levert 07-26 | coord fra `portfolio-optimiser` | rapportert fra deres `sesjonsplan-fase2-6.md:56-62`, ikke målt av oss |
|
||||
| §1 gjør `http` OPTIONAL, `file`+`sql` påkrevd | `ingest-spec.md:27-31` | ordrett sitert i §7.1 |
|
||||
| …og nevner MCP som `http`-transport | `ingest-spec.md:29-31` | «or via an MCP-based connector … does not require any change to this spec» |
|
||||
| **ANDRE anker: MCP hører NORMATIVT til `http`** | `ingest-spec.md:112-114` | «An MCP-based connector **is an extension of this family** and **MUST** honour the same … contracts» |
|
||||
| Begge MCP-ankere landet i `7aa53fc`, ikke `bfa5a9b` | `git log -S` på hver frase | `7aa53fc` for begge — altså i konsumentenes egen kopi |
|
||||
| `bfa5a9b` rørte kun stempelmodellen | `git show --stat bfa5a9b` | 39 innsettinger, D1-stempel |
|
||||
| §8 logger tre felter | `ingest-spec.md:230` | «which source, when, row count» |
|
||||
| `connection_ref` er env-var-NAVN | `ingest-spec.md:109`, `:117` | «the NAME of a runtime-resolved …», secret resolved at run time |
|
||||
| Begge konsumenter står på `7aa53fc` | coord fra begge, uavhengig | po: `git log --grep=git-subtree-split` → `ef1a2c5`; po-claude: egen måling |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue