RAIL-BS-WP-0008/0009: operator deploy + admin-sync smoke tooling

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 10:44:06 +02:00
parent 84c005254d
commit 9c55dfb02a
7 changed files with 467 additions and 4 deletions

View File

@@ -4,11 +4,11 @@ type: workplan
title: "activity-core WP-0016 triage-output robustness deploy"
domain: financials
repo: railiance-cluster
status: ready
status: active
owner: railiance-cluster
topic_slug: railiance
created: "2026-07-01"
updated: "2026-07-01"
updated: "2026-07-02"
state_hub_workstream_id: "7cbbe0d6-fea9-41c6-840c-46d0d8e8edde"
---
@@ -41,6 +41,13 @@ Rebuild/import the activity-core image from main (`bf877b7` or later) into
the railiance01 k3s runtime and reconcile the activity-core deployment so the
new executor and the strict per-item schema ship together.
2026-07-02: Added `make deploy-activity-core-triage-robustness` /
`bin/railiance deploy-triage-robustness` as the repeatable operator path. The
command gates the remote activity-core repo on `bf877b7` or later, checks the
runtime bundle contract before applying it, restarts the activity-core
deployments by default, waits for migrate/sync jobs and rollouts, then records
non-secret State Hub evidence. Live execution on railiance01 remains pending.
## Update daily-statehub-wsjf-triage runtime-bundle Instruction
```task
@@ -61,6 +68,11 @@ In the runtime projection (not the activity-core repo), update the
recommendation JSON object per line) so the T03 parser recovers items
independently.
2026-07-02: The new deploy command enforces this contract against
`k8s/railiance/20-runtime.yaml` before it will touch the cluster: it requires
the daily instruction, a top-7 bound, the "fewer well-formed" fallback, NDJSON
or one-object-per-line framing, and `max_tokens` headroom of at least 1800.
## Pull raw llm-connect response for the 2026-06-26 run
```task
@@ -92,3 +104,8 @@ either (i) returns a clean schema-valid report, or (ii) degrades gracefully
shows a matching `daily_triage` progress event. Closes ACTIVITY-WP-0016-T05
and unblocks the three-clean-run streak for ACTIVITY-WP-0010-T04 /
WP-0006-T03.
2026-07-02: The deploy command now triggers the daily-triage definition after
reconcile and polls State Hub for a post-trigger `daily_triage` event with
`output_validated=true`. If the run is partial, it also requires
`quarantined_count>0` before posting pass evidence.

View File

@@ -8,7 +8,7 @@ status: active
owner: railiance-cluster
topic_slug: railiance
created: "2026-07-01"
updated: "2026-07-01"
updated: "2026-07-02"
state_hub_workstream_id: "2c9e8e96-ec6a-433c-9e6d-0efbcd18679e"
---
@@ -46,3 +46,12 @@ After RAIL-BS-WP-0008-T01 is deployed, without restarting the worker:
5. Record non-secret evidence in the State Hub. Response JSON should include
`definitions.synced`, `schedules.upserted`, `schedules.paused`,
`schedules.deleted_orphans`, and `errors[]`.
2026-07-02: Added `make admin-sync-smoke` / `bin/railiance admin-sync-smoke`
as the repeatable operator path. It captures the worker pod UID/restart count,
optionally runs an operator-supplied enabled-flip/rename fixture via
`ACTIVITY_CORE_ADMIN_SYNC_FIXTURE_COMMAND`, calls
`POST /admin/sync?definitions=true&schedules=true`, verifies the expected
response counters and empty `errors[]`, rechecks that the same worker pod did
not restart, and posts non-secret State Hub evidence. T01 stays `wait` until
RAIL-BS-WP-0008-T01 is deployed and the smoke is run on railiance01.