Record installed inert consumer and canonical runtime proof
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
Reject generated-only commits / generated-commit-guard (push) Successful in 8s

This commit is contained in:
codex 2026-10-16 21:32:07 +02:00
parent cf59a5f9ab
commit 5a50901d9a
29 changed files with 1894 additions and 8 deletions

View file

@ -0,0 +1,8 @@
{
"builder_repo_head": "53f800c4f7a9c91469834d04ef6f58e906b0bd49",
"builder_last_change": "81b5fcff8e881263c885ea1a7e5c0d442f956610",
"builder_script_sha256": "07e9a180dee4e27bb52f4ca2ba13f314ccc8f09a52155e084dc6e88c1e6c36ec",
"execution": "existing sand-boxer builder --owner-runtime, PYTHONPATH set to clean pinned sandboxer221126 source; uv frozen/no-editable/local refresh + tracked source contents verified",
"runtime_path": "/tmp/netkingdom-runtime-canonical-20261016/runtime",
"native_install": false
}

View file

@ -0,0 +1,91 @@
{
"runtime": {
"path": "/tmp/netkingdom-runtime-canonical-20261016/runtime",
"sha256": "f59959b605a51abd2901becde14e7abd852c2bd3f848004b51d250d1cb81af6d"
},
"build": {
"python": "3.12.3",
"packages": {
"h11": "0.16.0",
"httpcore": "1.0.9",
"llm-connect": "0.1.0",
"fastapi": "0.141.1",
"anyio": "4.14.2",
"annotated-doc": "0.0.5",
"idna": "3.18",
"shellingham": "1.5.4",
"certifi": "2026.7.22",
"starlette": "1.6.0",
"PyYAML": "6.0.3",
"typer": "0.27.1",
"toml": "0.10.2",
"pydantic_core": "2.46.4",
"sandboxer": "0.0.0",
"typing_extensions": "4.16.0",
"httpx": "0.28.1",
"Pygments": "2.20.0",
"markdown-it-py": "4.2.0",
"pydantic": "2.13.4",
"rich": "15.0.0",
"rein-aharness": "0.1.0",
"annotated-types": "0.8.0",
"glas-harness": "0.1.0",
"typing-inspection": "0.4.4",
"mdurl": "0.1.2"
},
"claude": {
"path": "/opt/sandboxer/runtime/bin/claude",
"sha256": "19842705e989393fce936804df6d2ab034860e24b8f8880357981d87ffd83fac",
"expected_version": "2.1.266",
"source": "/home/worsch/.local/share/sandboxer/runtimes/818b1b7c8292e904a05e3f215fef9b67a61e7c00d34bfa36689352e8003df359/bin/claude"
},
"relocated_entrypoints": [
"fastapi",
"glas-harness",
"httpx",
"idna",
"llm-connect",
"markdown-it",
"pygmentize",
"rein-aharness",
"sandboxer",
"typer"
],
"source_revisions": {
"rein-aharness": "9b88cadaa817e5abea7950b4a264d4e2739a5ddb",
"llm-connect": "37436bb562a3f20abc3b88defc5bae6508c32e7e",
"glas-harness": "7357115c8311e55ee3d495f5266f501a17ec3c89",
"sandboxer": "221126cb77ea41ec283598a23d628f760a51bdea"
},
"source_contents": {
"files_verified": 168,
"manifest_sha256": "3c5cfd95c0accce81f59fbf06f501db238cca38975cf75d518a7c51986b28968"
},
"owner_runtime": true,
"runtime_contract": {
"dependencies": [
{
"clean": true,
"commit": "37436bb562a3f20abc3b88defc5bae6508c32e7e",
"distribution": "llm-connect",
"version": "0.1.0"
},
{
"clean": true,
"commit": "7357115c8311e55ee3d495f5266f501a17ec3c89",
"distribution": "glas-harness",
"version": "0.1.0"
},
{
"clean": true,
"commit": "221126cb77ea41ec283598a23d628f760a51bdea",
"distribution": "sandboxer",
"version": "0.0.0"
}
],
"ok": true,
"schema_version": "1"
},
"uv_lock_sha256": "8775904b5c0b19aa16e09c25f7e33d1877abeef894b2d0127843c94fcff32683"
}
}

View file

@ -0,0 +1,24 @@
{
"dependencies": [
{
"clean": true,
"commit": "37436bb562a3f20abc3b88defc5bae6508c32e7e",
"distribution": "llm-connect",
"version": "0.1.0"
},
{
"clean": true,
"commit": "7357115c8311e55ee3d495f5266f501a17ec3c89",
"distribution": "glas-harness",
"version": "0.1.0"
},
{
"clean": true,
"commit": "221126cb77ea41ec283598a23d628f760a51bdea",
"distribution": "sandboxer",
"version": "0.0.0"
}
],
"ok": true,
"schema_version": "1"
}

View file

@ -0,0 +1,20 @@
{
"repo": "rein-aharness",
"source_revision": "9b88cadaa817e5abea7950b4a264d4e2739a5ddb",
"command": "statehub fix-consistency --repo rein-aharness --repo-path /home/worsch/rein-aharness --json",
"result": "warn",
"fail": 0,
"automation_error": 0,
"fixes_applied": [
"bindings: synced 9/9",
"C-17 cleared: pushed 1 backlogged commit(s)",
"C-22 fixed: task 80318842 description updated",
"push: pushed"
],
"retained_warnings": [
"C-20 existing ACTIVITY-WP-0026 dependency unlinked",
"C-39 existing T07 needs_human without decision_id"
],
"local_head_equals_origin_main": true,
"working_tree_clean": true
}

View file

@ -0,0 +1,2 @@
....... [100%]
7 passed in 0.61s

View file

@ -0,0 +1,6 @@
{
"rein-aharness": "9b88cadaa817e5abea7950b4a264d4e2739a5ddb",
"llm-connect": "37436bb562a3f20abc3b88defc5bae6508c32e7e",
"glas-harness": "7357115c8311e55ee3d495f5266f501a17ec3c89",
"sand-boxer": "221126cb77ea41ec283598a23d628f760a51bdea"
}

View file

@ -0,0 +1,7 @@
{
"runtime_sha256": "sha256:f59959b605a51abd2901becde14e7abd852c2bd3f848004b51d250d1cb81af6d",
"records_hashed": 1447,
"method": "independent coordinator hashlib; exact owner serialization includes modes, files, directories and symlink targets",
"after_independent_manager_proof": true,
"native_admission": false
}

View file

@ -0,0 +1,66 @@
{
"ok": true,
"runtime_sha256": "f59959b605a51abd2901becde14e7abd852c2bd3f848004b51d250d1cb81af6d",
"gateway": {
"ok": true,
"profile": "harness.agent-dev-local@1.1.1",
"readiness": "unverified",
"proof": {
"installed_packages": true,
"host_file_denied": true,
"inherited_env_and_child_denied": true,
"runtime_readonly": true,
"rein_cli_started": true,
"glas_cli_started": true,
"claude_version": "2.1.266",
"loopback_only": true,
"task_mode": "0600",
"identity_exact": true,
"credential_refs": [],
"private_home": true
},
"task_removed_before_teardown": true,
"workspace_removed": true,
"state": "destroyed",
"source_unchanged": true,
"deterministic_commit": true,
"model_run_proven": false
},
"synthetic_route_fixture": {
"scope": "separate synthetic credential-route fixture using actual manager and gateway",
"routes_by_owner_command": [
[],
[],
[],
[
"synthetic"
],
[],
[],
[],
[],
[],
[]
],
"exactly_one_explicit_workload_delivery": true,
"provider_output_redacted": true,
"subsequent_housekeeping_clean": true,
"workspace_removed": true,
"readiness_changed": false
},
"manager": {
"wrong_consumer_refused": {
"actor": true,
"project": true,
"run_id": true
},
"expired_execution_refused": true,
"expiry_cleanup": true,
"cancellation_cleanup": true,
"execution_after_cancellation_refused": true
},
"model_calls": 0,
"real_credentials_read": false,
"native_admission": false,
"interactive_assignment_migrated": false
}

View file

