Files
railiance-cluster/workplans/RAIL-BS-WP-0009-activity-core-admin-sync-smoke.md
2026-07-02 10:44:06 +02:00

57 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: RAIL-BS-WP-0009
type: workplan
title: "activity-core no-restart admin-sync smoke (ACTIVITY-WP-0012-T05)"
domain: financials
repo: railiance-cluster
status: active
owner: railiance-cluster
topic_slug: railiance
created: "2026-07-01"
updated: "2026-07-02"
state_hub_workstream_id: "2c9e8e96-ec6a-433c-9e6d-0efbcd18679e"
---
# activity-core no-restart admin-sync smoke (ACTIVITY-WP-0012-T05)
## Context
Inbox message `aa8b7986` (activity-core, 2026-06-18): activity-core commit
`3e93567` implements ACTIVITY-WP-0012 T01T04 (shared sync_service,
`POST /admin/sync`, explicit schedule upsert/pause/orphan-delete counts,
worker startup reuse, runbook docs; 192 tests passed). T05 is the
cluster-owned smoke: prove admin sync works **without** worker
SIGTERM/pod restart.
The deploy precondition is covered by RAIL-BS-WP-0008-T01 (main at
`bf877b7``3e93567`), so run this after that reconcile.
## Run the no-restart admin-sync smoke
```task
id: RAIL-BS-WP-0009-T01
status: wait
priority: medium
state_hub_task_id: "60f3387d-3d14-42a9-b8a3-725a86468510"
```
After RAIL-BS-WP-0008-T01 is deployed, without restarting the worker:
1. Change or use a customer ActivityDefinition enabled-flip/rename fixture.
2. Call `POST /admin/sync?definitions=true&schedules=true` from the operator
path.
3. Confirm the new Temporal schedule is active and the retired/disabled
schedule is paused or deleted per sync semantics.
4. Confirm event-triggered definitions still fire normally.
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.