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
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

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
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/`

View file

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

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

View file

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