@ -0,0 +1,178 @@
"""Actual installed manager/gateway proof; deterministic dispatch, no model call.
Run using the candidate Python with -I -B. Only owner configuration directories
are redirected to disposable fixtures; manager, gateway, bwrap, profile and
runtime implementations are the installed, pinned code.
"""
import hashlib
import json
import os
import subprocess
import sys
import tempfile
from datetime import timedelta
from pathlib import Path
import yaml
import sandboxer.extensions.registry as registry
from sandboxer.extensions.runtime import runtime_digest
from sandboxer.core.manager import SandboxManager
from sandboxer.lifecycle.store import SandboxStore, utcnow
from sandboxer.payments.credits import CreditsStore
from sandboxer.snapshots.store import SnapshotStore
from sandboxer.models import Consumer, SandboxCreateRequest, SandboxExecRequest
from glas_harness.contract import ExecutionRequest, ToolResult
from glas_harness.gateway import run_execution
from glas_harness.profiles import ProfileCatalog
from glas_harness.reins.rein_aharness import ReinAharness
RUNTIME = Path(sys.prefix).resolve()
DIGEST = sys.argv[1]
assert runtime_digest(RUNTIME) == DIGEST
os.environ['SANDBOXER_NO_STATE_HUB'] = '1'
DENIED = ('BAO_TOKEN','VAULT_TOKEN','AWS_SECRET_ACCESS_KEY','SSH_AUTH_SOCK')
for key in DENIED:
os.environ[key] = 'synthetic-inherited-only'
class RecordingManager(SandboxManager):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.routes=[]
def execute(self, sandbox_id, request):
self.routes.append(list(request.credential_route_refs))
return super().execute(sandbox_id, request)
class CredentialRein(ReinAharness):
def dispatch_tool(self,session,tool_call):
t=session['transport']
for workload in (False,True,False):
code=("import os; assert os.environ['ANTHROPIC_API_KEY']=='synthetic-provider-only'; print(os.environ['ANTHROPIC_API_KEY'])" if workload else "import os; assert 'ANTHROPIC_API_KEY' not in os.environ; print('clean')")
result=(t.run_workload if workload else t.run)(['python3','-c',code],timeout=15)
assert result.returncode==0, result.stderr
assert result.stdout==('[REDACTED]\n' if workload else 'clean\n')
result=t.run(['sh','-c',"printf 'synthetic tool effect\\n' > proof.txt"],timeout=15)
assert result.returncode==0
for command in (['git','add','proof.txt'],['git','commit','-q','-m','synthetic route fixture']):
assert t.run(command,timeout=30).returncode==0
return ToolResult(ok=True)
class ProofRein(ReinAharness):
def __init__(self, source, sentinel):
super().__init__()
self.source, self.sentinel = source, sentinel
self.proof, self.task_removed, self.workspace = {}, False, None
def start_session(self, profile, inputs, sandbox):
self.workspace = sandbox.reachability['workspace_dir']
return super().start_session(profile, inputs, sandbox)
def dispatch_tool(self, session, tool_call):
code = r'''
import json, os, subprocess, sys, stat
from pathlib import Path
import rein_aharness, glas_harness, sandboxer, llm_connect
runtime = Path('/opt/sandboxer/runtime')
assert all(Path(x.__file__).resolve().is_relative_to(runtime) for x in (rein_aharness,glas_harness,sandboxer,llm_connect))
source, sentinel, task = map(Path, sys.argv[1:])
assert not source.exists() and not sentinel.exists()
assert all(x not in os.environ for x in ('BAO_TOKEN','VAULT_TOKEN','AWS_SECRET_ACCESS_KEY','SSH_AUTH_SOCK','ANTHROPIC_API_KEY'))
child = subprocess.run(['python3','-c',"import os; assert all(k not in os.environ for k in ('BAO_TOKEN','VAULT_TOKEN','AWS_SECRET_ACCESS_KEY','SSH_AUTH_SOCK')); print('clean')"],capture_output=True,text=True)
assert child.returncode == 0 and child.stdout == 'clean\n'
assert stat.S_IMODE(task.stat().st_mode)==0o600
assert json.loads(task.read_text())['max_budget_usd']==5.0
assert os.environ['SANDBOXER_RUN_ID']=='tsa06-candidate-gateway'
assert os.environ['SANDBOXER_ACTOR']=='agt'
assert os.environ['SANDBOXER_PROJECT']=='tsa06-runtime-proof'
assert json.loads(os.environ['SANDBOXER_CREDENTIAL_ROUTE_REFS']) == []
for name in ('rein-aharness','glas-harness'):
proc=subprocess.run([str(runtime/'bin'/name),'--help'],capture_output=True,text=True,timeout=30)
assert proc.returncode==0 and 'usage:' in proc.stdout.lower(), name
proc=subprocess.run([str(runtime/'bin/claude'),'--version'],capture_output=True,text=True,timeout=30)
assert proc.returncode==0 and proc.stdout.strip()=='2.1.266 (Claude Code)'
try: (runtime/'write-probe').write_text('refuse')
except OSError: pass
else: raise AssertionError('runtime writable')
assert [x.split(':',1)[0].strip() for x in Path('/proc/net/dev').read_text().splitlines()[2:]]==['lo']
home=Path(os.environ['HOME']); assert not home.is_relative_to(Path.cwd()); assert stat.S_IMODE(home.stat().st_mode)==0o700
(home/'private-proof').write_text('synthetic')
Path('proof.txt').write_text('disposable deterministic tool effect\n')
print(json.dumps(dict(installed_packages=True,host_file_denied=True,inherited_env_and_child_denied=True,runtime_readonly=True,rein_cli_started=True,glas_cli_started=True,claude_version='2.1.266',loopback_only=True,task_mode='0600',identity_exact=True,credential_refs=[],private_home=True)))
'''
transport=session['transport']
result=transport.run_workload(['python3','-c',code,str(self.source),str(self.sentinel),session['task_file']],timeout=90)
assert result.returncode==0, result.stderr
self.proof=json.loads(result.stdout)
check=transport.run(['python3','-c',"import os,pathlib; assert (pathlib.Path(os.environ['HOME'])/'private-proof').is_file(); assert 'ANTHROPIC_API_KEY' not in os.environ"],timeout=15)
assert check.returncode==0, check.stderr
for command in (['git','add','proof.txt'],['git','commit','-q','-m','disposable deterministic proof']):
check=transport.run(command,timeout=30)
assert check.returncode==0, check.stderr
return ToolResult(ok=True,output=result.stdout)
def cleanup_session(self,session):
super().cleanup_session(session)
self.task_removed=session['transport'].run(['test','!','-e',session['task_file']],timeout=15).returncode==0
assert self.task_removed
with tempfile.TemporaryDirectory(prefix='tsa06-manager-') as temporary:
root=Path(temporary); source=root/'source'; source.mkdir()
for args in (['init','-q'],['config','user.name','Disposable Proof'],['config','user.email','proof@example.invalid']):
subprocess.run(['git','-C',str(source),*args],check=True)
(source/'sentinel').write_text('unchanged')
subprocess.run(['git','-C',str(source),'add','sentinel'],check=True)
subprocess.run(['git','-C',str(source),'commit','-qm','fixture'],check=True)
original_head=subprocess.check_output(['git','-C',str(source),'rev-parse','HEAD'])
sentinel=root/'admin-file-synthetic'; sentinel.write_text('synthetic-file-only')
# Owner config selects the exact artifact. No native owner config is changed.
owner=root/'extensions'; owner.mkdir()
extension=yaml.safe_load((registry.extensions_dir()/'ext.bwrap.yaml').read_text())
extension['config']={'base_dir':str(root/'sandboxes'),'runtime':{'path':str(RUNTIME),'sha256':DIGEST}}
(owner/'ext.bwrap.yaml').write_text(yaml.safe_dump(extension))
registry._EXTENSIONS_DIR=owner
manager=RecordingManager(store=SandboxStore(path=root/'store.json'),credits=CreditsStore(path=root/'credits.json'),snapshots=SnapshotStore(path=root/'snapshots.json'))
catalog=ProfileCatalog(); profile,_=catalog.resolve('harness.agent-dev-local@1.1.1')
assert profile.operational_readiness.status=='unverified' and profile.credential_route_refs==[]
rein=ProofRein(source,sentinel)
result=run_execution(ExecutionRequest(harness_profile_ref=str(profile.ref),repo=str(source),title='candidate runtime proof',description='deterministic no-model acceptance preparation',actor='agt',project='tsa06-runtime-proof',request_id='tsa06-candidate-gateway',report_to_hub=False),catalog=catalog,rein=rein,manager=manager)
assert result.ok, result.tool_error
state=manager.get(result.evidence.sandbox_id)
assert state.state.value=='destroyed' and not Path(rein.workspace).exists() and rein.task_removed
assert subprocess.check_output(['git','-C',str(source),'rev-parse','HEAD'])==original_head and not (source/'proof.txt').exists()
gateway={'ok':True,'profile':str(profile.ref),'readiness':profile.operational_readiness.status,'proof':rein.proof,'task_removed_before_teardown':rein.task_removed,'workspace_removed':True,'state':state.state.value,'source_unchanged':True,'deterministic_commit':True,'model_run_proven':False}
# Separate synthetic route fixture; profile readiness is still unchanged.
provider=root/'provider.py'
provider.write_text("import os,subprocess,sys\nenv={**os.environ,'ANTHROPIC_API_KEY':'synthetic-provider-only'}\nraise SystemExit(subprocess.call(sys.argv[sys.argv.index('--')+1:],env=env))\n")
extension['config']['credential_routes']={'synthetic':{'profiles':['profile.bwrap-local'],'projects':['tsa06-route-fixture'],'actors':['agt'],'exec_argv':['/usr/bin/python3',str(provider),'--']}}
(owner/'ext.bwrap.yaml').write_text(yaml.safe_dump(extension))
fixture_profile=profile.model_copy(update={'credential_route_refs':['synthetic']})
catalog.profiles()[(profile.id,profile.version)]=fixture_profile
before=len(manager.routes)
fixture=run_execution(ExecutionRequest(harness_profile_ref=str(profile.ref),repo=str(source),title='synthetic credential proof',description='synthetic provider only',actor='agt',project='tsa06-route-fixture',request_id='tsa06-synthetic-route',report_to_hub=False),catalog=catalog,rein=CredentialRein(),manager=manager)
assert fixture.ok, fixture.tool_error
fixture_routes=manager.routes[before:]
assert fixture_routes.count(['synthetic'])==1 and all(route in ([],['synthetic']) for route in fixture_routes)
fixture_state=manager.get(fixture.evidence.sandbox_id)
assert fixture_state.state.value=='destroyed' and not Path(fixture_state.inputs['workspace_dir']).exists()
route_proof={'scope':'separate synthetic credential-route fixture using actual manager and gateway','routes_by_owner_command':fixture_routes,'exactly_one_explicit_workload_delivery':True,'provider_output_redacted':True,'subsequent_housekeeping_clean':True,'workspace_removed':True,'readiness_changed':False}
# Actual manager identity, expiry, cancellation, and execution-after-removal checks.
consumer=Consumer(actor='agt',project='tsa06-runtime-proof',run_id='tsa06-cancel')
status=manager.create(SandboxCreateRequest(profile=profile.sandbox_profile,inputs={'repo':str(source)},consumer=consumer),host='localhost')
workspace=Path(status.inputs['workspace_dir'])
try:
refused={}
for field,value in [('actor','adm'),('project','another-project'),('run_id','another-run')]:
try: manager.execute(status.sandbox_id,SandboxExecRequest(command=['true'],consumer=consumer.model_copy(update={field:value})))
except (ValueError,RuntimeError,PermissionError): refused[field]=True
else: raise AssertionError('wrong consumer accepted: '+field)
status.expires_at=utcnow()-timedelta(seconds=1); manager.store.save(status)
try: manager.execute(status.sandbox_id,SandboxExecRequest(command=['true'],consumer=consumer))
except RuntimeError as exc: assert 'expired' in str(exc)
else: raise AssertionError('expired execution accepted')
expiration=manager.expire(apply=True)
assert any(x.sandbox_id==status.sandbox_id and x.action=='destroyed' for x in expiration)
assert not workspace.exists()
finally:
manager.destroy(status.sandbox_id)
cancel=manager.create(SandboxCreateRequest(profile=profile.sandbox_profile,inputs={'repo':str(source)},consumer=consumer.model_copy(update={'run_id':'tsa06-cancel-2'})),host='localhost')
cancel_workspace=Path(cancel.inputs['workspace_dir']); manager.destroy(cancel.sandbox_id)
assert not cancel_workspace.exists()
try: manager.execute(cancel.sandbox_id,SandboxExecRequest(command=['true'],consumer=cancel.consumer))
except RuntimeError: pass
else: raise AssertionError('destroyed sandbox executed')
print(json.dumps({'ok':True,'runtime_sha256':DIGEST,'gateway':gateway,'synthetic_route_fixture':route_proof,'manager':{'wrong_consumer_refused':refused,'expired_execution_refused':True,'expiry_cleanup':True,'cancellation_cleanup':True,'execution_after_cancellation_refused':True},'model_calls':0,'real_credentials_read':False,'native_admission':False,'interactive_assignment_migrated':False},indent=2))

