NK-WP-0040-T02: railiance-infra names the S1 converge wrapper as emitter (babae80)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 308701@bnt-lap001 Assistant-Session: 5548e447-444c-4dcc-bed1-05c16eebfe56
This commit is contained in:
parent
635029b117
commit
5466c831cd
1 changed files with 20 additions and 2 deletions
|
|
@ -60,8 +60,8 @@ schema, and validator are explicitly left to T02.
|
|||
```task
|
||||
id: NK-WP-0040-T02
|
||||
status: wait
|
||||
blocked_on: message-from:railiance-infra
|
||||
blocking_reason: "railiance-platform (RPF-WP-0067-T01, bd8ca57) has no playbook runner; the runner owner (railiance-infra for S1 Ansible) must name the emitter and its audit-core sender before schema/validator work."
|
||||
blocked_on: founder-decision
|
||||
blocking_reason: "Emitter, holder and wire binding agreed (RAIL-HO-WP-0015-T01, RPF-WP-0067-T01, AUDIT-WP-0014-T01). Open: founder decision on how an operator-run process gets the audit-core sender bearer; NetKingdom schema/validator with delegation unknown and S1 meanings for tenant/environment/artifact_digest."
|
||||
priority: medium
|
||||
state_hub_task_id: "963120c1-7c72-5806-942b-6f49e4c66e54"
|
||||
```
|
||||
|
|
@ -89,6 +89,24 @@ token), `executing_workload` (workload binding only proposed), `artifact_digest`
|
|||
no packaged artifact), `decision_refs`, `time_interval.bound`. Next: railiance-infra names the
|
||||
runner and emitter; a sender credential then goes to railiance-platform as a change request.
|
||||
|
||||
**2026-10-28 (railiance-infra):** answered from source (RAIL-HO-WP-0015-T01, `babae80`). No S1
|
||||
runner exists: the operator runs `ansible-playbook` through `make converge` (`Makefile:361-362`)
|
||||
with no callback or wrapper. Decided: the emitter is a new railiance-infra converge wrapper
|
||||
modelled on `scripts/s1_handoff.py` (RAIL-HO-WP-0015-T02, not built): UUID4 `run_id` first,
|
||||
emission from a `finally` path for succeeded/failed/refused/interrupted, local retention and
|
||||
retry with `run_id` as Idempotency-Key. Proposed audit-core sender: `railiance-infra-s1-runner`.
|
||||
Fillable today: `run_id`, `target`, `action`, `time_interval.start/end`, `source_commit` (only
|
||||
with a clean-tree refusal); partly `runtime_principal` (OS accounts) and `clock_source`; not
|
||||
`initiator`, `delegation`, `executing_workload`, `tenant`, `environment`, `artifact_digest`,
|
||||
`decision_refs`, `time_interval.bound`.
|
||||
|
||||
Remaining for T02: (1) founder decision: how an operator-run shell process obtains the sender
|
||||
bearer (the ESO-projected Secret reaches pods only), e.g. a short-lived OpenBao fetch or an
|
||||
in-cluster relay; then railiance-platform registers the sender. (2) NetKingdom: the receipt
|
||||
schema allows an explicit `unknown` for `delegation` (the draft permits absence only when there
|
||||
was no delegation) and defines `tenant`, `environment` and `artifact_digest` for an Ansible S1
|
||||
run; then schema under `canon/schemas/` and validator. railiance-infra's wrapper waits on both.
|
||||
|
||||
## Infrastructure review — 2026-09-28
|
||||
|
||||
Use accepted IAM Profile v0.3 and Playbook Capability Contract v0.1 as the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue