2026-08-23 13:16:34 +02:00
|
|
|
---
|
|
|
|
|
id: NK-WP-0031
|
|
|
|
|
type: workplan
|
|
|
|
|
title: "Implement deterministic posture and evidence feedback"
|
|
|
|
|
domain: infotech
|
|
|
|
|
repo: net-kingdom
|
2026-10-15 19:29:41 +02:00
|
|
|
status: finished
|
2026-10-11 20:35:13 +02:00
|
|
|
flavor: residual
|
2026-08-23 13:16:34 +02:00
|
|
|
owner: codex
|
|
|
|
|
topic_slug: netkingdom
|
|
|
|
|
planning_priority: P1
|
|
|
|
|
created: "2026-08-23"
|
2026-10-15 19:29:41 +02:00
|
|
|
updated: "2026-10-15"
|
2026-08-23 13:26:15 +02:00
|
|
|
state_hub_workstream_id: "9d7b04f9-3803-5613-b7a5-8bd606c77f5a"
|
2026-08-23 13:16:34 +02:00
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# NK-WP-0031 — Deterministic posture and evidence feedback
|
|
|
|
|
|
|
|
|
|
Authorized by the operator as the next locally owned increment after
|
|
|
|
|
NK-WP-0030. This implements the safe first C6 loop proposed by the 2026-08-23
|
|
|
|
|
scope-to-intent assessment: surface explicit drift as proposals without
|
|
|
|
|
autonomous policy or work-record mutation.
|
|
|
|
|
|
|
|
|
|
## Define freshness, owner, and proposal semantics
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
id: NK-WP-0031-T01
|
|
|
|
|
status: done
|
|
|
|
|
priority: high
|
2026-08-23 13:26:15 +02:00
|
|
|
state_hub_task_id: "917f8856-091e-59f9-b9e4-71a8c9a0d029"
|
2026-08-23 13:16:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Extend Tenancy Posture declarations with optional authoritative repository and
|
|
|
|
|
evidence-freshness metadata. Define deterministic time, owner resolution,
|
|
|
|
|
finding severity, stable identity, and the proposal-only safety boundary.
|
|
|
|
|
|
|
|
|
|
Implemented in Tenancy Posture draft-14, Posture Feedback v0.1, and their
|
|
|
|
|
schemas. Missing authoritative ownership or freshness resolves to `unknown`;
|
|
|
|
|
source-path normalization never becomes owner inference.
|
|
|
|
|
|
|
|
|
|
## Implement the posture feedback evaluator
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
id: NK-WP-0031-T02
|
|
|
|
|
status: done
|
|
|
|
|
priority: high
|
2026-08-23 13:26:15 +02:00
|
|
|
state_hub_task_id: "63486c21-2ca2-5930-bc27-f8acde3eec8f"
|
2026-08-23 13:16:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Validate declarations and emit deterministic JSON findings for overdue/due-soon
|
|
|
|
|
reviews, unknown/expired/due-soon evidence, implemented-but-unevidenced levels,
|
|
|
|
|
and declared gaps. Require explicit `--as-of`; never perform external writes.
|
|
|
|
|
|
|
|
|
|
Implemented under `tools/posture-feedback/`. The emitted report declares that
|
|
|
|
|
external, policy, and declaration writes are all forbidden.
|
|
|
|
|
|
|
|
|
|
## Publish reference workflow and tests
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
id: NK-WP-0031-T03
|
|
|
|
|
status: done
|
|
|
|
|
priority: high
|
2026-08-23 13:26:15 +02:00
|
|
|
state_hub_task_id: "0372c168-b34d-5ad5-8315-be3af74758de"
|
2026-08-23 13:16:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Provide an example declaration and cover freshness boundaries, missing owners,
|
|
|
|
|
multi-service inputs, stable digests, severity exit thresholds, and invalid
|
|
|
|
|
declarations.
|
|
|
|
|
|
|
|
|
|
The checked-in expired-E2 example yields five deterministic proposals at its
|
|
|
|
|
fixed evaluation time. Focused coverage includes every listed boundary plus
|
|
|
|
|
portable source identity.
|
|
|
|
|
|
|
|
|
|
## Obtain audit-core freshness adoption
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
id: NK-WP-0031-T04
|
2026-10-15 19:29:41 +02:00
|
|
|
status: done
|
2026-08-23 13:16:34 +02:00
|
|
|
priority: high
|
2026-08-23 13:26:15 +02:00
|
|
|
state_hub_task_id: "7d2029d2-db8d-526e-ab73-a0751becb193"
|
2026-08-23 13:16:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Ask `audit-core` to add authoritative owner and E2 freshness metadata for
|
|
|
|
|
`WH-ENG-20260822-AUDIT-E2-03`. The evaluator must report its freshness as
|
|
|
|
|
unknown until the source declaration supplies the exact timestamps and
|
|
|
|
|
replacement action; NetKingdom must not parse them from prose.
|
|
|
|
|
|
|
|
|
|
Requested in State Hub message `874e5fa5-e05c-4b1a-a915-26c4dba07b87`.
|
|
|
|
|
The same estate baseline found pre-existing missing evidence entries for
|
|
|
|
|
`railiance-platform` `apps-pg` current R2 and V1; that separate correction was
|
|
|
|
|
routed in `d65f8383-bdab-488e-a36f-f8cabd8a5f65`.
|
|
|
|
|
|
|
|
|
|
## Verify and reconcile
|
|
|
|
|
|
|
|
|
|
```task
|
|
|
|
|
id: NK-WP-0031-T05
|
|
|
|
|
status: done
|
|
|
|
|
priority: medium
|
2026-08-23 13:26:15 +02:00
|
|
|
state_hub_task_id: "b646e6a0-20ba-5377-a3d1-7ae92eb9e936"
|
2026-08-23 13:16:34 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Run focused and repository regression tests, validate schemas and examples,
|
|
|
|
|
reconcile State Hub, and publish the implementation evidence.
|
|
|
|
|
|
|
|
|
|
Verification on 2026-08-23:
|
|
|
|
|
|
|
|
|
|
- 28 focused posture-feedback and tenancy-validator tests passed;
|
|
|
|
|
- 84 root tests passed with the independently packaged `local-identity`
|
|
|
|
|
project excluded, then all 142 `local-identity` tests passed in its own
|
|
|
|
|
environment;
|
|
|
|
|
- both JSON schemas parsed, the fixed-time reference target succeeded, and
|
|
|
|
|
`git diff --check` passed;
|
|
|
|
|
- reuse-surface validated the capability registry entry; and
|
|
|
|
|
- the read-only seven-declaration baseline is recorded in
|
|
|
|
|
`history/2026-08-23-posture-feedback-estate-baseline.md`.
|
|
|
|
|
|
2026-10-15 19:29:41 +02:00
|
|
|
Local implementation was complete on 2026-08-23. T04 adoption completed
|
|
|
|
|
2026-10-15; see the closure evidence below.
|
2026-09-28 12:40:03 +02:00
|
|
|
|
|
|
|
|
## Infrastructure review — 2026-09-28
|
|
|
|
|
|
|
|
|
|
`audit-core/tenancy.yaml` still lacks machine-readable authoritative owner
|
|
|
|
|
and E2 freshness metadata. Its E2 prose retains the August 22 receipt and
|
|
|
|
|
24-hour replacement deadline; report freshness as `unknown` until the required
|
|
|
|
|
fields exist, without renewing that evidence from prose. The September 24
|
|
|
|
|
receiver/database recreate evidence supports V1 only and cannot refresh E2.
|
|
|
|
|
T04 remains `wait`; request the source declaration update and evaluate it with
|
|
|
|
|
an explicit current `--as-of` before closure.
|
|
|
|
|
|
|
|
|
|
The same declaration still describes flex-auth as unauthenticated A0, whereas
|
|
|
|
|
today all six live flex-auth Deployments pass `--caller-auth-mode enforce`.
|
|
|
|
|
The audit-core owner should reconcile that rationale against actual caller
|
|
|
|
|
bindings and policy evidence; deployment flags alone do not prove a new A level.
|
|
|
|
|
|
|
|
|
|
Evidence and cross-plan priorities: [estate review](../history/2026-09-28-open-workplan-infrastructure-review.md).
|
2026-10-11 20:35:13 +02:00
|
|
|
|
|
|
|
|
> 2026-10-11: demoted to `flavor: residual` / `backlog` by founder-authorized triage — off the
|
|
|
|
|
> critical path (identity → authz → secrets → SecurityCase execution). Tasks are unchanged;
|
|
|
|
|
> promote back when demand or risk appears. See the-custodian
|
|
|
|
|
> `history/20261011-netkingdom-security-progress-assessment.md`.
|
2026-10-15 19:29:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
## Adoption and closure — 2026-10-15
|
|
|
|
|
|
|
|
|
|
Founder resumed this workplan after the October 11 triage. All five tasks are
|
|
|
|
|
now done. Audit-core's authoritative `tenancy.yaml` publishes its responsible
|
|
|
|
|
repository plus `evidence_freshness.E2` with observation, original expiry,
|
|
|
|
|
bounded scope, target image digest and replacement action. Source adoption is
|
|
|
|
|
recorded in `audit-core/workplans/ADHOC-2026-10-15.md`.
|
|
|
|
|
|
|
|
|
|
The observation and expiry come from the existing August 22 target receipt
|
|
|
|
|
and declaration: `2026-08-22T22:10:25Z` and `2026-08-23T22:10:25Z`.
|
|
|
|
|
No evidence was renewed from prose or September recovery exercises. The
|
|
|
|
|
posture levels, review dates and evidence references are unchanged.
|
|
|
|
|
|
|
|
|
|
At explicit `--as-of 2026-10-15T17:27:15Z`, the evaluator changes E2 from
|
|
|
|
|
unknown freshness/owner to **expired**, owned by **audit-core**, with the
|
|
|
|
|
exact declared replacement action. The existing overdue posture review also
|
|
|
|
|
routes to audit-core. All ten findings now have an explicit owner; two high
|
|
|
|
|
findings and eight declared gaps remain visible. `--fail-on high` returns
|
|
|
|
|
1 as intended; proposal-only reporting does not mutate declarations or policy.
|
|
|
|
|
|
|
|
|
|
Verification: **28 focused tests passed**, source schema/semantic validation
|
|
|
|
|
passed, repeated current-time reports were byte-identical, and source
|
|
|
|
|
comparison proves that only the new owner/freshness fields changed. Receipt
|
|
|
|
|
and report digests are recorded in the
|
|
|
|
|
[adoption evidence](../docs/evidence/2026-10-15-posture-feedback-adoption/adoption.json),
|
|
|
|
|
with [before](../docs/evidence/2026-10-15-posture-feedback-adoption/before.json)
|
|
|
|
|
and [after](../docs/evidence/2026-10-15-posture-feedback-adoption/after.json) reports.
|
|
|
|
|
|
|
|
|
|
Fresh E2 production is not part of this completed adoption increment. The
|
|
|
|
|
existing live owner work record **AUDIT-WP-0015-T02** remains waiting for
|
|
|
|
|
identity/engagement prerequisites and a separately approved new run. It is
|
|
|
|
|
not closed or authorized by these metadata changes. No live packets, secret
|
|
|
|
|
access, runtime changes or posture-level changes occurred.
|
|
|
|
|
|
|
|
|
|
Security orientation: Emergent Knowledge 0.2.6, package digest
|
|
|
|
|
`8d1d6a9d4d07fec7b619618de7dfe2be2254c1790f85f4198c7fe19db9751c02`.
|
|
|
|
|
`start` and `evidence` were withheld/orientation-only because sources changed;
|
|
|
|
|
source cards, current repository instructions, security companion and original
|
|
|
|
|
owner evidence were reviewed directly. These receipts confer no live authority.
|