View file

@ -0,0 +1,34 @@
# Browser acceptance dependency checkpoint
NK-WP-0048 source repair, 16 October 2026. Source commit `015694e`.
The current owner-local blocker was a contract mismatch: Warden's existing
`execution_descriptors` map was forbidden by NetKingdom's closed JSON schema,
while NetKingdom's Python validator silently accepted malformed map values.
That would prevent valid future descriptor source integration and could crash
the evidence compatibility path. The repair adds the optional bounded exact-byte
pin map to the schema and semantic validation, binds keys to declared steps, and
makes the direct evidence API refuse malformed maps. It supplies no descriptors,
owner acknowledgment, admission callback or execution authority.
Validation: 21 new contract checks; all 127 affected tests pass in an isolated
checkout and canonical owner source. The canonical run reports two read-only
pytest cache warnings. Focused diff whitespace checking passes. The normal Git
scanner accepted all six committed files. Existing staged brief and unrelated
changes are preserved. Exact base/file hashes and preserved type/case hashes are
in `validation.json`; `implementation.patch` retains the source repair.
The workplan now records completed checker source (T10), completed pin-contract
repair (T11), and the independently actionable next source task: NetKingdom-owned
attended registration/config/env/group adapters or receipt-only steps (T12).
T06 retains native acceptance and T07 remains dependent. This records outcomes
without counting fixtures as operational proof.
The first browser case still lacks exact independently admitted owner descriptors
and adapters, authenticated native structural/status-binding receipts for all six
1.2 objects, exact broker/case source reconciliation, separately authorized
mint/delivery, attended registry/group execution, real human sign-in and denied
groups, revocation and created-only rollback. Canonical 1.1 remains acknowledged
with its historical accepted case; 1.2 remains acknowledged with a proposed case.
Ordinary admission refuses both unimplemented types. TSA-04 and TSA-05 remain open.
No credentials, live security changes or other owner's assent were requested.

View file

@ -0,0 +1,16 @@
{
"observed_at": "2026-10-16T19:26:32.083837+00:00",
"commit": "015694ee414c802dc2ef1fa0120dfed610086e69",
"exact_committed_files_verified": [
"canon/schemas/security-case-type_v0.1.schema.json",
"tools/security-case-types/security_case_validator.py",
"tools/security-case-types/security_case_evidence.py",
"tools/security-case-types/README.md",
"tools/security-case-types/tests/test_descriptor_pins.py",
"workplans/NK-WP-0048-security-case-types.md"
],
"origin_ancestry_verified": true,
"independent_test_command": "python3 -m pytest -q -p no:cacheprovider tools/security-case-types/tests/test_descriptor_pins.py",
"independent_passed": 21,
"native_acceptance": false
}

View file

@ -0,0 +1,49 @@
{
"schema": "netkingdom.browser-source-checkpoint.v1",
"source_base": "8ae5150d4d43c8dd39175f0ba260198a3c022843",
"changed_files": {
"canon/schemas/security-case-type_v0.1.schema.json": "313bc162c1d1ea44895d14a2db9d56b89e48a274f0ff7dba23d72c861e452556",
"tools/security-case-types/security_case_validator.py": "1bcc62e9bc374c711363295549f3cd5bb0b32952671ed4b08fddc7f74742959b",
"tools/security-case-types/security_case_evidence.py": "da8efa59c52ad73283397ebe639ae259d0cb9c6348b5cb829135c24230dcdc75",
"tools/security-case-types/README.md": "27bcc2f341a80f034f61ab7a5f317117dabc833d415ad58a93526c7639da3e9d",
"tools/security-case-types/tests/test_descriptor_pins.py": "e3b6fe077f4a74bd3458d19b105797da339d1fdbc6dab71079e75111da2f2fb4",
"workplans/NK-WP-0048-security-case-types.md": "47453bdd6743f3a02676bda4c21b15985dc446e4733ad92ab192a21a71b7bb61"
},
"unchanged_case_type_files": {
"security-case-types/oidc-browser-relying-party/type.yaml": "f705c64e4875e9b8e18a912fb51c135e77898926d6a451f5cb74ab3c0cbe4d1c",
"security-cases/forgejo-netkingdom-oidc.yaml": "bcc2c6d5bae0d28242b3cdb71e74d8ca297c2afe04766b55d53597f86893351d",
"security-case-type-revisions/1.2/oidc-browser-relying-party/type.yaml": "9e60ff569fb0d860a2bbde7bbb0991a54d4b0688f62b56df0fa5d161fd624578",
"security-case-type-revisions/1.2/oidc-browser-relying-party/examples/forgejo.yaml": "1c868c1da7d9077fae97bc6bc029706ec3dc418cfeaae30dc0f92b5b4ba6f2ab"
},
"tests": {
"new_pin_contract": 21,
"affected_suite": 127
},
"reproduced_original_gap": {
"python_accepts_valid_pin": true,
"schema_refuses_valid_pin": "additionalProperties",
"python_accepts_list_instead_of_map": true
},
"native_complete": false,
"execution_permitted": false,
"knowledge_package": {
"version": "0.2.6",
"digest": "8d1d6a9d4d07fec7b619618de7dfe2be2254c1790f85f4198c7fe19db9751c02",
"status": "withheld; source reviewed directly"
},
"source_commit": "015694ee414c802dc2ef1fa0120dfed610086e69",
"canonical_suite": {
"passed": 127,
"warnings": "two pytest cache writes refused by canonical read-only filesystem",
"native_acceptance": false
},
"publication": {
"remote_main": "015694ee414c802dc2ef1fa0120dfed610086e69",
"staged_scanner": "clean; six blobs",
"receive_scanner": "clean; fourteen objects / one ref",
"preexisting_staging_preserved": [
".custodian-brief.md"
],
"projection_sync": "coordinating final combined owner sync with root; no index mutation by this worker"
}
}

View file

@ -0,0 +1,25 @@
{
"schema": "custodian.netkingdom-checkpoint-publication.v1",
"commit": "cf59a5f9aba994058adfde57bbaa37b93c4b6ebe",
"head_equals_origin_main": true,
"normal_command": "statehub fix-consistency --repo the-custodian --repo-path /home/worsch/the-custodian --no-writeback --json",
"exit_code": 0,
"summary": {
"fail": 0,
"automation_error": 0,
"warn": 7,
"info": 4
},
"fixes_applied": [
"bindings: synced 89/89",
"C-17 cleared: pushed 1 backlogged commit(s)",
"C-22 fixed: task 6aca534c\u2026 description updated",
"push: pushed"
],
"source_revision_reason": "dirty_workplans",
"scope": "25 public metadata/preflight/owner-review artifacts; followup implementation/workplan edits were still uncommitted at this first publication.",
"original_staged_brief_and_worktree_restored": true,
"initial_commit_refusal": "Public source hashes triggered unchanged scanner; typed SHA-256 formatting preserved values and passed. Original refusal and hashes retained.",
"no_scanner_bypass": true,
"native_gate_completion": false
}

View file

