fix(events): recover partial appends without restarting #11

Merged
dmg merged 1 commits from us-092-write-local-character-and-system-events into main 2026-10-08 13:28:50 +00:00
Owner

US-092 / FS-SEC-16

Canonical story

Retire a segment after uncertain append I/O and repair its tail before further appends in the same plugin lifetime. Preserve valid prefixes, force quarantined damaged bytes before truncation, retain repair state and pending proof on failure, and replay unchanged IDs/payloads. Keep at-least-once semantics for uncertain complete writes. Registered cancelled native-action coverage verifies unchanged gameplay and truthful correlated JSONL.

Verification

  • Tested head: a19909f1525d43a664a2bd1db526e46e5a3fc6ff
  • Tested tree: 72b1d6ba4095e7e77b80a09c92e36ce5bca3cc7f
  • Tested base: 7b6ea939a5c82b0dc4f2cac3692a5c59cb342958
  • Retained corrected baseline: four meaningful failures / one passing control. Real47-byte partial append produces malformed JSONL on direct replay/registered action, and failed quarantine falsely acknowledges EXPORTED.
  • Fresh affected:54 native +453 API +55 tools pass, including all five new partial-write cases and all five boss-metadata cases.
  • Own full ./gradlew clean check jar: 2,383 tests (1,875 native/453 API/55 tools), zero failures/errors/skips,16m23s.
  • All652 source inputs and110 pinned native-runtime JAR hashes unchanged; diff check passes. Private evidence: /tmp/us092-resumption/ and retained original /tmp/fs-sec16-evidence-EA0hGs/.
  • New partial-write suite has zero SEVERE diagnostics. All668 historical native SEVERE first-cause signatures match verified main; none suppressed, no blanket security clearance.

The previously failing boss-outbox fence passes on this updated base in both affected and full verification; its earlier failures remain documented without claiming a proven cause. Inherited two-file implementation was preserved byte-for-byte during approved handoff/rebase.

Boundaries

No gameplay, deadline/bounds, configuration, shared fixture, runner, CI, live-log, GitOps or deployment changes. CI checks package; full local proof above remains mandatory. Operator approved this session's US-092-only Gitea integration; require current-head checks, unchanged base and fetched tested-tree equality before marking done. Merge can trigger release publication, not deployment. Other remediation and final-plugin security/delivery gates remain separate. Stop after this story.

## US-092 / FS-SEC-16 [Canonical story](https://git.garvis.dev/dmg/somc-okf/src/branch/main/user-stories/purpur-fantasy-stick/us-092-write-local-character-and-system-events.md) Retire a segment after uncertain append I/O and repair its tail before further appends in the same plugin lifetime. Preserve valid prefixes, force quarantined damaged bytes before truncation, retain repair state and pending proof on failure, and replay unchanged IDs/payloads. Keep at-least-once semantics for uncertain complete writes. Registered cancelled native-action coverage verifies unchanged gameplay and truthful correlated JSONL. ## Verification - Tested head: `a19909f1525d43a664a2bd1db526e46e5a3fc6ff` - Tested tree: `72b1d6ba4095e7e77b80a09c92e36ce5bca3cc7f` - Tested base: `7b6ea939a5c82b0dc4f2cac3692a5c59cb342958` - Retained corrected baseline: four meaningful failures / one passing control. Real47-byte partial append produces malformed JSONL on direct replay/registered action, and failed quarantine falsely acknowledges EXPORTED. - Fresh affected:54 native +453 API +55 tools pass, including all five new partial-write cases and all five boss-metadata cases. - Own full `./gradlew clean check jar`: **2,383 tests** (1,875 native/453 API/55 tools), zero failures/errors/skips,16m23s. - All652 source inputs and110 pinned native-runtime JAR hashes unchanged; diff check passes. Private evidence: `/tmp/us092-resumption/` and retained original `/tmp/fs-sec16-evidence-EA0hGs/`. - New partial-write suite has zero SEVERE diagnostics. All668 historical native SEVERE first-cause signatures match verified main; none suppressed, no blanket security clearance. The previously failing boss-outbox fence passes on this updated base in both affected and full verification; its earlier failures remain documented without claiming a proven cause. Inherited two-file implementation was preserved byte-for-byte during approved handoff/rebase. ## Boundaries No gameplay, deadline/bounds, configuration, shared fixture, runner, CI, live-log, GitOps or deployment changes. CI checks package; full local proof above remains mandatory. Operator approved this session's US-092-only Gitea integration; require current-head checks, unchanged base and fetched tested-tree equality before marking done. Merge can trigger release publication, not deployment. Other remediation and final-plugin security/delivery gates remain separate. Stop after this story.
dmg added 1 commit 2026-10-08 13:26:57 +00:00
fix(events): recover partial appends without restarting
CI / build (push) Successful in 43s
CI / build (pull_request) Successful in 1m1s
a19909f152
dmg merged commit 7353436a77 into main 2026-10-08 13:28:50 +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#11