Harden deregistration attribution evidence - #422
Merged
Eli Pinkerton (wallstop) merged 8 commits intoAug 15, 2026
Conversation
Eli Pinkerton (wallstop)
marked this pull request as ready for review
August 15, 2026 17:00
Contributor
Performance NumbersMeasured commit: Benchmark or harness paths changed, so historical deltas are non-comparable:
Historical Standalone deltaDelta direction: + is better; - is worse. Historical delta omitted because benchmark or harness code changed in this pull request. Current TargetMap evidenceThese raw rows are current-run diagnostics. Use fresh bracketed controls before accepting a micro-optimization. |
8 tasks
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f40358b. Configure here.
Eli Pinkerton (wallstop)
deleted the
perf/session-218-deregistration-evidence
branch
August 15, 2026 19:22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Why
Session 217 rejected the typed-cache deregistration specialization after byte-identical repeats reduced its apparent handler-layer improvement to 1.99%. Its broad generated-C++ capture also did not prove the exact typed call shape.
This PR deliberately leaves production deregistration unchanged. It hardens the evidence needed to decide whether a future exact-
MessageBusspecialization has a real interface-dispatch mechanism before another licensed A/B bracket.Evidence contract
The new palindrome runs four independent existing benchmark windows in handler A, bus A, bus B, handler B order. It rejects non-finite or non-positive raw values/excesses, is arm-swap invariant, treats exact 3% boundaries as inclusive, and records
diagnosticOnly=true acceptanceEvidence=false candidateCompared=false.The Performance Numbers workflow structurally extracts complete generated method bodies, ignores forward declarations, follows concrete wrappers to shared bodies, accepts specialized bodies, rejects prefix collisions, and records interface/direct/unrecognized dispatch evidence before any hypothesis verdict. An embedded StrictMode self-test covers the extractor's zero/one/many and body-boundary behavior.
Validation
npm test: 421 passednpm run validate:allgit diff --checkAdvances #414.
Exact-head verdict
8678a2ca.perf-6000.5.2f1-standalone-internal(9251194997) records one typed interface-dispatch evidence line, zero direct-bus lines, andtypedBusDispatchRecognized=true.GenericInterfaceActionInvoker1on the stored message bus.interpretable=false.The interface-dispatch mechanism is proven, but repeated stable attribution is not. This PR therefore retains the diagnostic/evidence prerequisites and leaves the production exact-
MessageBusspecialization deferred.Note
Low Risk
Changes are confined to perf benchmarks, contract tests, CI evidence scripts, and documentation; production deregistration/runtime code is untouched.
Overview
Hardens deregistration attribution evidence without changing production messaging behavior. The PR adds diagnostic-only benchmarking and CI codegen capture so future specialization decisions rest on exact IL2CPP call chains and noise-gated timing, not broad string matches.
A new deregistration palindrome runs direct handler → direct bus → direct bus → direct handler after the published attribution rows.
AnalyzePalindromeandDeregistrationAttributionPalindromeDiagnosticapply symmetric 3% gates on same-path drift and handler-minus-bus excess spread, emitDXM_DEREGISTRATION_ATTRIBUTION_PALINDROME, and always recorddiagnosticOnly=true,acceptanceEvidence=false, andcandidateCompared=falsesointerpretable=trueis only a prerequisite, not proof of improvement. Contract tests cover boundary classifications, arm-swap invariance, and log shape; benchmark order shifts the new diagnostic to 3 and the dispatch twin to 4.The Performance Numbers standalone step replaces bounded
Select-Stringmarkers withGet-GeneratedMethodDefinition(brace-balanced full bodies, ordinal dedupe, embedded self-tests), then walksDeregistrationAttributionState.Execute→ typedTypedHandlerDeregistrationState.Deregister(including shared/_gsharedbodies) →MessageBus_Deregister, recording interface vs direct dispatch counts intyped-deregistration-codegen.txt. The perf methodology doc andunity-perf.test.jsworkflow assertion are updated to match.Reviewed by Cursor Bugbot for commit 8678a2c. Bugbot is set up for automated code reviews on this repo. Configure here.