@ -0,0 +1,370 @@
{
"providers": 60,
"entries": 71,
"errors": 0,
"warnings": 0,
"results": [
{
"repo": "access-engine",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "activity-core",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "agentic-resources",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "approval-engine",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "audit-core",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "coordination-engine",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "emergent-security",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "fin-hub",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "gate-house",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "glas-harness",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "info-tech-canon",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "informed-decision",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "issue-core",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "key-cape",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "kings-guard",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "maturity-engine",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "net-kingdom",
"entries": 6,
"errors": [],
"warnings": []
},
{
"repo": "ops-bridge",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "ops-mason",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "ops-warden",
"entries": 3,
"errors": [],
"warnings": []
},
{
"repo": "policy-nexus",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rail-knative",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rail-kubernetes",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "railiance-apps",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "railiance-bootstrap",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "railiance-cluster",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "railiance-enablement",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "railiance-fabric",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "railiance-forge",
"entries": 2,
"errors": [],
"warnings": []
},
{
"repo": "railiance-infra",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "railiance-master",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "railiance-platform",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "railiance-telemetry",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rapp-openbao",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rapp-playwright",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rapp-policy-nexus",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rapp-postgres",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rapp-sbom-nexus",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rapp-telemetry",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rapp-tenant-engine",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rapp-user-engine",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "reef-railiance",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rein-aharness",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "rein-openweights",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "repo-manager",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "resource-control",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "reuse-surface",
"entries": 3,
"errors": [],
"warnings": []
},
{
"repo": "risk-nexus",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "role-engine",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "runbook-tutorials",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "sand-boxer",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "sbom-nexus",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "secrets-engine",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "security-canon",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "state-hub",
"entries": 2,
"errors": [],
"warnings": []
},
{
"repo": "tenant-engine",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "the-custodian",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "user-engine",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "whitehat-security",
"entries": 1,
"errors": [],
"warnings": []
},
{
"repo": "zone-engine",
"entries": 1,
"errors": [],
"warnings": []
}
],
"scope": "Current canonical native validator function across all reviewed provider roots; not hosted refresh or native capability acceptance",
"retained_probe_refinement": "First coordinator invocation used incorrect function arguments and produced no validation result; corrected to inspected signature."
}

View file

@ -0,0 +1,26 @@
{
"observed_at": "2026-10-16T19:25:10.598961+00:00",
"url": "https://reuse.coulomb.social/v1/federated?refresh=true",
"composed_at": "2026-10-16T19:25:11+00:00",
"stale": false,
"federation_warnings": null,
"total": 114,
"reviewed": 70,
"reviewed_exactly_once_correct_owner": true,
"errors": [],
"corrected_fields": [
{
"id": "capability.security.bootstrap-recovery",
"summary_equal": true,
"tags_equal": true,
"hosted_summary": "Guarded bootstrap custody, encrypted identity backup capture, independent retrieval and isolated recovery verification."
},
{
"id": "capability.railiance.bootstrap-sequencing",
"summary_equal": true,
"tags_equal": true,
"hosted_summary": "Bare-VM to estate sequence and handoff contract."
}
],
"scope": "Discovery/index parity only; no runtime acceptance or maturity promotion."
}

View file

@ -0,0 +1,96 @@
{
"source_commits": {
"reuse-surface": "dd00b27b4ce77180b01c5756c2a3841819fcac76",
"net-kingdom": "49ddde451a69818b9558654fbc7d5744a80777fb",
"railiance-bootstrap": "6927f5ec6406fd975530f469d949901d968c1afb"
},
"record_commits": {
"reuse-surface": "01af18964b170eaa87f8560ce9285518e8dc6d7e",
"railiance-bootstrap": "8d23103af2d5ff0da4eb5f612ea2bf09d8ff7344",
"net-kingdom": "3223039 (normal concurrent identifier assignment)"
},
"new_cli_tests": 23,
"root_independent_checks": "30 parity/native-registry checks passed across 27 initial passing tests and 3 required filesystem-approved reruns; sandbox write failures retained.",
"malformed_regression_scope": [
"index schema is not validated before _check_index_drift; validate mappings/list/string id/path before Counter",
"availability null/list: do not call .get on nonmapping",
"null/list frontmatter: retain parser failure, no projection traceback",
"malformed YAML frontmatter/index: normal validation error"
],
"normal_publication": {
"reuse_initial": {
"exit": 0,
"fail": 0,
"automation_error": 0,
"warn": 8,
"source_pushed": true
},
"net-kingdom": {
"exit": 0,
"fail": 0,
"automation_error": 0,
"warn": 26,
"source_pushed": true
},
"bootstrap_initial": {
"exit": 1,
"fail": 11,
"automation_error": 0,
"warn": 38,
"source_pushed": true
},
"reuse_final": {
"source_revision": "01af18964b170eaa87f8560ce9285518e8dc6d7e",
"summary": {
"fail": 0,
"automation_error": 0,
"warn": 7,
"info": 0
},
"result": "warn",
"fixes_applied": [
"bindings: synced 27/27",
"C-17 cleared: pushed 1 backlogged commit(s)",
"C-22 fixed: task 63c0e025\u2026 description updated",
"push: pushed"
]
},
"bootstrap_final": {
"source_revision": "8d23103af2d5ff0da4eb5f612ea2bf09d8ff7344",
"summary": {
"fail": 11,
"automation_error": 0,
"warn": 36,
"info": 0
},
"result": "fail",
"fixes_applied": [
"bindings: synced 12/12",
"C-17 cleared: pushed 1 backlogged commit(s)",
"push: pushed"
]
}
},
"limits": "No production deployment, model spend, credential access or external messages. Root independently refreshed/read hosted federation after normal source publication. This bounded parity/uniqueness repair does not close all TSA-11 requirements or the TSA-12 runtime schedule.",
"preserved_state": {
"net-kingdom_brief": "Exact original staged blob/mode and worktree restored after observed post-sync hash/index race checks. Other staging untouched.",
"net-kingdom_work_records": "Current file preserved amid concurrent recovery owner sync; original preimage retained in /tmp/netkingdom-discovery-preexisting-state.",
"test_generated_outputs": "Six originally clean Reuse graph/catalog/federation outputs restored after checks; no generated test output staged.",
"guard_refusal": "Automatic brief-only commit refusals retained without bypass. Generated brief/WORK-RECORDS changes may remain from normal sync."
},
"hosted_readback": {
"root_receipt": "coordinator-hosted-refresh.json",
"composed_at": "2026-10-16T19:25:11+00:00",
"reviewed_exactly_once": 70,
"reviewed_correct_owner": 70,
"cohort_local_errors": 0,
"cohort_local_warnings": 0,
"both_owner_metadata_corrections_match_entries": true,
"warning_header": null
},
"ci_readback": {
"status": "unverified",
"public_actions_api_http_status": 404,
"receipt": "public-ci-readback.json"
}
}

View file

@ -0,0 +1,79 @@
# KeyCape recovery acceptance next — 2026-10-16
Published owner source: key-cape `3c71226a1a7b8a2bdb710e9c497e1a1f7f8a3987`
(`origin/main` matched after push). Only KEY-WP-0040 changed; preexisting staged
`.custodian-brief.md` and unstaged `WORK-RECORDS.md` remain outside this commit.
The patch is retained alongside this note.
KEY-WP-0040-T02 did **not** still need publication: the founder's October15
release of image `cdec9dd7…` from `8c6c071` already includes `205a1c0`, the help
link. Corrected the stale source-only statements by dated reconciliation with
references to `key-cape/docs/operations.md` and KEY-WP-0041-T02. Existing
user-engine attended procedure now has an exact resume point in KEY-WP-0040:
observe the OTP link, then use platform-root's own fresh AAL2 session to preview
tegwick through the supported recovery form. A changed factor must be reconciled,
not forced to the historical suffix. T01 and T02 remain progress, and U08 remains
open until the attended audited recovery, replacement enrollment and fresh login.
No authenticated preview or factor change was performed.
Validation: 20 existing recovery tests passed; source ancestry confirms
`205a1c0` is in `8c6c071`; exact-file diff check passed. These are preparation
checks, not estate acceptance. Required `statehub fix-consistency --repo key-cape
--repo-path /home/worsch/key-cape --no-writeback --json` exited0, synced44/44
bindings, reported zero failures/automation errors and eight warnings (existing
classification/legacy task/dependency/inbox issues). It did not write statuses
back into the preexisting owner work.
## Exact dependency for NetKingdom T18
Use the existing shipped `keycape verify-client` and `keycape login`, documented
in `key-cape/docs/native-authentication.md`; do not add a second verifier.
`src/internal/authclient/verify.go` is the authoritative CLI/check contract.
The isolated restore owner must supply privately:
- The exact admitted archive/manifest/image/target lineage; original signing key,
KeyCape config, client secret deliveries, authentication policy store and
receipt store. Compare archive identity/integrity privately; do not copy their
contents into this evidence directory.
- An isolated transport preserving the **original HTTPS issuer hostname**, trust
and same-origin discovery/token/JWKS endpoints, with only reviewed internal
dependency routes. These commands offer no insecure TLS or plainHTTP bypass.
Restored config must not accidentally reach production LDAP/Authelia/privacyIDEA,
tenant-engine, notification or consumer endpoints. `/readyz` checks LDAP,
Authelia, privacyIDEA and the factor reader; `/healthz` proves only process life.
- A selected already-registered current service consumer with original private
secret delivered to the command environment and exact client ID, audience,
requested scopes, expected subject/tenant/roles and denied scope. No new
registration or grant. `verify-client` emits bounded PASS/FAIL lines and exits
nonzero on failure; it keeps JWTs in memory. Preserve results, not token bodies.
- For human/browser continuity, selected existing owner-held account/factor,
existing approved public-PKCE client/callback and a private browser route.
`keycape login` writes private token output outside Git; it is not the OpenBao
login command. T19 actual retained-token MFA still gates the selected flow.
`verify-client` proves issuance/JWKS/claim/scope behavior for its named
registration. It does not compare the complete archived registry, policy and
receipt identity, demonstrate an actual downstream consumer reconnect, or prove
human MFA. Its optional `-previous-secret-env` is specifically a predecessor
rotation check, not evidence that recovery rotated a secret. The native isolated
adapter must separately demonstrate explicit wrong-secret refusal and selected
consumer outcomes without exporting secrets, and capture public signing-key
fingerprint, exact-source/target binding, registry/policy/receipt comparison
booleans, isolation and cleanup. A discovery or TLS failure is not wrong-secret
refusal. All are required before T18 closes.
No isolated KeyCape restore adapter exists in the inspected current NetKingdom
recovery toolchain. Its archive/containment integration belongs to NetKingdom,
with KeyCape/consumer owner acceptance. This work did not fabricate that assent,
read keys/credentials, execute credential exchange, or make production changes.
## Current recovery boundary
The fresh NetKingdom `actual-isolated-privacyidea-review.json` accepts T20 stored
row audit continuity and T31 retained-token-material readback (five token
materials;279209 historical signatures; no unsigned/invalid rows). This is
stronger than the older archive-only summary. Its explicit
`existing_token_mfa_proven:false` remains binding: T19 actual existing-token MFA,
T17 Authelia authentication/storage and T18 KeyCape/consumer continuity remain
open. Stored-signature continuity does not claim event completeness.

