docs(ms-ai-architect): G6 Layer A-aktiveringsprotokoll som R7-gate (foreground-fetch obligatorisk, rollback) [skip-docs]

This commit is contained in:
Kjell Tore Guttormsen 2026-07-04 23:39:20 +02:00
commit 6db508c670

View file

@ -147,6 +147,37 @@ at two existing chokepoints so it runs regardless of any hook:
quarantine, operator adjudicates, never auto-committed. No new mechanism — this
reuses "never auto-fix KB — flag → human → fix."
## 5b. Layer A-aktiveringsprotokoll (R7-gate)
R7 (og enhver senere fetch-økt) starter **ALDRI** før denne sjekklisten passerer. Den
operasjonaliserer Layer A som en hard R7-gate, ikke bare en aktiveringsregel:
1. **Aktiver hooken.** Slå på `llm-security`s `post-mcp-verify` i `~/.claude/settings.json`
(PostToolUse på `microsoft_docs_fetch`). Dette er en konfig-endring i operatørens
`settings.json`, ikke i plugin-repoet.
2. **Verifiser at den fyrer.** Kjør ÉN live **foreground** `microsoft_docs_fetch` og bekreft
at `post-mcp-verify` faktisk fyrte (observer hook-output). En hook som ikke observeres fyre
teller som IKKE aktiv.
3. **Kompenserende skann hvis den ikke fyrer.** Fyrer den ikke (headless / GH #36071), kjøres
den kompenserende deterministiske skannen **foreground** på den komponerte artefakten FØR
write: Layer B (`scan-adversarial-content.mjs`) + Step 3s pre-write unicode/carrier-scan
(`detectAdversarial` uten `path` → temp-fil, R6 Step 3). Denne er alltid-på og autoritativ
(§5 Layer B); Layer A er kun tidlig-varsling.
4. **Frossen judge → foreground er obligatorisk.** Det fetchede innholdet **prompt-fences IKKE**
inn i judgen: v3.1-judgen er frosset (G1-adoptert), og å legge til fencing ville være en
judge-bump (Non-goal §7, krever re-måling av P/R). Uten judge-side fencing er **foreground
fetch obligatorisk** — det er det som lar Layer A-hooken (og operatørens øye) se innholdet
før judgen. (§5s fencing-ambisjon gjelder transform-steget, ikke den frosne judgen.)
5. **Bekreft Layer B-substratet før R7.** `llm-security`-sibling MÅ være til stede (ev. via
`LLM_SECURITY_ROOT`) — ellers fail-closer Layer B og **BLOCKer alt** (gaten blir en vegg).
Bekreft at `../llm-security/scanners/…` løser før første fetch.
**R7 starter KUN når 15 er grønne.**
**Rollback:** aktiveringen i pkt. 1 er reverserbar — fjern `post-mcp-verify`-oppføringen fra
`~/.claude/settings.json` (og ev. `LLM_SECURITY_ROOT`) for å ta ned Layer A igjen. Layer B
(deterministisk, in-repo) er upåvirket av denne rollback-en.
## 6. No local solutions — the deterministic scanner is a shared asset
Per house policy (*ingen lokale løsninger*, *showcase reusable patterns*): the