2026-08-19 21:18:44 +02:00
|
|
|
# SCOPE
|
|
|
|
|
|
2026-08-23 10:42:12 +02:00
|
|
|
> What this repository can do, when it is relevant, and when it is not.
|
2026-08-23 12:35:01 +02:00
|
|
|
> The historical argument is `INTENT.md`; completed gates and retirement are
|
|
|
|
|
> recorded in `GOAL.md`.
|
2026-08-19 21:18:44 +02:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## One-liner
|
|
|
|
|
|
2026-08-23 12:35:01 +02:00
|
|
|
`zone-engine` is the retained reference-conformance repository for NetKingdom
|
|
|
|
|
security-zone membership, admission, owner-provenanced control profiles, and
|
|
|
|
|
time-boxed exception semantics. It does **not** run an engine or make policy
|
|
|
|
|
decisions.
|
2026-08-23 10:42:12 +02:00
|
|
|
|
2026-08-23 12:35:01 +02:00
|
|
|
## Lifecycle
|
2026-08-23 10:42:12 +02:00
|
|
|
|
2026-08-23 12:35:01 +02:00
|
|
|
`ZONE-WP-0001` delivered and proved the model. `ZONE-WP-0002` hardened the
|
|
|
|
|
retained reference boundary. Both are finished with `DoD-Ok`; no runtime is
|
|
|
|
|
needed and there is no continuing implementation backlog.
|
2026-08-23 10:42:12 +02:00
|
|
|
|
2026-08-23 12:35:01 +02:00
|
|
|
The repository is retained while `security-zones_v0.1` remains `proposed` in
|
|
|
|
|
net-kingdom canon, with zone-engine as maintainer of fixtures and reference
|
|
|
|
|
tooling. Retention is not service ownership. A future canon lifecycle change,
|
|
|
|
|
an owner-requested conformance revision, or evidence that an adopting control
|
|
|
|
|
cannot enforce the contract at its existing point are the only normal change
|
|
|
|
|
triggers. Archival remains an attended action once the reference artifacts are
|
|
|
|
|
durably handed off or no longer needed.
|
2026-08-23 11:29:20 +02:00
|
|
|
|
2026-08-23 10:42:12 +02:00
|
|
|
## Capability actually present
|
|
|
|
|
|
2026-08-23 12:35:01 +02:00
|
|
|
This repository provides:
|
|
|
|
|
|
|
|
|
|
- a non-authoritative pointer and machine-checked lineage record for the
|
|
|
|
|
canonical `net-kingdom/canon/standards/security-zones_v0.1.md`;
|
|
|
|
|
- an offline resolver for direct declarations and caller-supplied Repo Manager
|
|
|
|
|
v1 workload projections;
|
|
|
|
|
- explicit `applicable` and `not-applicable` handling, with unresolved facts
|
|
|
|
|
remaining `unknown` and no path, repo, reef, actor, or lane inference;
|
|
|
|
|
- validation of authoritative identity bindings, zone declarations, review
|
|
|
|
|
dates, context floors, and continuity evidence;
|
|
|
|
|
- canonical `satisfied`, `unsatisfied`, `unknown`, and `not-applicable` results
|
|
|
|
|
with workload references, identity bindings, guarantees, sources, and source
|
|
|
|
|
revisions;
|
|
|
|
|
- deterministic membership revisions bound to canonicalized identity,
|
|
|
|
|
membership, workload reference, and source revision;
|
|
|
|
|
- deterministic first/previous-snapshot addition, removal, and change reports;
|
|
|
|
|
- optional control projection from an explicit, total, versioned profile that
|
|
|
|
|
names policy owner, PEP owner, and policy reference for every row;
|
|
|
|
|
- an offline exception checker with an explicit evaluation instant, covering
|
|
|
|
|
grant authority, maximum duration, exclusive expiry, overlap, renewal,
|
|
|
|
|
wildcard rejection, and durable-authority bounds; and
|
|
|
|
|
- reusable manifests, profiles, exception fixtures, evidence, and 29 unit
|
|
|
|
|
tests.
|
|
|
|
|
|
|
|
|
|
The resolver consumes already-located declarations and already-resolved
|
|
|
|
|
workload-reference projections. It does not discover a fleet, repair an
|
|
|
|
|
ambiguous join, read a live clock, or publish a consumer registry. Its profile
|
|
|
|
|
fixture records owner-approved v0.1 behavior; only the referenced owner policy
|
|
|
|
|
and PEP configuration can change a live effect.
|
2026-08-23 10:42:12 +02:00
|
|
|
|
|
|
|
|
## Authority boundary
|
|
|
|
|
|
|
|
|
|
| Concern | Authority | This repository's role |
|
Refine SCOPE, add INTENT, fix the GOAL invariant flex-auth rejected
GOAL.md still carried the first-draft invariant — "nothing this repo builds sits
synchronously in a decision path" — after flex-auth's review had rejected it as
a latency guarantee wearing an authority guarantee's clothes. Under that wording
zone-engine could compile enforced: false for a lane, flip warden sign from deny
to allow with no flex-auth policy change, and be literally compliant. Replaced:
identity and membership here, effect in a flex-auth policy package. Compiled-not-
queried is demoted to a consequence of that, which is what it always was.
SCOPE now records what the two reviews settled rather than what was proposed:
separate standard (canon Decision 5.6), membership declared in tenancy.yaml's
reserved zones: key, stance out of scope for controls flex-auth decides, the
fail-open axis modelled PEP-side because a PDP structurally cannot express it,
organization_posture an input rather than a declaration field, and reefs not
ours. Plus the two inherited constraints: the dead trust_zone field already
sitting where membership would go, and flex-auth's lack of a reload path.
INTENT.md states the argument, including what would falsify the repo — the
exception lifecycle not needing a runtime is called out as a legitimate outcome
that should archive this repo rather than keep it for its own sake.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 22:20:13 +02:00
|
|
|
| --- | --- | --- |
|
2026-08-23 12:35:01 +02:00
|
|
|
| Workload identity and requested membership | Workload's responsible repo | Reference-validates supplied facts |
|
|
|
|
|
| Managed workload tuple and applicability | Repo Manager / owning catalog | Consumes the explicit projection |
|
|
|
|
|
| Zone ids and admission standard | zone-engine model, published by net-kingdom | Maintains conformance fixtures and lineage |
|
|
|
|
|
| Canon publication and lifecycle | net-kingdom | Detects change; never promotes by inference |
|
|
|
|
|
| Control stance | Owner of the control | Projects only explicit versioned owner data |
|
|
|
|
|
| Failure behavior | Owner of the PEP | Records provenance and semantics only |
|
2026-08-23 10:42:12 +02:00
|
|
|
| Authorization effect | Existing PDP or control owner | Makes no decision |
|
2026-08-23 12:35:01 +02:00
|
|
|
| Exception grant and expiry | Designated control authority and enforcement point | Checks reusable fixtures offline |
|
2026-08-23 10:42:12 +02:00
|
|
|
|
|
|
|
|
The invariant remains: **membership is ours; stance is theirs; the decision
|
|
|
|
|
point is neither.** `flex-auth` remains the only PDP for decisions it renders.
|
|
|
|
|
|
|
|
|
|
## Deliberately absent
|
|
|
|
|
|
|
|
|
|
There is no:
|
|
|
|
|
|
|
|
|
|
- API, daemon, database, controller, scheduler, watch loop, or reload path;
|
2026-08-23 12:35:01 +02:00
|
|
|
- synchronous lookup in an authorization or enforcement path;
|
2026-08-23 10:42:12 +02:00
|
|
|
- central exception store, grant workflow, clock, or expiry evaluator;
|
|
|
|
|
- live policy evaluation or implementation of another repository's control;
|
2026-08-23 12:35:01 +02:00
|
|
|
- fleet discovery, reference repair, registry publication, or workload
|
|
|
|
|
migration;
|
2026-08-23 10:42:12 +02:00
|
|
|
- network segmentation, reef placement, tenancy, identity, or secrets service;
|
|
|
|
|
or
|
|
|
|
|
- authority to publish canon or select a consumer's stance and failure mode.
|
|
|
|
|
|
2026-08-23 12:35:01 +02:00
|
|
|
Exception expiry remains enforced at decision or enforcement time by each
|
|
|
|
|
owning control. The offline checker is conformance evidence, not a live
|
|
|
|
|
decision point.
|
2026-08-19 21:18:44 +02:00
|
|
|
|
|
|
|
|
## Relevant when
|
|
|
|
|
|
2026-08-23 12:35:01 +02:00
|
|
|
- Reproducing or extending v0.1 conformance fixtures.
|
|
|
|
|
- Checking direct declarations or explicit Repo Manager projections offline.
|
|
|
|
|
- Verifying a versioned owner profile is total and fully attributed.
|
|
|
|
|
- Testing an owner exception implementation against the lifecycle boundaries.
|
|
|
|
|
- Reviewing a net-kingdom canon lifecycle/content change.
|
|
|
|
|
- Auditing why no zone-engine runtime exists.
|
2026-08-19 21:18:44 +02:00
|
|
|
|
|
|
|
|
## Not relevant when
|
|
|
|
|
|
2026-08-23 12:35:01 +02:00
|
|
|
- Determining the published rule: read net-kingdom canon.
|
|
|
|
|
- Asking whether a request is allowed: use `flex-auth` or the owning control.
|
|
|
|
|
- Discovering or repairing managed workloads: use Repo Manager and the owning
|
|
|
|
|
catalog.
|
|
|
|
|
- Granting, applying, or expiring a live exception: use the control owner's
|
2026-08-23 10:42:12 +02:00
|
|
|
versioned policy or PEP configuration.
|
2026-08-23 12:35:01 +02:00
|
|
|
- Placing a workload, routing a network, managing identity/tenancy, or handling
|
|
|
|
|
secrets.
|