View file

@ -0,0 +1,51 @@
{
"schema": "custodian.keycape-recovery-acceptance-next.v1",
"date": "2026-10-16",
"owner_commit": "3c71226a1a7b8a2bdb710e9c497e1a1f7f8a3987",
"published": true,
"source_tests": {
"existing_recovery_unittests_passed": 20,
"estate_acceptance": false
},
"gate_status": {
"KEY-WP-0040-T01": "progress; actual authenticated preview pending",
"KEY-WP-0040-T02": "progress; published, attended OTP link observation pending",
"NK-WP-0049-T18": "wait; isolated adapter, consumer owner proof and T19 pending",
"NK-WP-0049-T19": "wait; real retained-token MFA pending",
"NK-WP-0049-T20": "done per current independent owner receipt",
"NK-WP-0049-T31": "done per current independent owner receipt"
},
"credentials_accessed": false,
"production_mutated": false,
"live_acceptance_claimed": false,
"sources": [
{
"path": "key-cape/workplans/KEY-WP-0040-mfa-attended-run-findings.md",
"sha256": "c213d8ad5ef2471d1ab8672502b561b9fee84b110575366c09148add83ad9d79"
},
{
"path": "key-cape/docs/operations.md",
"sha256": "e68ec32073b7731214308ccd2fceb522d934b00f1d76e6d438e2870030497cfc"
},
{
"path": "key-cape/workplans/KEY-WP-0041-sign-in-diagnosis-page.md",
"sha256": "7e44f46acd6b3942c1852b49e0d64b205dfd7d9bb378aed5241b1bf22d7ce88a"
},
{
"path": "key-cape/docs/native-authentication.md",
"sha256": "378a5fa8174580bde811b716ec8e987339013b9f8d7725cb398fa3b9f8d95655"
},
{
"path": "key-cape/src/internal/authclient/verify.go",
"sha256": "804735be927ba7d0228ac378056730040d3ccf2ed020b4da0714085bae972f25"
},
{
"path": "net-kingdom/docs/identity-service-restore-packet.md",
"sha256": "6cdcbd113c58b7f0baef327f00caad03a641e81076d1fb06874fad9923ab6d90"
},
{
"path": "net-kingdom/docs/evidence/2026-10-16-identity-outage-recovery/actual-isolated-privacyidea-review.json",
"sha256": "39d274ce99bb8c89281899821a5674d3ef5bbb35f824623cd2c4e08493f85cad"
}
]
}

View file

@ -0,0 +1,50 @@
{
"schema": "secrets-engine.inert-local-prekey-install.v1",
"observed_at": "2026-10-16T19:01:36.301727+00:00",
"installer_runner_sha256": "sha256:64fb4746aead56d7ddd45af17c38d2b6a45e3e7123b94d216d748741c9d18dec",
"owner_review_sha256": "sha256:76eca7bc884bf4e5985330bcb0fbe3ff4a544fd4e5fc9367dbe306483069ec38",
"baseline_sha256": "sha256:72521ff7729f8ddf5176092f3949cd50ac5f9241b0a5d1d30f3c63ce1d83091b",
"install_receipt": {
"admission": "artifact integrity only; trust and keys not admitted",
"helper_sha256": "ed922b62533e4d33ae2d5f11175111f6f28e684a19e63ac704d43b63f0e0e12e",
"launcher_sha256": "f642944e23b2379e870cce68758c2ba42a3d7b16a52948e9ac1a826301c9a1c9",
"manifest_sha256": "105dcebe6f03e9799f91ea75175e20500df2aa7f08b5e32d39c1c367593ca47e",
"prefix": "/home/worsch/.local/share/secrets-engine/releases/4dd004a22501-105dcebe6f03",
"schema": "secrets-engine.cli-install.v1"
},
"configuration_parent": "/home/worsch/.config/secrets-engine/native-lifecycle/lifecycle-20261016-pre-key-r1",
"configuration_files_sha256": {
"catalog/activity-core-metered-worker-token.yaml": "sha256:67d6235bbf6e28b7d1392ff26fd13ce4933843d11407a8fe2b1c793b3748a1f5",
"catalog/email-connect-transactional.yaml": "sha256:7869e96a7fca4c508f8a2a11a9b614db8c8a4100c2402597bde48a06aef77f97",
"catalog/example-build-test-token.yaml": "sha256:6e2396af8c711c10a5af83edb3925227c251e82d16a5d5a7b7a87948e2229f54",
"catalog/forgejo-admin-api-token.yaml": "sha256:193e231c5dbc175e82614fe35092ab649cf4152878f2679332b37888f176a991",
"catalog/glas-claude-agent-dev-anthropic.yaml": "sha256:61f40b124d937516b18b77b3ae3253079f024f4522191e22a81fae3d859abb63",
"catalog/issue-core-ingestion-api-key.yaml": "sha256:401b8c7a57d3e9a54e98711387577ecc6fc0674f2e32759a5c675e1d4adf176f",
"catalog/openrouter-llm-connect.yaml": "sha256:3d46e4896aa3b2a9838f72d4f2e3b1afc9deb2c7b1be0c62ae1900eb9cb1713b",
"catalog/reuse-surface-hub-write-token.yaml": "sha256:6f2ab0e31ba71bffb5d48b8ac787dee52b73f865af1c9f155d5046067a841111",
"catalog/warden-sign.yaml": "sha256:54a9ec01bf87fa3cc6ab75fa6c818c4977f2f70800a16890a836a509ad5c73c9",
"catalog/whynot-design-npm-publish.yaml": "sha256:18ada66f109a5532462b70b4d213bb73c7ab2e0ef9a4a2a149b7f9fcd77b034f",
"environment.proposed.json": "sha256:78a19a1a33f1faf61353ce674048826c89c45e84f15467992fca347679c4908d",
"pep-stance.yaml": "sha256:969ffd12506e2954c273e19ed6505692c1bacbe97a262a85862793254263e737",
"policies/netkingdom-publication-scope.yaml": "sha256:018000cb29edf7707f3885bec2f54285adef1e5a71c749b6b7ab6044203de89b",
"policies/secrets-engine-build.hcl": "sha256:ec5ce1987fbf2818f1ecd612d280cc419990dce12f85d7f5f38b621f4f9dbf69",
"policies/secrets-engine-prod.hcl": "sha256:1d12ca47e4f3ab234370ddfadad2aca8ae0943d95833798be5af0ea09860c6ce",
"policies/secrets-engine-test.hcl": "sha256:53c1d4146116784ba0024cc2c9f318e6443471ee97b7b1d2056ea840eb4ff6f6",
"trust/lifecycle-pre-key.json": "sha256:5f01b418cccef03326c424a1de649a4bde42811aa1e2041a6d0417c8d65a3f6a"
},
"configuration_files_mode": "0600",
"new_directories_mode": "0700",
"evidence_root": "/home/worsch/.local/state/secrets-engine/native-lifecycle/lifecycle-20261016-r1",
"installed_cli_help": true,
"proof": {
"catalog_rows": 10,
"empty_key_refusal_before_caller_or_socket": true,
"backend_configured": false,
"approval_configured": false
},
"source_files_checked": 53,
"caller_created": false,
"native_key_admitted": false,
"protected_effect_authority": false,
"same_uid_code_isolation_established": false
}

View file

@ -0,0 +1,6 @@
{
"initial_sandbox_preflight": "refused root/home UID65534 mapping; no writes",
"host_preflight": "passed after required filesystem escalation with unchanged owner checks",
"actual_install": "passed using normal reviewed installer and filesystem escalation",
"same_uid_isolation": false
}

View file

