Canonical US-077. Operator approved implementation/source integration through actual Gitea merge and confirmed closed PR, followed by wiki publication and stop. The approved six event/passive-spacing criteria remain intact; the operator separately approved the narrow test-only fishing published-reader blocker addition.
Scope
Enrich the existing single acknowledged combat.reward_resolved owner with exact first/near/exact/far 3D spacing/history evidence, immutable captured unit beneficiaries (including frozen final-death shares), and separate actual XP/coin loss reasons/partial cap evidence.
Preserve existing native spacing/classification/pools, independent allocation/history, authenticated managed-origin exemption, full consume-once exempt PvP, passive one-XP/no-coins, cancellation, attribution, receipt/retry and feedback behavior. No separate XP/coin/spacing business success.
Two production audit files plus four native test files only. The test-only correction replaces three local fishing readers' whole-tree walking with declared published daily JSONL selection and byte/newline framing before strict UTF-8/JSON decode. Pending/unpublished trees and incomplete tails are excluded; malformed complete rows/encoding and real I/O failures remain visible. Native catch/submission/claim/count assertions and all numerical limits remain.
No other-agent implementation/PR, production configuration/pool, global mock/harness, Gradle/CI/heap/timeout, scanner/security, live/GitOps/deployment or cleanup changes.
638 frozen source inputs and Node v26.9.0 executable unchanged. Declared Java 25/native 1 GiB, Gradle/CI and numerical bounds unchanged.
Final affected: 625 (441 API + 132 native + 52 tools), zero failures/errors/skips.
Own fresh git diff --check && ./gradlew clean check jar --stacktrace: 2,268 (441 API + 1,775 native + 52 tools), zero failures/errors/skips, 943.8 seconds.
All 35 new cases (14 spacing + 21 actual local-reader ports) clean, zero SEVERE. Native legacy diagnostics 688 versus 688 against the verified current-main US-078 reports, identical per-suite/header/exception/normalized-first-frame multisets; no blanket native/security clearance.
Meaningful missing spacing/beneficiary/XP-loss RED and reader exclusion/complete-byte framing RED retained. Both prior full failures remain failed evidence; no blind unchanged full retry or waived assertions.
Operator-local retained proof: /tmp/us077-final-full.log, -final-full-reports/test-results, -final-full-summary.json, -final-inputs.json, -current-main-tools.json; /tmp/us077-published-reader-framing-red.log/results, -published-reader-affected-green.log/reports/summary, and original spacing/failed-full artifacts linked in the canonical story.
Integration and end boundary
This explicitly approved conversation owns only US-077 source integration. Before regular Gitea merge recheck exact tested head/base, protections, required checks/reviews and mergeability; a moving base requires rebase plus affected/full branch verification. No direct main push or protection/check bypass. Fetch actual merge, prove its tree equals this tested tree, confirm merged: true and state: closed, immediately mark done and selectively publish canonical wiki, then stop. Existing US-079 PR is not integrated here.
Publication triggers normal push/PR CI and main release workflows. Exact-merge CI/artifact results and final plugin security/scanner/FS-SEC-10 remain separately tracked/pending or held, not inferred from local proof. No deployment permission is granted.
## Approved US-077 completion
[Canonical US-077](https://git.garvis.dev/dmg/somc-okf/src/branch/main/user-stories/purpur-fantasy-stick/us-077-apply-mob-kill-spacing-to-coins.md). Operator approved implementation/source integration through actual Gitea merge and confirmed closed PR, followed by wiki publication and stop. The approved six event/passive-spacing criteria remain intact; the operator separately approved the narrow test-only fishing published-reader blocker addition.
### Scope
- Enrich the existing single acknowledged `combat.reward_resolved` owner with exact first/near/exact/far 3D spacing/history evidence, immutable captured unit beneficiaries (including frozen final-death shares), and separate actual XP/coin loss reasons/partial cap evidence.
- Preserve existing native spacing/classification/pools, independent allocation/history, authenticated managed-origin exemption, full consume-once exempt PvP, passive one-XP/no-coins, cancellation, attribution, receipt/retry and feedback behavior. No separate XP/coin/spacing business success.
- Two production audit files plus four native test files only. The test-only correction replaces three local fishing readers' whole-tree walking with declared published daily JSONL selection and byte/newline framing before strict UTF-8/JSON decode. Pending/unpublished trees and incomplete tails are excluded; malformed complete rows/encoding and real I/O failures remain visible. Native catch/submission/claim/count assertions and all numerical limits remain.
- No other-agent implementation/PR, production configuration/pool, global mock/harness, Gradle/CI/heap/timeout, scanner/security, live/GitOps/deployment or cleanup changes.
## Verified candidate
- Head: `39de8516c8e87d1adc5f7548b60efc2265f0124d`
- Tree: `0a162513110402116a5e08fcb337a35c09585826`
- Target base: `3031a30d2ca591d6145b68a4131815a5e5be9d8f`
- **638 frozen source inputs** and Node `v26.9.0` executable unchanged. Declared Java 25/native 1 GiB, Gradle/CI and numerical bounds unchanged.
- Final affected: **625** (441 API + 132 native + 52 tools), zero failures/errors/skips.
- Own fresh `git diff --check && ./gradlew clean check jar --stacktrace`: **2,268** (441 API + 1,775 native + 52 tools), zero failures/errors/skips, 943.8 seconds.
- All **35 new cases** (14 spacing + 21 actual local-reader ports) clean, zero SEVERE. Native legacy diagnostics **688 versus 688** against the verified current-main US-078 reports, identical per-suite/header/exception/normalized-first-frame multisets; no blanket native/security clearance.
- Meaningful missing spacing/beneficiary/XP-loss RED and reader exclusion/complete-byte framing RED retained. Both prior full failures remain failed evidence; no blind unchanged full retry or waived assertions.
Operator-local retained proof: `/tmp/us077-final-full.log`, `-final-full-reports/test-results`, `-final-full-summary.json`, `-final-inputs.json`, `-current-main-tools.json`; `/tmp/us077-published-reader-framing-red.log`/results, `-published-reader-affected-green.log`/reports/summary, and original spacing/failed-full artifacts linked in the canonical story.
## Integration and end boundary
This explicitly approved conversation owns only US-077 source integration. Before regular Gitea merge recheck exact tested head/base, protections, required checks/reviews and mergeability; a moving base requires rebase plus affected/full branch verification. No direct main push or protection/check bypass. Fetch actual merge, prove its tree equals this tested tree, confirm `merged: true` and `state: closed`, immediately mark done and selectively publish canonical wiki, then **stop**. Existing US-079 PR is not integrated here.
Publication triggers normal push/PR CI and main release workflows. Exact-merge CI/artifact results and final plugin security/scanner/FS-SEC-10 remain separately tracked/pending or held, not inferred from local proof. No deployment permission is granted.
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.
Approved US-077 completion
Canonical US-077. Operator approved implementation/source integration through actual Gitea merge and confirmed closed PR, followed by wiki publication and stop. The approved six event/passive-spacing criteria remain intact; the operator separately approved the narrow test-only fishing published-reader blocker addition.
Scope
combat.reward_resolvedowner with exact first/near/exact/far 3D spacing/history evidence, immutable captured unit beneficiaries (including frozen final-death shares), and separate actual XP/coin loss reasons/partial cap evidence.Verified candidate
39de8516c8e87d1adc5f7548b60efc2265f0124d0a162513110402116a5e08fcb337a35c095858263031a30d2ca591d6145b68a4131815a5e5be9d8fv26.9.0executable unchanged. Declared Java 25/native 1 GiB, Gradle/CI and numerical bounds unchanged.git diff --check && ./gradlew clean check jar --stacktrace: 2,268 (441 API + 1,775 native + 52 tools), zero failures/errors/skips, 943.8 seconds.Operator-local retained proof:
/tmp/us077-final-full.log,-final-full-reports/test-results,-final-full-summary.json,-final-inputs.json,-current-main-tools.json;/tmp/us077-published-reader-framing-red.log/results,-published-reader-affected-green.log/reports/summary, and original spacing/failed-full artifacts linked in the canonical story.Integration and end boundary
This explicitly approved conversation owns only US-077 source integration. Before regular Gitea merge recheck exact tested head/base, protections, required checks/reviews and mergeability; a moving base requires rebase plus affected/full branch verification. No direct main push or protection/check bypass. Fetch actual merge, prove its tree equals this tested tree, confirm
merged: trueandstate: closed, immediately mark done and selectively publish canonical wiki, then stop. Existing US-079 PR is not integrated here.Publication triggers normal push/PR CI and main release workflows. Exact-merge CI/artifact results and final plugin security/scanner/FS-SEC-10 remain separately tracked/pending or held, not inferred from local proof. No deployment permission is granted.