docs: finish zone reference hardening workplan

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a0291a-1e87-7151-9934-fcbfe3f65eb1
This commit is contained in:
tegwick 2026-08-23 12:35:01 +02:00
parent 4f676e2439
commit 6f667d20c2
10 changed files with 308 additions and 129 deletions

View file

@ -6,13 +6,25 @@
---
## Current disposition — 2026-08-23
The argument below is retained as design history. Its desired sentence is now
sayable: the standard is in net-kingdom canon, ops-warden and flex-auth have
adopted it, the repo-wide switch is retired, and exception expiry is enforced
at each owning decision or enforcement point.
The runtime hypothesis was falsified. zone-engine is retained only as an
offline reference-conformance repository while canon v0.1 remains proposed; it
is not an engine, PDP, exception service, or consumer policy owner. Current
capability is `SCOPE.md`, and the retain/archive triggers are in `GOAL.md`.
## 1. The sentence this repo exists to make sayable
> *"This control is enforced **there**, advisory **here**, and relaxed **in this
> band until Friday** — and all three of those are written down, reviewable, and
> expire on their own."*
NetKingdom cannot say that today. It can say how exposed a workload is
At inception NetKingdom could not say that. It could say how exposed a workload was
(environment posture), how ready it is (`M0``M3`), and what state the
organization is in (`organization_posture`). Every one of those **describes**.
None of them **decides**. So every enforcement control in the estate has been a
@ -21,7 +33,8 @@ boolean over a whole repo.
## 2. Where that bit
ops-warden built a pre-sign authorization gate, flex-auth enforced its side, and
the gate verified clean. Then it was deliberately not switched on.
the gate verified clean. It was deliberately not switched on until the zone
model replaced its global scope.
`policy.enabled` is one boolean over the entire repo. With `fail_closed: true`
it makes flex-auth a hard dependency of *every* `warden sign` — including the
@ -74,11 +87,11 @@ it decides something, so the model must carry:
the bite is; `fail_closed` is what turns a dead tunnel into an outage.
- **Exceptions that expire without anyone remembering them.**
The last is the reason this is a repo rather than a document. A standing
classification needs no engine — canon plus a declaration file covers it, which
is exactly how tenancy posture works. **A relaxation with an expiry is state**,
and state wants an owner, an audit trail, and something other than good
intentions enforcing the deadline.
The last was the runtime hypothesis. A standing classification needs no engine
— canon plus a declaration file covers it, which is exactly how tenancy posture
works. The implementation proved that exception state can remain with the
control owner when `not_after` is evaluated where the effect occurs. That gives
it an owner, audit trail, and enforced deadline without a central service.
## 5. The line this repo must not cross
@ -102,6 +115,8 @@ point is neither.**
## 6. What success looks like from outside
These conditions are now met for the adopted v0.1 path:
Someone who has never read this repo should be able to:
- open a service's `tenancy.yaml`, read its `zones:` key, and know which
@ -120,11 +135,10 @@ failed at being a standard and has succeeded only at being a service.
Stated up front, because a repo created on a recommendation should say what
would falsify it:
- **The exception lifecycle turns out not to need a runtime.** If reviewed
declarations in git, with expiry evaluated at decision time, are sufficient,
then the honest outcome is a canon standard and no engine — and this repo
should be archived rather than kept for the sake of existing. `GOAL.md` gate 5
and `ZONE-WP-0001-T04` both hold that door open deliberately.
- **The exception lifecycle turns out not to need a runtime.** This falsifier
triggered. Reviewed owner records plus decision-time expiry are sufficient.
The honest outcome is canon plus offline conformance tooling, not an engine.
Retention is bounded to the proposed-standard reference need in `GOAL.md`.
- **The zones do not partition the real estate.** If the model needs a residue
of special cases to cover today's 27 routing lanes and actor inventory, it is
describing an aspiration, not a structure.
@ -152,3 +166,7 @@ called adopted, the first being ops-warden retiring `policy.enabled`.
A runtime only if `ZONE-WP-0001-T04` proves the exception lifecycle needs one —
and the cheaper answer is a legitimate result, not a disappointment.
That direction is delivered. `ZONE-WP-0002` hardened the offline contracts and
made canon lineage, owner provenance, revision/delta evidence, and exception
fixtures executable without reopening the runtime decision.