@ -0,0 +1,127 @@
"""One-off coordinator installation of the selected inert public CLI/config.
Uses the existing owner installer. No caller, key admission or backend access.
"""
import datetime
import hashlib
import json
import os
from pathlib import Path
import stat
import subprocess
import sys
import tempfile
ROOT = Path('/home/worsch/the-custodian')
WAVE = ROOT / 'docs/changes/netkingdom-target-2026-10-16'
REVIEW = WAVE / 'secrets-native-admission-next'
SOURCE = WAVE / 'decision-native-preparation/consumer-admission-r1'
BUNDLE = Path('/tmp/secrets-native-cli-4dd004a-one')
MANIFEST = '105dcebe6f03e9799f91ea75175e20500df2aa7f08b5e32d39c1c367593ca47e'
BASELINE = '72521ff7729f8ddf5176092f3949cd50ac5f9241b0a5d1d30f3c63ce1d83091b'
def sha(path):
return hashlib.sha256(path.read_bytes()).hexdigest()
def controlled_chain(path):
for item in reversed((path, *path.parents)):
if not os.path.lexists(item):
continue
s = item.lstat()
assert stat.S_ISDIR(s.st_mode), f'non-directory parent: {item}'
assert s.st_uid in (0, 1000) and not s.st_mode & 0o022, f'uncontrolled parent: {item}'
def make_parents(path):
controlled_chain(path)
missing = []
item = path
while not item.exists():
missing.append(item)
item = item.parent
for item in reversed(missing):
item.mkdir(mode=0o700)
controlled_chain(path)
assert os.getuid() == os.getgid() == 1000
assert sha(SOURCE / 'consumer-baseline.json') == BASELINE
baseline = json.loads((SOURCE / 'consumer-baseline.json').read_bytes())
assert sha(BUNDLE / 'manifest.json') == MANIFEST
manifest = json.loads((BUNDLE / 'manifest.json').read_bytes())
assert (BUNDLE / 'manifest.json').read_bytes() == (WAVE / 'decision-native-preparation/r2/canonical-bundle-manifest.json').read_bytes()
assert not BUNDLE.is_symlink() and BUNDLE.stat().st_uid == 1000 and stat.S_IMODE(BUNDLE.stat().st_mode) == 0o700
assert {str(p.relative_to(BUNDLE)) for p in BUNDLE.rglob('*') if p.is_file()} == set(manifest['artifacts']) | {'manifest.json'}
for name, expected in manifest['artifacts'].items():
p = BUNDLE / name
assert not any(x.is_symlink() for x in (p, *p.parents))
assert sha(p) == expected, name
for name, expected in manifest['source_files'].items():
assert sha(Path('/home/worsch/secrets-engine') / name) == expected, name
assert sha(BUNDLE / 'install.py') == sha(Path('/home/worsch/secrets-engine/scripts/install_release_bundle.py'))
files = baseline['configuration']['files_sha256']
for name, expected in files.items():
p = SOURCE / 'configuration' / name
assert not any(x.is_symlink() for x in (p, *p.parents))
assert sha(p) == expected.removeprefix('sha256:'), name
assert json.loads((SOURCE / 'configuration/trust/lifecycle-pre-key.json').read_bytes())['keys'] == {}
prefix = Path(baseline['release']['prefix'])
config = Path(baseline['configuration']['parent'])
evidence = Path(baseline['configuration']['evidence_root'])
for path in (prefix, config, evidence):
controlled_chain(path.parent)
assert not os.path.lexists(path), f'selected destination already exists: {path}'
review = json.loads((REVIEW / 'owner-review.json').read_bytes())
assert review['disposition'] == 'select-exact-public-source-bundle-and-empty-key-configuration-for-preparatory-install'
assert review['native_key_admission'] is False and review['effect_authority'] is False
if sys.argv[1:] == ['--check']:
print(json.dumps({'preflight': 'pass', 'source_files': len(manifest['source_files']), 'public_configuration_files': len(files), 'fresh_destinations': True, 'controlled_parent_chains': True}))
raise SystemExit(0)
assert sys.argv[1:] == ['--install']
os.umask(0o077)
for path in (prefix, config, evidence):
make_parents(path.parent)
env = {'PATH': '/usr/bin:/bin', 'UV_CACHE_DIR': tempfile.mkdtemp(prefix='secrets-prekey-install-cache-')}
def checked(argv):
result = subprocess.run(argv, cwd='/tmp', env=env, capture_output=True, text=True, timeout=120)
if result.returncode:
raise RuntimeError(f'public installation/proof command failed, exit {result.returncode}; partial prefixes retained')
return result.stdout
installed = json.loads(checked(['/usr/bin/python3', str(BUNDLE / 'install.py'), '--bundle', str(BUNDLE), '--prefix', str(prefix), '--manifest-sha256', MANIFEST, '--python', '/usr/bin/python3', '--uv', '/home/worsch/.local/bin/uv']))
config.mkdir(mode=0o700)
evidence.mkdir(mode=0o700)
for name in files:
destination = config / name
make_parents(destination.parent)
fd = os.open(destination, os.O_WRONLY | os.O_CREAT | os.O_EXCL | os.O_NOFOLLOW, 0o600)
with os.fdopen(fd, 'wb') as output:
output.write((SOURCE / 'configuration' / name).read_bytes())
s = destination.lstat()
assert s.st_uid == 1000 and stat.S_IMODE(s.st_mode) == 0o600
assert sha(destination) == files[name].removeprefix('sha256:')
help_output = checked([str(prefix / 'bin/secrets-engine'), '--help'])
probe = '''import json,os,pathlib,sys
from secrets_engine.config import Config
from secrets_engine.catalog import load_catalog
from secrets_engine.approval_consume import authorize_action
from secrets_engine.errors import DecisionError
env=json.loads(pathlib.Path(sys.argv[1]).read_bytes());os.environ.update(env)
events=[]
def refuse_io(event,args):
if event.startswith('socket.') or (event=='open' and str(args[0])==env['SECRETS_ENGINE_PDP_TOKEN_FILE']):
events.append(event);raise RuntimeError('credential/network access forbidden during inert proof')
sys.addaudithook(refuse_io)
cfg=Config.load();catalog=load_catalog(cfg.catalog_dir)
assert cfg.bao_addr==cfg.approval_url==''
try:authorize_action(cfg,None,'apply')
except DecisionError as exc:
assert str(exc)=='access-engine responder trust is missing or invalid'
assert str(exc.__cause__)=='missing admitted keys'
else:raise AssertionError('empty trust accepted')
assert not events and len(catalog)==10
print(json.dumps({'catalog_rows':len(catalog),'empty_key_refusal_before_caller_or_socket':True,'backend_configured':False,'approval_configured':False}))
'''
proof = json.loads(checked([str(prefix / 'venv/bin/python'), '-I', '-B', '-c', probe, str(config / 'environment.proposed.json')]))
receipt = {'schema': 'secrets-engine.inert-local-prekey-install.v1', 'observed_at': datetime.datetime.now(datetime.timezone.utc).isoformat(), 'installer_runner_sha256': 'sha256:' + sha(Path(__file__)), 'owner_review_sha256': 'sha256:' + sha(REVIEW / 'owner-review.json'), 'baseline_sha256': 'sha256:' + BASELINE, 'install_receipt': installed, 'configuration_parent': str(config), 'configuration_files_sha256': files, 'configuration_files_mode': '0600', 'new_directories_mode': '0700', 'evidence_root': str(evidence), 'installed_cli_help': bool(help_output), 'proof': proof, 'source_files_checked': len(manifest['source_files']), 'caller_created': False, 'native_key_admitted': False, 'protected_effect_authority': False, 'same_uid_code_isolation_established': False}
(REVIEW / 'actual-prekey-install.json').write_text(json.dumps(receipt, indent=2) + '\n')
print(json.dumps({'installed': str(prefix), 'configuration': str(config), 'public_files': len(files), 'proof': proof, 'receipt': str(REVIEW / 'actual-prekey-install.json')}))

View file

@ -0,0 +1,19 @@
{
"schema": "secrets-engine.inert-install-integration.v1",
"selection_commit": "a4f1802b720b64f2b47483fbd597902bd4c354f5",
"actual_install_record_commit": "535681052cd55ca613706ecc60c39d299929b3c5",
"normal_publication": "both commits pushed successfully; remote scanner clean4objects each",
"normal_commit_scanner": "both explicit-path commits clean1blob each",
"actual_install_receipt_sha256": "sha256:1ab9c271dfb236f09c4528ae18897381f5e404541708bf36f50c41c77d183ba0",
"owner_checkout_modified_only": "existing WP14 work-record; unrelated WORK-RECORDS.md retained; normal fix-consistency regenerated existing brief",
"native_assent": false,
"native_key_admission": false,
"effect_authority": false,
"native_effects_accepted": 0,
"sites": 11,
"handlers": 10,
"first_sync": "pass with known WP13 lifecycle drift and old inbox warnings; T03description synced; generated-only brief commit refused without bypass",
"second_sync": "pass:0automation-error,0assessment-fail,4warn,1info;16/16bindings and T03description synced; known WP13proposed/active drift and old inbox warnings retained; generated-only brief commit rejected without bypass; push completed",
"progress_receipt_id": "7b2994e5-2a37-4687-b197-bbb4e9e57686",
"unrelated_owner_status_after_commits": "M .custodian-brief.md (preexisting staged, normal consistency regeneration); M WORK-RECORDS.md (preexisting unstaged), no other owner changes"
}

View file

@ -0,0 +1,26 @@
{
"schema": "secrets-engine.public-preparatory-install-owner-selection.v1",
"disposition": "select-exact-public-source-bundle-and-empty-key-configuration-for-preparatory-install",
"reviewer_role": "secrets-engine-owner-reviewer",
"owner_head": "3718e60d7385db091d3423352f44e922863087de",
"owner_work_record": "workplans/SECRETS-WP-0014-pdp-transport-and-responder-authentication.md",
"owner_work_record_preimage_sha256": "sha256:2951cb7876801eff74af121c5d948c03f82ef53f25812e656342333e7561acb6",
"patch_sha256": "sha256:938fa7de2e1bc42ac919815f519637c39a7ccf1cd65ce4b2de3640c71bd63472",
"canonical_write_performed": false,
"native_owner_assent_supplied": false,
"native_key_admission": false,
"actual_home_install_performed": false,
"effect_authority": false,
"runtime_defect_found": false,
"corrected_stale_finding": "ConsumerR1 historical P1/failed400 image warning is superseded for exact PlatformP4/AccessR2 source join only; old bytes and review evidence preserved.",
"current_owner_dirty_state": "Pre-existing staged .custodian-brief.md and unstaged WORK-RECORDS.md retained; neither modified.",
"unchanged_gates": [
"WP14T02 progress",
"WP14T03 wait",
"TSA01 open",
"TSA02 open",
"TSA03 open",
"effect acceptance0/11 across10handlers"
],
"public_only": true
}

View file

