From 824fb1b9663cc994e95263e24eaa37fb18601737 Mon Sep 17 00:00:00 2001 From: tegwick Date: Wed, 2 Sep 2026 10:06:53 +0200 Subject: [PATCH] Complete KG-WP-0004-T05 and finish the architecture vocabulary sweep MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Layer note is v0.7 Staff: propose containment, memory is not a state plane. §6 audit lists every decision-shaped object; none is a Staff allow/deny. Document version 0.2.0. KG-IN-0002 residual is closed. Assistant: grok Assistant-Session: 01a05ef1-9e5a-70f2-b0ff-0b05d6b38ae9 --- README.md | 5 +- SCOPE.md | 6 ++- WORK-RECORDS.md | 4 +- ...09-02-architecture-decision-point-audit.md | 52 +++++++++++++++++++ specs/NetKingdomImmuneArchitecture.md | 38 +++++++++----- ...004-architecture-layer-vocabulary-sweep.md | 11 +++- 6 files changed, 97 insertions(+), 19 deletions(-) create mode 100644 history/2026-09-02-architecture-decision-point-audit.md diff --git a/README.md b/README.md index bcff268..984984a 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,10 @@ Adaptive security contracts and posture-evaluation scaffold for NetKingdom's immune-architecture work. -**Layer: Staff** (NetKingdom Security Layer Model v0.1). kings-guard publishes +**Layer: Staff** (NetKingdom Security Layer Model v0.7). kings-guard publishes posture and requests bounded response through engine APIs; it never touches -Tooling directly and never renders an authorization decision. +Tooling directly and never renders an authorization decision. It proposes +containment and does not perform it. ## Current slice diff --git a/SCOPE.md b/SCOPE.md index 22c8978..cb20a91 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -106,13 +106,17 @@ does it decide and act?** The first is in scope. The second is another layer's. path. The hand-built fixture is retained as a regression case. Stream completeness for the load-bearing deny class stays unknown until the source publishes a cadence declaration and heartbeats. +- `specs/NetKingdomImmuneArchitecture.md` was swept under `KG-WP-0004` onto + Staff / Engine / Tooling (v0.7). It is an estate map; this repository + implements the Staff slice only. Containment is proposed, not performed. + Immune memory is not a state plane. --- ## Getting Oriented - Start with: `INTENT.md` -- Architecture draft: `specs/NetKingdomImmuneArchitecture.md` +- Architecture (estate map, layer-swept): `specs/NetKingdomImmuneArchitecture.md` - Exploration notes: `history/InitialExploration.md` - Agent instructions: `AGENTS.md` - Workplans: `workplans/` diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index 26b6fd5..d7ad4d8 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -11,7 +11,7 @@ | workplan | KG-WP-0001 | finished | — | workplans/KG-WP-0001-statehub-bootstrap.md | | workplan | KG-WP-0002 | finished | — | workplans/KG-WP-0002-canonical-immune-contracts-and-posture-pilot.md | | workplan | KG-WP-0003 | finished | — | workplans/KG-WP-0003-evidence-completeness-and-live-observation.md | -| workplan | KG-WP-0004 | active | — | workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md | +| workplan | KG-WP-0004 | finished | — | workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md | | task | KG-WP-0001-T01 | done | — | workplans/KG-WP-0001-statehub-bootstrap.md | | task | KG-WP-0001-T02 | done | — | workplans/KG-WP-0001-statehub-bootstrap.md | | task | KG-WP-0001-T03 | done | — | workplans/KG-WP-0001-statehub-bootstrap.md | @@ -31,7 +31,7 @@ | task | KG-WP-0004-T02 | done | — | workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md | | task | KG-WP-0004-T03 | done | — | workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md | | task | KG-WP-0004-T04 | done | — | workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md | -| task | KG-WP-0004-T05 | todo | — | workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md | +| task | KG-WP-0004-T05 | done | — | workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md | | intake | KG-IN-0001 | closed | — | intakes/intakes.md | | intake | KG-IN-0002 | closed | — | intakes/intakes.md | | intake | KG-IN-0003 | closed | — | intakes/intakes.md | diff --git a/history/2026-09-02-architecture-decision-point-audit.md b/history/2026-09-02-architecture-decision-point-audit.md new file mode 100644 index 0000000..202730f --- /dev/null +++ b/history/2026-09-02-architecture-decision-point-audit.md @@ -0,0 +1,52 @@ +--- +title: "§6 audit — no Staff decision point in NetKingdomImmuneArchitecture.md" +date: 2026-09-02 +repo: kings-guard +author: kings-guard +workplan: KG-WP-0004-T05 +standard: net-kingdom/canon/standards/security-layer-model_v0.7.md +target: specs/NetKingdomImmuneArchitecture.md +status: complete +classification: Public +--- + +# §6 audit — no Staff decision point + +After T02–T04. Statute §6: `access-engine` is the only policy decision point. +No Staff component may render or cache allow/deny. This list is every +decision-shaped object from the T01 inventory §2.1, plus the §8/§9.6 +artifacts T02 introduced, and where each now lives. + +| Object | Lives now | Staff renders allow/deny? | +| --- | --- | --- | +| §5 lymph node / adaptive "decision" | Staff judgment / posture; policy generation is doctrine + PDP package | no | +| §8 former "Decision and Response Engine" | `access-engine` box in the Engine subgraph | no | +| §8 former Regulation controller | split: Staff proposals vs PDP/PEP | no | +| §9.2 `trust_posture` + `valid_until` | Staff publication; lifetime is an input claim to the PDP | no | +| §9.4 observation `assessment` / `proposed_response` | removed from the observation; phenotype/posture/signal | no | +| §9.5 `response authorization` signal | gone as a Staff type; PDP decision record | no | +| §9.6 `immune_decision` | Engine artifact, `pdp: access-engine` | no | +| §9.6 former `authority: tenant-immune-node` | `authority: access-engine`, `enforcement: pep` | no | +| §10 `TN → TR` | coordination; effectors fire on a decision record or recorded stance | no | +| §10.1 "local response decisions" | rewritten to proposals; decisions stay the one PDP | no | +| §14.1 fast local loop | PEP under existing policy / stance (qonto-assistant) | no — PEP, not Staff | +| §14.2 "select bounded response" | emit a bounded proposal | no | +| §15 VSM System 3 | `access-engine` + PEP stance maps | no | +| §16 isolate grant | issued to a PEP by `access-engine`, not to a Staff node | no | +| §19 `DECISION` entity | `access-engine` only; posture/signal sit in front | no | +| §20.2 policy decision reconstructability | PDP obligation | no | +| §22.2 decision latency | labelled PDP; Staff has judgment latency | no | +| §24 `immune-decision/` | replaced by `immune-judgment/` (Staff) | no | +| §25.1 Decision Contract | owned by `access-engine` | no | +| §25.2 `effector_request` | Staff proposal with origin; not a verdict | no | +| §27 former two-hop authorize | posture claim → PDP → PEP | no | +| §31 Phase 4 policy evaluation | recommendations; evaluation remains `access-engine` | no | +| §33 AD-003 | observe → judge → propose; decide/act are Engine/PEP | no | +| §34 Q2 autonomous authorization | recast as proposals + existing PEP stances | no | +| §36 sequence | names proposal, decision, unowned actuation | no | + +No remaining object is a Staff allow/deny. Caching a verdict is not described +as a kings-guard behaviour. Actuation remains unowned (§9.2). + +Control-plane grep after T03+T05: remaining hits are labelled Kubernetes / +platform API planes, or an explicit denial that kings-guard is not one. diff --git a/specs/NetKingdomImmuneArchitecture.md b/specs/NetKingdomImmuneArchitecture.md index 0949bef..923d972 100755 --- a/specs/NetKingdomImmuneArchitecture.md +++ b/specs/NetKingdomImmuneArchitecture.md @@ -1,32 +1,41 @@ --- title: NetKingdom Immune Architecture document_id: KG-ARCH-IMMUNE -version: 0.1.0 +version: 0.2.0 status: Draft -date: 2026-07-23 +date: 2026-09-02 repo: kings-guard brand: Kings Guard Security ecosystem: NetKingdom owners: - Kings Guard Security Architecture classification: Public +layer_sweep: KG-WP-0004 +standard: net-kingdom/canon/standards/security-layer-model_v0.7.md --- # NetKingdom Immune Architecture -> **Layer note (2026-08-28).** kings-guard is a **Staff**-layer repository -> under the NetKingdom Security Layer Model v0.6 (assented in -> `decisions/decisions.md` KG-DEC-2026-001). Where this document uses "control -> plane", read it as naming an **estate-wide, Engine-layer** arrangement of -> deterministic authorities — never as a self-description of `kings-guard`, -> which publishes posture and requests bounded response through engine APIs. -> The parts of this architecture that render decisions or hold state belong to -> engines; kings-guard owns observation, judgment, and the request. A full -> vocabulary sweep of this document is tracked as intake KG-IN-0002. +> **Layer note (2026-09-02, KG-WP-0004).** kings-guard is a **Staff**-layer +> repository under the NetKingdom Security Layer Model +> `net-kingdom/canon/standards/security-layer-model_v0.7.md` (**accepted**; +> assented in `decisions/decisions.md` KG-DEC-2026-001 against v0.1). Catalog +> (v0.7 §4): adaptive defence and judgment; observation of Staff-reachable +> sources — identity and secret observation **pending**; **proposes** +> containment, which it does not own (§9.2). It **publishes** posture; +> `gate-house` defines authority meaning; `access-engine` renders it. Posture +> is not a privilege source. Immune memory is not a state plane (§3.4 rule 3). +> Remaining "control plane" wording in this file names a Kubernetes or +> platform API plane, never this repository. The vocabulary sweep that was +> `KG-IN-0002` is complete. ## 1. Purpose -This document defines the reference architecture for **Kings Guard Security**, implemented in the `kings-guard` repository and positioned within the wider **NetKingdom** ecosystem. +This document is the **estate map** for NetKingdom immune security. The +`kings-guard` repository implements the **Staff** slice: observation, +judgment, posture publication, bounded proposals, and governed memory. +Identity issuance, the authorization decision, secret custody, and +actuation belong to other layers — actuation is unowned and held at zero. The architecture applies principles observed in biological immune systems to the design of a secure, resilient, multi-tenant and multi-purpose cloud platform. The biological analogy is used as an architectural reasoning model, not as a literal implementation prescription. @@ -2403,6 +2412,11 @@ Implementations may change without changing the stable Kings Guard capability mo 10. How should business continuity requirements influence defensive posture? 11. How should the architecture integrate with the wider NetKingdom identity and policy canon? 12. Which components belong in `kings-guard`, and which should remain independent reusable repositories? + **Answered 2026-09-02 (KG-WP-0004-T05):** `kings-guard` owns observation, + judgment, posture publication, bounded proposals, and governed memory + that is not a state plane. Identity issuance (`key-cape` / `user-engine`), + the PDP (`access-engine`), secret custody (`secrets-engine` / OpenBao), + and actuation (unowned Engine/PEP surface) do not belong here. --- diff --git a/workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md b/workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md index c92a8cb..6961f4c 100644 --- a/workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md +++ b/workplans/KG-WP-0004-architecture-layer-vocabulary-sweep.md @@ -4,11 +4,12 @@ type: workplan title: "Sweep layer vocabulary through NetKingdomImmuneArchitecture.md" domain: infotech repo: kings-guard -status: active +status: finished owner: kings-guard topic_slug: netkingdom created: "2026-09-02" updated: "2026-09-02" +finished: "2026-09-02" inventory: history/2026-09-02-architecture-layer-vocabulary-inventory.md origin: residual origin_ref: KG-IN-0002 @@ -216,7 +217,7 @@ reconstructability, not automatic containment. Fast local loop named as PEP ```task id: KG-WP-0004-T05 -status: todo +status: done priority: medium state_hub_task_id: "e56c68ee-0b52-51ad-9fef-b3e4e0f22ffa" ``` @@ -234,6 +235,12 @@ Done when: does not own it); - `git diff --check` is clean. +**Done 2026-09-02:** Audit at +`history/2026-09-02-architecture-decision-point-audit.md`. Layer note is +v0.7, Staff, proposes containment, memory is not a state plane; KG-IN-0002 +pointer dropped. Document version 0.2.0. §34 Q12 answered. SCOPE and README +layer lines aligned. + ## Success criteria 1. Every task above is `done`.