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.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
a19909f1525d43a664a2bd1db526e46e5a3fc6ff72b1d6ba4095e7e77b80a09c92e36ce5bca3cc7f7b6ea939a5c82b0dc4f2cac3692a5c59cb342958./gradlew clean check jar: 2,383 tests (1,875 native/453 API/55 tools), zero failures/errors/skips,16m23s./tmp/us092-resumption/and retained original/tmp/fs-sec16-evidence-EA0hGs/.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.