Restore surface reload and protect deployment rollback artifacts #483

Merged
weichen merged 17 commits from feature/surface-black-screen-recovery into main 2026-10-12 16:12:56 +00:00
17 Commits
Author SHA1 Message Date
weichen b3d9cd7f30 Bind the final recovery candidate to current lifecycle gates
ci / svc-realcombo (pull_request) Successful in 2m8s
ci / test-pg (pull_request) Successful in 2m43s
ci / test (pull_request) Successful in 4m31s
Why: Fixed identity contract and current main must share one candidate.

Evidence: Saved final sync, real SQLite/PG replays and live public
recovery receipts; exact current-head CI will decide admission.

Impact: Task metadata only.

Refs: Dev #483/#485; Frontend #71/#72
2026-10-12 16:06:53 +00:00
weichen 74b996a9f6 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=cd61bbb112eea6a210a64e84f2cef00b0d64bfc1; candidate=af1428711f48988b42583fa386582fd62633f9d1.

Impact: task metadata only.

Refs: .task/feature-surface-black-screen-recovery.md
2026-10-12 16:04:47 +00:00
weichen af1428711f Save existing-store fixture verification before final synchronization
Why: The synchronization gate requires saved task evidence.

Evidence: Current product build and actual binary replay receipts are in
the canonical task record; subsequent sync uses an external receipt.

Impact: Evidence only.

Refs: Dev #483/#485
2026-10-12 16:04:18 +00:00
weichen d885239149 Record existing-store fixture and synchronized lifecycle evidence
ci / svc-realcombo (pull_request) Successful in 2m4s
ci / test-pg (pull_request) Successful in 2m37s
ci / test (pull_request) Successful in 4m33s
Why: Required lifecycle gates must follow the current identity contract.

Evidence: Real binary and temporary PostgreSQL replay, independent
review, and D1 synchronization records in the canonical task card.

Impact: Evidence only; application changes remain the approved recovery
and release collision protection with current main work preserved.

Refs: Dev #483/#485; Frontend #71/#72
2026-10-12 16:02:56 +00:00
weichen e7b969a905 Retain existing-store lifecycle tests during main synchronization
Why: Main D1 now shares the same explicit fixture initialization contract.

Evidence: Both real SQLite and temporary PostgreSQL initialization paths
were independently replayed; capabilities JSON assertions are preserved.

Impact: Resolve duplicate PG setup through the tested helper; preserve
all main lifecycle changes and the rollback directory protection.

Refs: Dev #483/#485; D1 existing-store identity contract
2026-10-12 15:57:05 +00:00
weichen 5a174f2b91 Initialize real lifecycle fixtures before existing-store identity probes
Why: Current RDM identity ensure/verify intentionally refuse missing
databases and schema; the old fixture invoked them on empty stores.

Evidence: Actual RDM red failure, real SQLite and isolated PostgreSQL
green replays, and independent review receipts in the task card.

Impact: Test setup only; normal serve initializes temporary stores and
is reaped before the unchanged identity/lifecycle assertions.

Refs: Dev #483/#484; current RDM D1 existing-store contract
2026-10-12 15:54:14 +00:00
weichen 0c7e4884b6 Preserve final synchronization and compatibility review evidence
ci / svc-realcombo (pull_request) Failing after 1m55s
ci / test-pg (pull_request) Failing after 2m24s
ci / test (pull_request) Successful in 4m7s
Why: Admit the recovery fix with the latest lifecycle guardrails.

Evidence: Independent replay on the synchronized combination and live
public recovery receipts; exact current-head CI is awaited next.

Impact: Evidence only; no further source changes.

Refs: Dev #483/#484; Frontend #71/#72
2026-10-12 15:26:39 +00:00
weichen ecf83a608f Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=99048dda1f48bccb3d5d798050d7beeea2907177; candidate=d4a83318b10a1aa50d13c699fd4aeea3130fce5c.

Impact: task metadata only.