@ -0,0 +1,39 @@
{
"result": "pass",
"public_source_files_verified": 53,
"consumer_manifest_sha256": "sha256:7f4a49064b459a3b087943a00241eb9f744e3768f5c4139d1821d799ff2e584a",
"platform_p4_manifest_sha256": "sha256:9eec861838a8e9138f2c821cff3014998fbe74bb01447642bf50d44e8b3b7cb3",
"access_r2_manifest_sha256": "sha256:5be7a7f438624dcb35b7dbc96e7c9e5a8e2d5d1b1966cb4338aa5aecbe3a8b59",
"baseline_sha256": "sha256:72521ff7729f8ddf5176092f3949cd50ac5f9241b0a5d1d30f3c63ce1d83091b",
"bundle_manifest_sha256": "sha256:105dcebe6f03e9799f91ea75175e20500df2aa7f08b5e32d39c1c367593ca47e",
"disposable_prefix": "/tmp/secrets-owner-preparation-r9dkqm6h/installed",
"install_receipt": {
"admission": "artifact integrity only; trust and keys not admitted",
"helper_sha256": "ed922b62533e4d33ae2d5f11175111f6f28e684a19e63ac704d43b63f0e0e12e",
"launcher_sha256": "d8fa2d1cacd5a1fd2924848c6b24f147cb61fc46b19feafd6845dee3adc22f96",
"manifest_sha256": "105dcebe6f03e9799f91ea75175e20500df2aa7f08b5e32d39c1c367593ca47e",
"prefix": "/tmp/secrets-owner-preparation-r9dkqm6h/installed",
"schema": "secrets-engine.cli-install.v1"
},
"installed_cli_help": true,
"baseline_probe": {
"empty_trust_refusal": "before caller or socket access",
"catalog_rows": 10,
"backend_address": "",
"approval_url": ""
},
"existing_prefix_refused": true,
"current_owner_runtime_matches_bundle_sources": true,
"consumer_platform_access_joins": "pass",
"native_install": false,
"key_or_credential_read_or_mint": false,
"native_assent_created": false,
"native_effects_accepted": 0,
"native_effect_sites": 11,
"handlers": 10,
"retained_harness_failure": "First minimal PATH omitted uv; installer refused before venv creation and marked partial /tmp prefix. Corrected harness selects the existing explicit uv binary and uses a fresh disposable prefix. No runtime patch or retry into failed prefix.",
"uv_binary": "/home/worsch/.local/bin/uv",
"access_offline_tool_sha256": "sha256:33d3c50aba51b85cf85d2e234268e903004894299efc9b3745e0980c55578280",
"access_api_sign_and_receipt_tool_diff_2b064ee_to_image84c78e0": "empty; exact git diff checked",
"owner_work_record_patch_apply_check": "pass; canonical owner files unchanged"
}

View file

@ -1,6 +1,6 @@
{
"schema": "custodian.netkingdom-source-wave.v1",
"observed_at": "2026-10-16T18:28:18.107141+00:00",
"observed_at": "2026-10-16T19:30:27.788551+00:00",
"coordinator": "CUST-WP-0080-T06",
"source_slices": [
{
@ -341,6 +341,110 @@
"native_accepted": false,
"receipt": "platform-signer-custody/native-owner-boundary-r5/canonical-integration.json",
"patch_sha256": "sha256:43264f13da5ff20267dea424a7c7d8d911f7601edca6871f31394e0c292fcd59"
},
{
"repo": "access-engine",
"slice": "access-native-plan-review-next",
"commit": "d328a2601095686f74376d87791bff01e2a3a2a3",
"receipt": "access-native-plan-review-next/integration-receipt.json",
"native_accepted": false,
"published": true
},
{
"repo": "railiance-platform",
"slice": "platform-native-plan-review-next",
"commit": "08c1f036f2750097750f435efd76e8f6ee6df393",
"receipt": "platform-native-plan-review-next/publication-receipt.json",
"native_accepted": false,
"published": true
},
{
"repo": "secrets-engine",
"slice": "inert-native-package-selection",
"commit": "a4f1802b720b64f2b47483fbd597902bd4c354f5",
"receipt": "secrets-native-admission-next/integration.json",
"native_accepted": false,
"published": true
},
{
"repo": "secrets-engine",
"slice": "inert-native-package-install",
"commit": "535681052cd55ca613706ecc60c39d299929b3c5",
"receipt": "secrets-native-admission-next/integration.json",
"native_accepted": false,
"published": true
},
{
"repo": "rein-aharness",
"slice": "canonical-combined-runtime",
"commit": "9b88cadaa817e5abea7950b4a264d4e2739a5ddb",
"receipt": "agent-isolation-next/canonical-publication.json",
"native_accepted": false,
"published": true
},
{
"repo": "net-kingdom",
"slice": "browser-descriptor-pin-contract",
"commit": "015694ee414c802dc2ef1fa0120dfed610086e69",
"receipt": "browser-acceptance-next/validation.json",
"published": true,
"native_accepted": false
},
{
"repo": "reuse-surface",
"slice": "native-index-parity",
"commit": "dd00b27b4ce77180b01c5756c2a3841819fcac76",
"published": true,
"native_accepted": false,
"receipt": "source-wave12-coordinator-review.json"
},
{
"repo": "reuse-surface",
"slice": "native-index-parity-record",
"commit": "01af18964b170eaa87f8560ce9285518e8dc6d7e",
"published": true,
"native_accepted": false,
"receipt": "source-wave12-coordinator-review.json"
},
{
"repo": "railiance-bootstrap",
"slice": "owner-index-parity",
"commit": "6927f5ec6406fd975530f469d949901d968c1afb",
"published": true,
"native_accepted": false,
"receipt": "source-wave12-coordinator-review.json"
},
{
"repo": "railiance-bootstrap",
"slice": "owner-index-parity-record",
"commit": "8d23103af2d5ff0da4eb5f612ea2bf09d8ff7344",
"published": true,
"native_accepted": false,
"receipt": "source-wave12-coordinator-review.json"
},
{
"repo": "net-kingdom",
"slice": "owner-recovery-index-parity",
"commit": "49ddde451a69818b9558654fbc7d5744a80777fb",
"published": true,
"native_accepted": false,
"receipt": "source-wave12-coordinator-review.json"
},
{
"repo": "railiance-cluster",
"slice": "native-runtime-storage-plan-review",
"commit": "cac8eabef5a0d0990a7b0de8f5e2c762666ac7f0",
"published": true,
"native_accepted": false,
"receipt": "source-wave12-coordinator-review.json"
},
{
"repo": "key-cape",
"slice": "published-recovery-journey-reconciliation",
"commit": "3c71226a1a7b8a2bdb710e9c497e1a1f7f8a3987",
"published": true,
"native_accepted": false,
"receipt": "source-wave12-coordinator-review.json"
}
],
"integrity_note": "Canonical owner commits are the durable source. Raw patches and temporary reconstructions are workspace-local review artifacts; their hashes retain revision identity. No runtime admission follows from these commits.",
@ -350,7 +454,8 @@
"Historical (resolved by Access B1 reconciliation): Access initial State Hub timeout preserved; retry succeeded38/38 but T05/T06 indexing needs second pass after reopened workplan.",
"Generated-only writeback commit refusals retained; no scanner bypass.",
"Platform scanner ref race retried through normal owner sync after review.",
"Historical (resolved by Access B1 reconciliation): Access follow-up task-index repair timed out again; producer source remains published. Owner admission preparation also tracks qualified wait metadata."
"Historical (resolved by Access B1 reconciliation): Access follow-up task-index repair timed out again; producer source remains published. Owner admission preparation also tracks qualified wait metadata.",
"Bootstrap source/binding publication succeeded; normal consistency retains 11 preexisting validation failures and 36 warnings, 0 automation errors. Reuse public CI API returned404; no CI success inferred."
],
"remaining_critical_path": [
"Admit independently approved signer custody/public trust, actual stopped fence and PV retention, consumer bundle/config/caller; verified image and local draft package are preparation evidence",
@ -359,10 +464,11 @@
"Actual browser identity/case, agent isolation, runner isolation, independent service recovery and all sixteen TSA gates"
],
"canonical_receipt_verification": {
"checked_at": "2026-10-16T18:28:18.107141+00:00",
"scope": "two new source slices plus cluster own-review work record",
"all_commit_file_hashes_match": true,
"checked_at": "2026-10-16T19:21:15.121893+00:00",
"scope": "five new owner source/work-record commits; exact committed files hashed and origin ancestry verified",
"all_commits_ancestor_of_origin_main": true,
"native_acceptance": false
"native_acceptance": false,
"receipt": "source-wave11-coordinator-review.json",
"additional_review": "source-wave12-coordinator-review.json"
}
}

View file

