Complete KG-WP-0004-T05 and finish the architecture vocabulary sweep

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
This commit is contained in:
tegwick 2026-09-02 10:06:53 +02:00
parent ac3aa1287e
commit 824fb1b966
6 changed files with 97 additions and 19 deletions

View file

@ -3,9 +3,10 @@
Adaptive security contracts and posture-evaluation scaffold for NetKingdom's Adaptive security contracts and posture-evaluation scaffold for NetKingdom's
immune-architecture work. 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 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 ## Current slice

View file

@ -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 path. The hand-built fixture is retained as a regression case. Stream
completeness for the load-bearing deny class stays unknown until the source completeness for the load-bearing deny class stays unknown until the source
publishes a cadence declaration and heartbeats. 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 ## Getting Oriented
- Start with: `INTENT.md` - Start with: `INTENT.md`
- Architecture draft: `specs/NetKingdomImmuneArchitecture.md` - Architecture (estate map, layer-swept): `specs/NetKingdomImmuneArchitecture.md`
- Exploration notes: `history/InitialExploration.md` - Exploration notes: `history/InitialExploration.md`
- Agent instructions: `AGENTS.md` - Agent instructions: `AGENTS.md`
- Workplans: `workplans/` - Workplans: `workplans/`

View file

@ -11,7 +11,7 @@
| workplan | KG-WP-0001 | finished | — | workplans/KG-WP-0001-statehub-bootstrap.md | | 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-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-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-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-T02 | done | — | workplans/KG-WP-0001-statehub-bootstrap.md |
| task | KG-WP-0001-T03 | 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-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-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-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-0001 | closed | — | intakes/intakes.md |
| intake | KG-IN-0002 | closed | — | intakes/intakes.md | | intake | KG-IN-0002 | closed | — | intakes/intakes.md |
| intake | KG-IN-0003 | closed | — | intakes/intakes.md | | intake | KG-IN-0003 | closed | — | intakes/intakes.md |

View file

@ -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 T02T04. 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.

View file

@ -1,32 +1,41 @@
--- ---
title: NetKingdom Immune Architecture title: NetKingdom Immune Architecture
document_id: KG-ARCH-IMMUNE document_id: KG-ARCH-IMMUNE
version: 0.1.0 version: 0.2.0
status: Draft status: Draft
date: 2026-07-23 date: 2026-09-02
repo: kings-guard repo: kings-guard
brand: Kings Guard Security brand: Kings Guard Security
ecosystem: NetKingdom ecosystem: NetKingdom
owners: owners:
- Kings Guard Security Architecture - Kings Guard Security Architecture
classification: Public classification: Public
layer_sweep: KG-WP-0004
standard: net-kingdom/canon/standards/security-layer-model_v0.7.md
--- ---
# NetKingdom Immune Architecture # NetKingdom Immune Architecture
> **Layer note (2026-08-28).** kings-guard is a **Staff**-layer repository > **Layer note (2026-09-02, KG-WP-0004).** kings-guard is a **Staff**-layer
> under the NetKingdom Security Layer Model v0.6 (assented in > repository under the NetKingdom Security Layer Model
> `decisions/decisions.md` KG-DEC-2026-001). Where this document uses "control > `net-kingdom/canon/standards/security-layer-model_v0.7.md` (**accepted**;
> plane", read it as naming an **estate-wide, Engine-layer** arrangement of > assented in `decisions/decisions.md` KG-DEC-2026-001 against v0.1). Catalog
> deterministic authorities — never as a self-description of `kings-guard`, > (v0.7 §4): adaptive defence and judgment; observation of Staff-reachable
> which publishes posture and requests bounded response through engine APIs. > sources — identity and secret observation **pending**; **proposes**
> The parts of this architecture that render decisions or hold state belong to > containment, which it does not own (§9.2). It **publishes** posture;
> engines; kings-guard owns observation, judgment, and the request. A full > `gate-house` defines authority meaning; `access-engine` renders it. Posture
> vocabulary sweep of this document is tracked as intake KG-IN-0002. > 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 ## 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. 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? 10. How should business continuity requirements influence defensive posture?
11. How should the architecture integrate with the wider NetKingdom identity and policy canon? 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? 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.
--- ---

View file

@ -4,11 +4,12 @@ type: workplan
title: "Sweep layer vocabulary through NetKingdomImmuneArchitecture.md" title: "Sweep layer vocabulary through NetKingdomImmuneArchitecture.md"
domain: infotech domain: infotech
repo: kings-guard repo: kings-guard
status: active status: finished
owner: kings-guard owner: kings-guard
topic_slug: netkingdom topic_slug: netkingdom
created: "2026-09-02" created: "2026-09-02"
updated: "2026-09-02" updated: "2026-09-02"
finished: "2026-09-02"
inventory: history/2026-09-02-architecture-layer-vocabulary-inventory.md inventory: history/2026-09-02-architecture-layer-vocabulary-inventory.md
origin: residual origin: residual
origin_ref: KG-IN-0002 origin_ref: KG-IN-0002
@ -216,7 +217,7 @@ reconstructability, not automatic containment. Fast local loop named as PEP
```task ```task
id: KG-WP-0004-T05 id: KG-WP-0004-T05
status: todo status: done
priority: medium priority: medium
state_hub_task_id: "e56c68ee-0b52-51ad-9fef-b3e4e0f22ffa" state_hub_task_id: "e56c68ee-0b52-51ad-9fef-b3e4e0f22ffa"
``` ```
@ -234,6 +235,12 @@ Done when:
does not own it); does not own it);
- `git diff --check` is clean. - `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 ## Success criteria
1. Every task above is `done`. 1. Every task above is `done`.