Within-limit combining stays native (XP/prior work/repair/naming/refusal/cancellation), including immediate same-window switching after advanced inputs are removed. Enhanced V+V→VI and other compatible above-limit merges retain zero XP, exact left metadata, private captured risk, one-item-per-input/one roll/output, final cancellation and nonrepeating stale-frame safety.
Exact packet identity survives actual ProtocolLib main→Netty→native-main dispatch;32-record/40-tick bounds unchanged. Native aggregate and class-specific counters/DROP/KICK/receive accounting remain authoritative. A coalesced public ProtocolLib-owned queued main callback followed by a snapshot barrier on the SAME native channel loop establishes terminal forward/no-forward ownership. No mutable post/event acknowledgement, marker takeover or blind clearing of unresolved late raws. Revoked wrapped entries retire even when native aggregate/queue admission skips handle. Owner task cancellation doesn't cancel library-owned cleanup. Missing/rejected scheduling fails closed and retains unresolved tombstones; unsupported required-library/loop failure is not successful cleanup.
Retained behavioral RED: ordinary XP interception; real queued admission expiry; overlapping cancellation-ticket borrowing; real native class-limit bypass; five terminal cancellation/replacement/disable/partial-acquisition/native-refusal lifecycle failures.
127 affected native anvil cases pass;4 packaging documentation cases pass after restoring the established README qualification, without weakening tests. Earlier full275-case failed gate retained (190 native pass; one unit README-literal failure). Initial262-case proof is historical, not reused for changed source.
Final frozen ./gradlew --offline clean check jar: 275=85 unit/packaging+190 native, zero failures/errors/skips;85 frozen inputs unchanged; 2026-10-13T01:06:51Z–01:07:10Z. .verification/us-010/full-clean-final/{inputs.json,summary.json,results,run.log,diagnostics.json} is local/untracked, never staged. Fourteen SEVERE/twelve WARNING occurrences match baseline suite/messages after only native logger HH:MM:SS normalization; intentional registration/unsupported-runtime controls, no new identity/lifecycle diagnostics.
Read-only premerge lifecycle recheck found no material implementation blocker under declared pinned contracts; source/tests/config/README and diff reviewed. Required final-plugin security review remains separate after verified merge.
Strict transport fixture now uses one registered actual local Netty pipeline/event loop shared by declared-library forwarding/native connection, actual DefaultScheduler with queued main-task port, and actual native PacketProcessor; hook readiness acknowledged. Controlled byte I/O/player/world/filter entry is NOT real-client/socket/live installed-stack or full-server proof. Foreign post cancellation/handle mutation, reentrant disable then late raw/window reuse, snapshot isolation and unrelated handlers tested. Setup/obsolete async-oracle/fixture-constructor failures retained separately, not RED or passing proof.
No dependency/API/Java, CI/tooling/secrets, config keys, live/server/settings, GitOps/deployment or other-plugin interoperability change. Parent conversation sole approved source coordinator. Earlier correctness integration hold resolved; fresh current-head PR CI/protection/review gates still required before Gitea merge, fetched identical-tree proof and immediate story completion. No direct source-main push. Formal final-plugin review and exact-source immutable release verification follow; no deployment approval.
## US-010: restore ordinary and advanced anvil combining
Approved story: https://git.garvis.dev/dmg/somc-okf/src/branch/main/user-stories/purpur-inventory-helper/us-010-restore-ordinary-and-advanced-anvil-combining.md
Within-limit combining stays native (XP/prior work/repair/naming/refusal/cancellation), including immediate same-window switching after advanced inputs are removed. Enhanced V+V→VI and other compatible above-limit merges retain zero XP, exact left metadata, private captured risk, one-item-per-input/one roll/output, final cancellation and nonrepeating stale-frame safety.
Exact packet identity survives actual ProtocolLib main→Netty→native-main dispatch;32-record/40-tick bounds unchanged. Native aggregate and class-specific counters/DROP/KICK/receive accounting remain authoritative. A coalesced public ProtocolLib-owned queued main callback followed by a snapshot barrier on the SAME native channel loop establishes terminal forward/no-forward ownership. No mutable post/event acknowledgement, marker takeover or blind clearing of unresolved late raws. Revoked wrapped entries retire even when native aggregate/queue admission skips handle. Owner task cancellation doesn't cancel library-owned cleanup. Missing/rejected scheduling fails closed and retains unresolved tombstones; unsupported required-library/loop failure is not successful cleanup.
## Exact final proof
- Head **990028c72893c2242189cc29c0c19afafe8a3812**, tree **d0497330ba026d7af4bcbb57179c248b8fc5dc12**, fresh target base **a08754a3aa626ef6377fb9c28b2d904828546754**.
- Retained behavioral RED: ordinary XP interception; real queued admission expiry; overlapping cancellation-ticket borrowing; real native class-limit bypass; five terminal cancellation/replacement/disable/partial-acquisition/native-refusal lifecycle failures.
- **127 affected native anvil cases pass**;4 packaging documentation cases pass after restoring the established README qualification, without weakening tests. Earlier full275-case failed gate retained (190 native pass; one unit README-literal failure). Initial262-case proof is historical, not reused for changed source.
- Final frozen `./gradlew --offline clean check jar`: **275=85 unit/packaging+190 native**, zero failures/errors/skips;85 frozen inputs unchanged; **2026-10-13T01:06:51Z–01:07:10Z**. `.verification/us-010/full-clean-final/{inputs.json,summary.json,results,run.log,diagnostics.json}` is local/untracked, never staged. Fourteen SEVERE/twelve WARNING occurrences match baseline suite/messages after only native logger HH:MM:SS normalization; intentional registration/unsupported-runtime controls, no new identity/lifecycle diagnostics.
- Read-only premerge lifecycle recheck found no material implementation blocker under declared pinned contracts; source/tests/config/README and diff reviewed. Required final-plugin security review remains separate after verified merge.
Strict transport fixture now uses one registered actual local Netty pipeline/event loop shared by declared-library forwarding/native connection, actual DefaultScheduler with queued main-task port, and actual native PacketProcessor; hook readiness acknowledged. Controlled byte I/O/player/world/filter entry is NOT real-client/socket/live installed-stack or full-server proof. Foreign post cancellation/handle mutation, reentrant disable then late raw/window reuse, snapshot isolation and unrelated handlers tested. Setup/obsolete async-oracle/fixture-constructor failures retained separately, not RED or passing proof.
No dependency/API/Java, CI/tooling/secrets, config keys, live/server/settings, GitOps/deployment or other-plugin interoperability change. Parent conversation sole approved source coordinator. Earlier correctness integration hold resolved; **fresh current-head PR CI/protection/review gates still required** before Gitea merge, fetched identical-tree proof and immediate story completion. No direct source-main push. Formal final-plugin review and exact-source immutable release verification follow; no deployment approval.
INTEGRATION HOLD — read-only premerge review found terminal record-accounting/lifecycle gaps despite passing262 tests. Exact-handle replacement can falsely acknowledge the old record's handoff and exhaust32 slots; cancelled never-forwarded records can outlive plugin task cancellation on disable; native refusals/queue skips may never execute wrapper finalization. Missing regressions are not yet run. Do not merge09bc15e. Revised exact-forward/no-forward/wrapper-aware retirement plan awaiting operator approval; retain unresolved late-forward tombstones (blind clearing risks stale vanilla takes). No merge, release or deployment clearance.
INTEGRATION HOLD — read-only premerge review found terminal record-accounting/lifecycle gaps despite passing262 tests. Exact-handle replacement can falsely acknowledge the old record's handoff and exhaust32 slots; cancelled never-forwarded records can outlive plugin task cancellation on disable; native refusals/queue skips may never execute wrapper finalization. Missing regressions are not yet run. Do not merge09bc15e. Revised exact-forward/no-forward/wrapper-aware retirement plan awaiting operator approval; retain unresolved late-forward tombstones (blind clearing risks stale vanilla takes). No merge, release or deployment clearance.
Earlier lifecycle correctness hold resolved at990028c: five reproduced lifecycle failures repaired by ordered library-main→same-channel-loop fence and wrapper-aware retirement. Final275 tests/85 frozen inputs pass; read-only recheck finds no material blocker. Old3286/3287 CI succeeded but cannot prove this changed head (old waiter mistook completed status for conclusion). Await FRESH990028c checks/protections/reviews; do not merge on old-head evidence. Final security and exact-source release verification remain separate.
Earlier lifecycle correctness hold resolved at990028c: five reproduced lifecycle failures repaired by ordered library-main→same-channel-loop fence and wrapper-aware retirement. Final275 tests/85 frozen inputs pass; read-only recheck finds no material blocker. Old3286/3287 CI succeeded but cannot prove this changed head (old waiter mistook completed status for conclusion). Await FRESH990028c checks/protections/reviews; do not merge on old-head evidence. Final security and exact-source release verification remain separate.
dmg
merged commit f5298543d0 into main2026-10-13 01:16:28 +00:00
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-010: restore ordinary and advanced anvil combining
Approved story: https://git.garvis.dev/dmg/somc-okf/src/branch/main/user-stories/purpur-inventory-helper/us-010-restore-ordinary-and-advanced-anvil-combining.md
Within-limit combining stays native (XP/prior work/repair/naming/refusal/cancellation), including immediate same-window switching after advanced inputs are removed. Enhanced V+V→VI and other compatible above-limit merges retain zero XP, exact left metadata, private captured risk, one-item-per-input/one roll/output, final cancellation and nonrepeating stale-frame safety.
Exact packet identity survives actual ProtocolLib main→Netty→native-main dispatch;32-record/40-tick bounds unchanged. Native aggregate and class-specific counters/DROP/KICK/receive accounting remain authoritative. A coalesced public ProtocolLib-owned queued main callback followed by a snapshot barrier on the SAME native channel loop establishes terminal forward/no-forward ownership. No mutable post/event acknowledgement, marker takeover or blind clearing of unresolved late raws. Revoked wrapped entries retire even when native aggregate/queue admission skips handle. Owner task cancellation doesn't cancel library-owned cleanup. Missing/rejected scheduling fails closed and retains unresolved tombstones; unsupported required-library/loop failure is not successful cleanup.
Exact final proof
990028c728, treed0497330ba, fresh target basea08754a3aa../gradlew --offline clean check jar: 275=85 unit/packaging+190 native, zero failures/errors/skips;85 frozen inputs unchanged; 2026-10-13T01:06:51Z–01:07:10Z..verification/us-010/full-clean-final/{inputs.json,summary.json,results,run.log,diagnostics.json}is local/untracked, never staged. Fourteen SEVERE/twelve WARNING occurrences match baseline suite/messages after only native logger HH:MM:SS normalization; intentional registration/unsupported-runtime controls, no new identity/lifecycle diagnostics.Strict transport fixture now uses one registered actual local Netty pipeline/event loop shared by declared-library forwarding/native connection, actual DefaultScheduler with queued main-task port, and actual native PacketProcessor; hook readiness acknowledged. Controlled byte I/O/player/world/filter entry is NOT real-client/socket/live installed-stack or full-server proof. Foreign post cancellation/handle mutation, reentrant disable then late raw/window reuse, snapshot isolation and unrelated handlers tested. Setup/obsolete async-oracle/fixture-constructor failures retained separately, not RED or passing proof.
No dependency/API/Java, CI/tooling/secrets, config keys, live/server/settings, GitOps/deployment or other-plugin interoperability change. Parent conversation sole approved source coordinator. Earlier correctness integration hold resolved; fresh current-head PR CI/protection/review gates still required before Gitea merge, fetched identical-tree proof and immediate story completion. No direct source-main push. Formal final-plugin review and exact-source immutable release verification follow; no deployment approval.
INTEGRATION HOLD — read-only premerge review found terminal record-accounting/lifecycle gaps despite passing262 tests. Exact-handle replacement can falsely acknowledge the old record's handoff and exhaust32 slots; cancelled never-forwarded records can outlive plugin task cancellation on disable; native refusals/queue skips may never execute wrapper finalization. Missing regressions are not yet run. Do not merge09bc15e. Revised exact-forward/no-forward/wrapper-aware retirement plan awaiting operator approval; retain unresolved late-forward tombstones (blind clearing risks stale vanilla takes). No merge, release or deployment clearance.
Earlier lifecycle correctness hold resolved at990028c: five reproduced lifecycle failures repaired by ordered library-main→same-channel-loop fence and wrapper-aware retirement. Final275 tests/85 frozen inputs pass; read-only recheck finds no material blocker. Old3286/3287 CI succeeded but cannot prove this changed head (old waiter mistook completed status for conclusion). Await FRESH990028c checks/protections/reviews; do not merge on old-head evidence. Final security and exact-source release verification remain separate.