From f00440e6cc3d0deba4c7233008cadcb031f990e8 Mon Sep 17 00:00:00 2001 From: tegwick Date: Fri, 23 Oct 2026 06:52:44 +0200 Subject: [PATCH] NK-WP-0049-T24: record founder split (G1 accept, G2 watchdog link, G3 NK-WP-0053 drill intake) Co-Authored-By: Claude Opus 5.5 Assistant: claude-code Assistant-Model: opus Assistant-Process: 696317@bnt-lap001 Assistant-Session: bab9e511-0915-45b3-926a-2fab552edff6 --- WORK-RECORDS.md | 6 +- ...-bootstrap-secret-free-recovery-handoff.md | 14 +++- ...-WP-0053-identity-restore-drill-cadence.md | 75 +++++++++++++++++++ 3 files changed, 91 insertions(+), 4 deletions(-) create mode 100644 workplans/NK-WP-0053-identity-restore-drill-cadence.md diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index 31cffc2..d241783 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -50,6 +50,7 @@ | workplan | NK-WP-0050 | active | — | workplans/NK-WP-0050-playwright-consumer-registration.md | | workplan | NK-WP-0051 | finished | — | workplans/NK-WP-0051-sign-in-diagnosis.md | | workplan | NK-WP-0052 | finished | — | workplans/NK-WP-0052-wave2-resource-right-sizing.md | +| workplan | NK-WP-0053 | proposed | — | workplans/NK-WP-0053-identity-restore-drill-cadence.md | | task | NK-WP-ADHOC-2026-07-02-T01 | done | — | workplans/ADHOC-2026-07-02.md | | task | NK-WP-ADHOC-2026-07-02-T02 | done | — | workplans/ADHOC-2026-07-02.md | | task | NK-WP-ADHOC-2026-08-14-T01 | done | — | workplans/ADHOC-2026-08-14.md | @@ -272,7 +273,7 @@ | task | NK-WP-0049-T21 | wait | — | workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md | | task | NK-WP-0049-T22 | wait | — | workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md | | task | NK-WP-0049-T23 | done | — | workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md | -| task | NK-WP-0049-T24 | wait | — | workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md | +| task | NK-WP-0049-T24 | done | — | workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md | | task | NK-WP-0049-T25 | done | — | workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md | | task | NK-WP-0049-T26 | done | — | workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md | | task | NK-WP-0049-T27 | done | — | workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md | @@ -299,6 +300,9 @@ | task | NK-WP-0051-T05 | done | — | workplans/NK-WP-0051-sign-in-diagnosis.md | | task | NK-WP-0051-T06 | done | — | workplans/NK-WP-0051-sign-in-diagnosis.md | | task | NK-WP-0052-T01 | done | — | workplans/NK-WP-0052-wave2-resource-right-sizing.md | +| task | NK-WP-0053-T01 | todo | — | workplans/NK-WP-0053-identity-restore-drill-cadence.md | +| task | NK-WP-0053-T02 | wait | — | workplans/NK-WP-0053-identity-restore-drill-cadence.md | +| task | NK-WP-0053-T03 | wait | — | workplans/NK-WP-0053-identity-restore-drill-cadence.md | | intake | NK-IN-0001 | closed | blue | docs/intakes/activity-core-ops-sso-operators.md | | intake | NK-IN-0002 | closed | blue | docs/intakes/activity-core-ops-sso-operators.md | | intake | NET-IN-0001 | open | — | intakes/intakes.md | diff --git a/workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md b/workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md index 9f22b1f..bb0d3c2 100644 --- a/workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md +++ b/workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md @@ -703,12 +703,10 @@ T26 separately records accepted guide publication. ```task id: NK-WP-0049-T24 -status: wait +status: done priority: medium assignee: codex -needs_human: true decision_id: "e4c288d9-0b8a-4261-a8bf-0d2a15688615" -blocking_reason: "Limits recorded 2026-10-23; founder chooses accept-with-review-date or intake for G1 second provider, G2 external host-loss detection, G3 recurring drill cadence." depends_on: [NK-WP-0049-T14] state_hub_task_id: "474f5a78-a643-59c6-bcf9-fc4a908dfcb0" ``` @@ -742,6 +740,16 @@ that reuses the T16/T31 tooling). Once the founder answers, record each accepted risk or link each intake, then close this task. No grant, job or watchdog is added here. +2026-10-23: done. The founder resolved decision `e4c288d9` with the recommended +split: +- **G1:** accepted as a bounded residual risk until 2027-01-31. The review is + NK-WP-0053-T03. +- **G2:** linked to the outside-node watchdog that `RAPP-TELEMETRY-WP-0001-T04` + already owes. rapp-telemetry has been asked to cover identity-backup freshness + (the 25-hour bound). +- **G3:** new intake NK-WP-0053 (a quarterly isolated identity restore drill, + registered with disaster-control). + ## Deliver and verify the offline retrieval adapter and recovery tools kit ```task diff --git a/workplans/NK-WP-0053-identity-restore-drill-cadence.md b/workplans/NK-WP-0053-identity-restore-drill-cadence.md new file mode 100644 index 0000000..4280c73 --- /dev/null +++ b/workplans/NK-WP-0053-identity-restore-drill-cadence.md @@ -0,0 +1,75 @@ +--- +id: NK-WP-0053 +type: workplan +title: "Quarterly isolated identity restore drill" +domain: infotech +repo: net-kingdom +status: proposed +flavor: implementation +owner: claude +topic_slug: netkingdom +created: "2026-10-23" +updated: "2026-10-23" +related: + - NK-WP-0049 + - disaster-control/BackupPolicy.md +--- + +# NK-WP-0053 — Quarterly isolated identity restore drill + +Intake for gap G3 of `NK-WP-0049-T24`. On 2026-10-23 the founder resolved decision +`e4c288d9` with the recommended split: G1 (a single off-host provider) is an +accepted residual risk until 2027-01-31; G2 (off-host host-loss detection) is +linked to the outside-node watchdog that `RAPP-TELEMETRY-WP-0001-T04` already +owes; G3 (no recurring drill) is this workplan. + +So far each identity restore has been proved once: LLDAP (NK49-T16), privacyIDEA +token material (T31) and audit (T20), and the archive recovery. This workplan +turns the existing isolated tooling into a recurring, evidenced drill. It adds no +grant, scheduler or production effect; each live drill is an attended owner run. + +## Define the drill and register it with disaster-control + +```task +id: NK-WP-0053-T01 +status: todo +priority: medium +``` + +Write `docs/identity-restore-drill.md`: a quarterly cadence aligned with +disaster-control `BackupPolicy.md`, the fixed scope (archive retrieval and +verification, isolated LLDAP stage, privacyIDEA token-material check), reuse of +`tools/bootstrap-recovery/run-isolated-*.sh` without changes, the evidence +location `docs/evidence/-identity-restore-drill/`, and pass/fail criteria. +Ask disaster-control to add the identity lane to its restore-proof register. + +**Done when:** the drill document is reviewed and disaster-control records the +identity lane with a quarterly restore-proof schedule. + +## Run the first scheduled drill + +```task +id: NK-WP-0053-T02 +status: wait +priority: medium +depends_on: [NK-WP-0053-T01] +blocking_reason: "Attended owner run; the operator holds the backup age key. Due by 2027-01-31, the end of the G1 risk-acceptance window." +``` + +Run the drill in an attended session and retain the value-safe receipts. Any +failure becomes a finding in NK-WP-0049 or its successor; it is never repaired +silently. + +**Done when:** a dated, verified evidence set exists and the next due date is +recorded. + +## Review the G1 residual-risk acceptance + +```task +id: NK-WP-0053-T03 +status: wait +priority: low +blocking_reason: "Founder review due 2027-01-31: renew the single-provider acceptance or open a second-provider intake." +``` + +Use the drill results to put the single-provider question back to the founder.