Add immutable release dirs with switch journal and failure rollback (U2) #480

Merged
weichen merged 6 commits from feature/svc-u2-release-recovery into main 2026-10-12 14:00:32 +00:00
6 Commits
Author SHA1 Message Date
weichen 56aa9e3ac6 Re-record governance evidence on the synced head
ci / test-pg (pull_request) Successful in 1m36s
ci / test (pull_request) Successful in 3m54s
2026-10-12 13:55:47 +00:00
weichen efad610822 Record task-sync evidence 2026-10-12 13:52:58 +00:00
weichen a9ab854e37 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=3b9cf82cd6fb53f973f26e2039275f7858b0c654; candidate=0fbb8090481ef1918e3841749aa082d966be9368.

Impact: task metadata only.

Refs: .task/feature-svc-u2-release-recovery.md
2026-10-12 13:52:57 +00:00
weichen 0fbb809048 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=3b9cf82cd6fb53f973f26e2039275f7858b0c654.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-12 13:52:32 +00:00
weichen 241bea6ce7 Add immutable release dirs with switch journal and failure rollback
Why: deploy overwrote live artifacts after stopping the old service, so
a failed start or workbench check left instances in a mixed
registration-vs-artifact state with no recovery path (2026-10-12
rdm1/rdmcand); the report's U2 requires restorable updates.
Evidence: make test-governance 250 OK; five svc suites 105 OK (rows in
the task card); new tests cover layout/pidcheck stability, rollback on
start failure with desired-state restore, build failure keeping the old
service running, interrupted-switch journal resolution, and schema-
advance blocking rollback without touching the database.
Impact: agent deploys stage immutable releases/<id>/ and switch the
current symlink atomically; deploy.journal persists the switch and is
resolved at start/restart/deploy/update/recover entries; legacy layouts
are adopted on first deploy and remain readable; release/rdm tracks
verify sha256 before staging.
Refs: .task/feature-svc-u2-release-recovery.md; user goal directive
2026-10-12; Dev #474 (U1 gate); Documents unified-deploy plan r2.
2026-10-12 13:52:29 +00:00
weichen 2076994b16 Record the task card for feature-svc-u2-release-recovery
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-svc-u2-release-recovery.md; R0=9b5be3926eaa394a9e520fd72ffdf6d0a48d1aef.

Impact: task metadata only; the feature workspace starts at 9b5be3926e.

Refs: .task/feature-svc-u2-release-recovery.md
2026-10-12 13:34:50 +00:00