Repository navigation
Add independent event novelty directionality for v0.2.0 - #2
Merged
Merged
Conversation
PullsarDev
force-pushed
the
feature/event-directionality
branch
from
October 24, 2026 06:33
e7599fd to
7b35d48
Compare
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.
Add
CandidateSnapshot::eventDirectionality{1.f}so hosts can attenuate novelty's angular gate independently of raw preference scoring. Directionality 1 reuses the existing roundedCandidateTrace::gateexactly; other values usedistanceGate * (1 - d * (1 - angleGate)) * perceptionStrength. Distance, perception, raw scoring and temporal policy remain unchanged. Invalid directionality is rejected as candidate-levelInvalidEventat the existing precedence point, even for absent events or beta zero.CandidateTrace::noveltyGaterecords the exact rounded gate used. It occupies x64 padding aftereventStrength, preserving the 96-byte trace size, 8-byte alignment and all 17 v0.1.0 field offsets. Positional trace aggregate initializers must account for the inserted field; consumers should rebuild with matching headers and library. The host still controls perception strength, event generation and candidate range. The proposed next release is v0.2.0; the current version remains 0.1.0.Validation on final head
7910003:Direct Release comparison of v0.1.0 and the final candidate kernel uses identical MSVC 19.38 optimization flags and a byte-identical harness, three independent processes per revision, five runs × 128 cycles, alternating process order, normal priority and fixed logical-CPU affinity. All six processes pass status/pairing/replay/tracing checks with zero allocations across 3,604,480 measured single-observer calls and 200,000 reference calls per process.
Nonempty batch medians are 0.8–3.8% slower than v0.1.0; reference medians are 1.0–2.0% slower. Reference core is 21.176 → 21.394 ms per simulated second and novelty is 21.649 → 22.085 ms. A candidate reference-core process spike to 29.844 ms and synchronous-tick p99 of 18.493 ms are retained. No performance improvement or fixed overhead budget is claimed. Both kernels have 96-byte traces.
Full 44-configuration matrix, four reference variants, process ranges, tails, environment and reproduction steps. The report presents the direct release/candidate comparison without intermediate implementation history. The measured candidate kernel is identical to final-head production, test, harness and build content; the evidence commit updates only this report.
Remaining limits: one desktop, scheduling/frequency variation, synthetic workloads, unverified other architectures and no cross-platform bit-exact guarantee. Nondefault directionality is covered for correctness/allocation behavior rather than benchmarked for timing.
Draft for final review. No merge, tag or release is requested.