@ -0,0 +1,112 @@
{
"schema": "custodian.netkingdom-checkpoint-review.v1",
"observed_at": "2026-10-16T19:21:15.121893+00:00",
"published_owner_commits": [
{
"repo": "access-engine",
"slice": "access-native-plan-review-next",
"commit": "d328a2601095686f74376d87791bff01e2a3a2a3",
"receipt": "access-native-plan-review-next/integration-receipt.json",
"ancestor_of_origin_main": true,
"files": [
{
"path": "workplans/FLEX-WP-0024-decision-envelope-authenticity.md",
"committed_sha256": "sha256:cc94a493c23c16a3baa718b75ef5d48a596c6386c11534d50fd4839a6f0448f2"
}
],
"native_accepted": false
},
{
"repo": "railiance-platform",
"slice": "platform-native-plan-review-next",
"commit": "08c1f036f2750097750f435efd76e8f6ee6df393",
"receipt": "platform-native-plan-review-next/publication-receipt.json",
"ancestor_of_origin_main": true,
"files": [
{
"path": "credential-change-requests/CCR-2026-0050-flex-auth-envelope-signing.yaml",
"committed_sha256": "sha256:66b3ea12d3f3bb870fa0aa0e7598e32abdb9bf39efe1adcfac286407abeb98e4"
},
{
"path": "docs/evidence/2026-10-16-flex-auth-native-plan-public-supplement.json",
"committed_sha256": "sha256:f02a9b595d9246a358d19b37bdad8fde158b7f0c9657a6ff088874732511a32c"
},
{
"path": "docs/evidence/2026-10-16-flex-auth-native-plan-review.json",
"committed_sha256": "sha256:3a2b4e8a410ffa241540afcd25c1dc2036eab93f433feeaa7708bda9f2175f20"
},
{
"path": "workplans/RPF-WP-0035-credential-lane-implementation.md",
"committed_sha256": "sha256:139e4a6dd53f02cd184ebb12a5c30bcbfd0993cf9fdf1f42a1aa27b0823f32cf"
}
],
"native_accepted": false
},
{
"repo": "secrets-engine",
"slice": "inert-native-package-selection",
"commit": "a4f1802b720b64f2b47483fbd597902bd4c354f5",
"receipt": "secrets-native-admission-next/integration.json",
"ancestor_of_origin_main": true,
"files": [
{
"path": "workplans/SECRETS-WP-0014-pdp-transport-and-responder-authentication.md",
"committed_sha256": "sha256:2712d3a4a4e551851645e5d4d79ebe41e5786bad334b1b709b85004690862eb2"
}
],
"native_accepted": false
},
{
"repo": "secrets-engine",
"slice": "inert-native-package-install",
"commit": "535681052cd55ca613706ecc60c39d299929b3c5",
"receipt": "secrets-native-admission-next/integration.json",
"ancestor_of_origin_main": true,
"files": [
{
"path": "workplans/SECRETS-WP-0014-pdp-transport-and-responder-authentication.md",
"committed_sha256": "sha256:6cb4ec3500cddd5156235f1a493d7a979227a6b04eb037bacd23073fd1328efe"
}
],
"native_accepted": false
},
{
"repo": "rein-aharness",
"slice": "canonical-combined-runtime",
"commit": "9b88cadaa817e5abea7950b4a264d4e2739a5ddb",
"receipt": "agent-isolation-next/canonical-publication.json",
"ancestor_of_origin_main": true,
"files": [
{
"path": "deploy/runtime-contract-lock.json",
"committed_sha256": "sha256:c01a46e66eccac750407b863ef0379bfeaa658886fe8bad4b952fcede7360816"
},
{
"path": "workplans/REINAH-WP-0008-simpler-metered-retry.md",
"committed_sha256": "sha256:9aac375bdb2e93c57cd513ab8cd5bf0c0979a0699ea0181e6d405899d906bf68"
}
],
"native_accepted": false
}
],
"native_gate_completion": false,
"scope": "Bounded owner plan reviews, actual inert public package installation, canonical isolated runtime proof and public native preflight. No live signer/caller/trust admission or protected effect.",
"evidence": {
"native-preflight-r1/coordinator-review.json": "sha256:aa16de21f4018b433ac1497a0d637a6b852dbb1df17a15001597566fd32a3396",
"native-preflight-r1/cluster-native-plan-review.json": "sha256:76e5e3c10cf62d93c801c08f0275f84cd523010f58a7c5db595dee2081ffa572",
"access-native-plan-review-next/access-native-plan-review.json": "sha256:5f49b9d703b3b0c050be8b45a97aab07b0b3af13e9ce56139f886e88a0dc740d",
"access-native-plan-review-next/execution-supplement.md": "sha256:2622cf68d33f5e5f4ede68655c250f70a8132ed03cb4b7c33bdbeec86100e25d",
"platform-native-plan-review-next/owner-review.json": "sha256:3a2b4e8a410ffa241540afcd25c1dc2036eab93f433feeaa7708bda9f2175f20",
"platform-native-plan-review-next/actual-public-supplement.json": "sha256:f02a9b595d9246a358d19b37bdad8fde158b7f0c9657a6ff088874732511a32c",
"secrets-native-admission-next/actual-prekey-install.json": "sha256:1ab9c271dfb236f09c4528ae18897381f5e404541708bf36f50c41c77d183ba0",
"agent-isolation-next/coordinator-canonical-manager-proof.json": "sha256:1fc6b0c79939ea4706ff786e4cd040ab2385850a4617325681234bed7c3414c3",
"agent-isolation-next/coordinator-canonical-digest.json": "sha256:6c9dea5c1597c41d13b01c5b91196cbb2126b44090772d2cf481503467dd24de"
},
"publication_refinement": {
"reason": "unchanged secret scanner flagged public source digest metadata",
"original_blob": "327447b9e476ea8344cc3bad62da33736eb63c3d",
"typed_digest_values_verified_unchanged": true,
"receipt": "access-native-plan-review-next/formatting-successor.json",
"scanner_bypass": false
}
}

View file

@ -0,0 +1,124 @@
{
"schema": "custodian.netkingdom-followup-review.v1",
"observed_at": "2026-10-16T19:30:27.788551+00:00",
"owner_commits": [
{
"repo": "reuse-surface",
"slice": "native-index-parity",
"commit": "dd00b27b4ce77180b01c5756c2a3841819fcac76",
"origin_ancestry_verified": true,
"files": [
{
"path": "reuse_surface/cli.py",
"committed_sha256": "sha256:85a5ca4c5a431ae6a1d780bb8b3958514937b128d21351f3224a236013fcdec8"
},
{
"path": "tests/test_index_parity.py",
"committed_sha256": "sha256:c2654667b6f0f07ee52d8c4bffabdcaab16495275dcc00b9160f314dbef2200c"
},
{
"path": "workplans/ADHOC-2026-10-16.md",
"committed_sha256": "sha256:7c25f5601b1aee06881950b225751787e09035de5d2479625c65eaa7cf4371e7"
}
]
},
{
"repo": "reuse-surface",
"slice": "native-index-parity-record",
"commit": "01af18964b170eaa87f8560ce9285518e8dc6d7e",
"origin_ancestry_verified": true,
"files": [
{
"path": "workplans/ADHOC-2026-10-16.md",
"committed_sha256": "sha256:0b347785d69eab2b7ed2db9f6722767b02a66becb20bcd95ebcce89d9ffbb3fe"
}
]
},
{
"repo": "railiance-bootstrap",
"slice": "owner-index-parity",
"commit": "6927f5ec6406fd975530f469d949901d968c1afb",
"origin_ancestry_verified": true,
"files": [
{
"path": "registry/indexes/capabilities.yaml",
"committed_sha256": "sha256:45100a7bb78307cad88a4face63044d0cbe20e98eb809e934c00c3049b0df843"
},
{
"path": "workplans/ADHOC-2026-10-16.md",
"committed_sha256": "sha256:7218ac1c7b817857cf8700869600b816e94a274d72afef2af42ca71f8ad70577"
}
]
},
{
"repo": "railiance-bootstrap",
"slice": "owner-index-parity-record",
"commit": "8d23103af2d5ff0da4eb5f612ea2bf09d8ff7344",
"origin_ancestry_verified": true,
"files": [
{
"path": "workplans/ADHOC-2026-10-16.md",
"committed_sha256": "sha256:38d8af75a52472875972ca6aebdb61b1cec15c64049efe024e1a9310ed6601e6"
}
]
},
{
"repo": "net-kingdom",
"slice": "owner-recovery-index-parity",
"commit": "49ddde451a69818b9558654fbc7d5744a80777fb",
"origin_ancestry_verified": true,
"files": [
{
"path": "registry/indexes/capabilities.yaml",
"committed_sha256": "sha256:8e49ab9ea2c1fff10b70bab4fc279ad144f2295ef61fea3ef5a1873360410919"
},
{
"path": "workplans/ADHOC-2026-10-16.md",
"committed_sha256": "sha256:ccf9f9a04ce54e05365beae13b37d0c8e9c5972d50eed9f347ab39702a13bed4"
}
]
},
{
"repo": "railiance-cluster",
"slice": "native-runtime-storage-plan-review",
"commit": "cac8eabef5a0d0990a7b0de8f5e2c762666ac7f0",
"origin_ancestry_verified": true,
"files": [
{
"path": "workplans/RCLUSTER-WP-0017-netkingdom-signer-runtime-storage-review.md",
"committed_sha256": "sha256:76810b497e04548e3b22a28973303198f25aba5b47847e24b69024f8d07e39b7"
}
]
},
{
"repo": "key-cape",
"slice": "published-recovery-journey-reconciliation",
"commit": "3c71226a1a7b8a2bdb710e9c497e1a1f7f8a3987",
"origin_ancestry_verified": true,
"files": [
{
"path": "workplans/KEY-WP-0040-mfa-attended-run-findings.md",
"committed_sha256": "sha256:c213d8ad5ef2471d1ab8672502b561b9fee84b110575366c09148add83ad9d79"
}
]
}
],
"hosted_readback": "improvement-loop-next/coordinator-hosted-refresh.json",
"browser_source_review": "browser-acceptance-next/coordinator-review.json",
"keycape_owner_receipt": "recovery-acceptance-next/result.json",
"native_gate_completion": false,
"external_recovery_evidence": {
"path": "net-kingdom/docs/evidence/2026-10-16-identity-outage-recovery/actual-isolated-privacyidea-review.json",
"sha256": "sha256:39d274ce99bb8c89281899821a5674d3ef5bbb35f824623cd2c4e08493f85cad",
"accepted_owner_tasks": [
"NK-WP-0049-T20",
"NK-WP-0049-T31"
],
"remaining": [
"existing-token MFA",
"Authelia service continuity",
"KeyCape service and consumer continuity",
"event completeness"
]
}
}