Refs: .task/feature-surface-black-screen-recovery.md
2026-10-12 15:08:27 +00:00
weichen d4a83318b1 Merge authoritative main into the task branch
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=99048dda1f48bccb3d5d798050d7beeea2907177.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
2026-10-12 15:07:47 +00:00
weichen 933c666c2d Record completed surface recovery checks before final main sync
Why: Final admission must include newly merged lifecycle validation.

Evidence: Full test/build and real local/public browser acceptance are
recorded; test and PostgreSQL CI passed on a8035bf.

Impact: Task record only; subsequent synchronization receives latest main.

Refs: Dev #483/#484; Frontend #71/#72
2026-10-12 15:07:44 +00:00
weichen a8035bf1bf Record live surface recovery and final deployment protection evidence
ci / test-pg (pull_request) Successful in 3m1s
ci / test (pull_request) Successful in 4m58s
Why: Completion must verify the served frontend and original conversation.

Evidence: Real authenticated local/public refresh and two-page preview;
HTTP2 event stream verified, credentials revoked, data identity unchanged.
Governance review and red/green outputs are in the canonical task card.

Impact: Evidence only; no application or storage change.

Refs: Dev #483; RDM #288/#289; Frontend #71/#72
2026-10-12 14:57:05 +00:00
weichen 1fba1eef90 Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=4d362537d0e8755a03b1757b5bad92779a064b33; candidate=9f7b11675ef94c4a1166a8f799f70f1666a8c600.

Impact: task metadata only.

Refs: .task/feature-surface-black-screen-recovery.md
2026-10-12 14:50:36 +00:00
weichen 9f7b11675e Preserve rollback artifacts across same-second deployments
Why: Second-resolution release IDs let staging delete a previous release
when a same-source deployment ran within the same clock tick.

Evidence: Fixed-clock rollback regression fails before and passes after;
250 governance checks pass. Independent review replays collision and
copy-failure protection; receipts are in the primary task card.

Impact: Add invocation identity and exclusive directory creation; keep
old artifacts intact. Also retain the latest compatible frontend pointer.

Refs: User-approved I2; Dev #483; Frontend #71/#72
2026-10-12 14:50:09 +00:00
weichen 3f53840cb2 Record synchronization and independent surface recovery evidence
ci / test-pg (pull_request) Successful in 1m35s
ci / test (pull_request) Failing after 2m26s
Why: Bind the fixed frontend pin to the current integration baseline.

Evidence: Startup, task-sync, regression red/green, independent reviewer
replay and browser receipts in the canonical task card.

Impact: Evidence and phase authorization only.

Refs: Frontend #71; surface-black-screen-recovery
2026-10-12 14:27:11 +00:00
weichen ec77f51acd Record the sync checkpoint
Why: bind the task validation checkpoint to the latest integration baseline.

Evidence: SELF recursive component checks; sync_base=4d362537d0e8755a03b1757b5bad92779a064b33; candidate=9964fe360866bd2dc24f0e628853ee74e3e8e67a.

Impact: task metadata only.

Refs: .task/feature-surface-black-screen-recovery.md
2026-10-12 14:21:49 +00:00
weichen 9964fe3608 Restore the compatible frontend combination for saved surface reload
Why: Dev #452 selected a frontend pointer lacking the previously merged
SurfaceMeta hydration fix and blanked saved-page conversations.

Evidence: Independent review and regression red/green receipts are in
.task/feature-surface-black-screen-recovery.md; make test/build follow.

Impact: Pin the frontend that retains fast-slow and saved-page recovery;
no backend, UI token, storage or permission configuration change.

Refs: Frontend #68; Dev #454; Dev #452; surface-black-screen-recovery
2026-10-12 14:21:00 +00:00
weichen 36fa09c856 Record the task card for feature-surface-black-screen-recovery
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-surface-black-screen-recovery.md; R0=4d362537d0e8755a03b1757b5bad92779a064b33.

Impact: task metadata only; the feature workspace starts at 4d362537d0.

Refs: .task/feature-surface-black-screen-recovery.md
2026-10-12 14:05:51 +00:00