feat(recovery): publish saved-character recovery events #1

Merged
dmg merged 1 commits from us-079-admin-recover-saved-character-sheets into main 2026-10-07 13:44:44 +00:00
Owner

Approved US-079-only scope

Completes existing recovery-event criteria through registered /fstickadmin character recover → preview → explicit confirmation → durable transition/native delivery → US-092 JSONL. Frozen administrator/recipient/location/character/death/revision/generation and distinct command/confirmation evidence; stable committed/uncertain/completed IDs; native acknowledgement required for completion. Durable recovery-owner snapshots plus feature outbox close mutation-to-export gaps; historical audits retained; replay never delivers or unlocks ambiguous custody. One-use deferred callbacks prevent false uncertainty after success. No new story requirements, shared harness/limits, balance, CI/runner/secrets, live/GitOps/deployment changes.

Current tested candidate after main advanced

Operator requests wrap-up through Gitea merge and verified tree, then stop. Rebased cleanly onto b62b7952e63c7d8b2a84e9c2a686385e9b76c03a; head cd51ef127dcf3c7ae2add8e61e2df3382a8e5eb7, tree 8d94725a097fcd4f1d9eec55147e7cf5ac768ab4. Published using explicit lease against sole previously authorized remote head c45d05f; no direct main push.

Affected proof passes 42 API + 89 native cases, including newly merged saved-read/book routes. Separate fresh ./gradlew clean check jar passes 2,283 tests = 441 API + 1,790 native + 52 release-tool, zero failures/errors/skips (task 2586a1a1, 1,132.6 seconds). All 640 input hashes, Node v26.9.0, declared Java/test 25/native 1GiB unchanged. All 15 recovery-owner cases have zero SEVERE. All 688 legacy per-suite/header/exception-chain/normalized-frame multisets exactly match the verified current-main US-077 baseline; no new/missing signature. Four owner intent warnings remain intentional injected receipt-lock/closed-owner diagnostics, not suppressed or an unexpected failure.

Evidence: /private/tmp/us-079-evidence/rebased-affected*, rebased-full*, rebased-native-signatures.json, rebased-report-hashes.json. Earlier meaningful REDs, cancelled initial full attempt and passing original-base proof retained separately. Old head c45d05f push/PR CI runs 3075/3076 failed during setup-java action preparation, without source checkout/build/test output; exact cause unproved. Those are not a current-head CI pass or artifact. No required review/status contexts or branch protections were present; recheck real current gates/head/base before normal Gitea merge, never force-merge or bypass a protection.

Canonical story: https://git.garvis.dev/dmg/somc-okf/src/branch/main/user-stories/purpur-fantasy-stick/us-079-admin-recover-saved-character-sheets.md

Completion and holds

Merge only this story through Gitea, fetch and verify merged tree/640 input equality, immediately mark done and selectively publish canonical completion, then stop. Ordinary exact-merge CI/release tracked separately; no pass, tag or downloaded artifact inferred. Existing final-plugin security/FS-SEC-10 holds remain. No next story, runner repair, cleanup, live recovery, GitOps or deployment selected.

## Approved US-079-only scope Completes existing recovery-event criteria through registered `/fstickadmin character recover` → preview → explicit confirmation → durable transition/native delivery → US-092 JSONL. Frozen administrator/recipient/location/character/death/revision/generation and distinct command/confirmation evidence; stable committed/uncertain/completed IDs; native acknowledgement required for completion. Durable recovery-owner snapshots plus feature outbox close mutation-to-export gaps; historical audits retained; replay never delivers or unlocks ambiguous custody. One-use deferred callbacks prevent false uncertainty after success. No new story requirements, shared harness/limits, balance, CI/runner/secrets, live/GitOps/deployment changes. ## Current tested candidate after main advanced Operator requests wrap-up through Gitea merge and verified tree, then stop. Rebased cleanly onto `b62b7952e63c7d8b2a84e9c2a686385e9b76c03a`; head **`cd51ef127dcf3c7ae2add8e61e2df3382a8e5eb7`**, tree **`8d94725a097fcd4f1d9eec55147e7cf5ac768ab4`**. Published using explicit lease against sole previously authorized remote head c45d05f; no direct main push. Affected proof passes **42 API + 89 native** cases, including newly merged saved-read/book routes. Separate fresh `./gradlew clean check jar` passes **2,283 tests = 441 API + 1,790 native + 52 release-tool**, zero failures/errors/skips (task 2586a1a1, 1,132.6 seconds). All **640 input hashes**, Node v26.9.0, declared Java/test 25/native 1GiB unchanged. All 15 recovery-owner cases have zero SEVERE. All **688 legacy per-suite/header/exception-chain/normalized-frame multisets** exactly match the verified current-main US-077 baseline; no new/missing signature. Four owner intent warnings remain intentional injected receipt-lock/closed-owner diagnostics, not suppressed or an unexpected failure. Evidence: `/private/tmp/us-079-evidence/rebased-affected*`, `rebased-full*`, `rebased-native-signatures.json`, `rebased-report-hashes.json`. Earlier meaningful REDs, cancelled initial full attempt and passing original-base proof retained separately. Old head c45d05f push/PR CI runs 3075/3076 failed during setup-java action preparation, without source checkout/build/test output; exact cause unproved. Those are not a current-head CI pass or artifact. No required review/status contexts or branch protections were present; recheck real current gates/head/base before normal Gitea merge, never force-merge or bypass a protection. Canonical story: https://git.garvis.dev/dmg/somc-okf/src/branch/main/user-stories/purpur-fantasy-stick/us-079-admin-recover-saved-character-sheets.md ## Completion and holds Merge only this story through Gitea, fetch and verify merged tree/640 input equality, immediately mark done and selectively publish canonical completion, then stop. Ordinary exact-merge CI/release tracked separately; no pass, tag or downloaded artifact inferred. Existing final-plugin security/FS-SEC-10 holds remain. No next story, runner repair, cleanup, live recovery, GitOps or deployment selected.
dmg added 1 commit 2026-10-07 13:43:23 +00:00
feat(recovery): publish saved-character recovery events
CI / build (pull_request) Failing after 11m15s
CI / build (push) Failing after 11m16s
cd51ef127d
dmg force-pushed us-079-admin-recover-saved-character-sheets from c45d05fd0f to cd51ef127d 2026-10-07 13:43:23 +00:00 Compare
dmg merged commit d2090bd35a into main 2026-10-07 13:44:44 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dmg/purpur-fantasy-stick#1