Repository navigation
Prepare Interest Engine v0.2.0 release - #3
Merged
Merged
Conversation
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.
Prepare the approved event-directionality kernel for version 0.2.0. This PR updates version metadata and the README introduction; scoring, public API declarations and historical benchmark evidence are unchanged.
Changed files:
CMakeLists.txt: project version 0.2.0.src/version.cpp: report 0.2.0.tests/smoke_test.cpp: expect 0.2.0; preserve all layout checks.README.md: describe version 0.2.0 and remove the obsolete candidate introduction.Local validation with MSVC 19.38 x64 and warnings as errors:
src/step.cppandinclude/interest/attention.hppmatch merged main byte-for-byte; the only runtime output change is the reported version string.All 10 GitHub Actions jobs pass on commit
58700ab, including the three Release consumer checks and Clang ASan/UBSan.Release notes below are an unpublished draft following the v0.1.0 release format. Version-tag links and installation commands are prepared for publication. No tag or GitHub Release has been created.
Release notes draft
Title: Interest Engine v0.2.0
Interest Engine v0.2.0 adds configurable event novelty directionality to the standalone C++20 attention-selection library for game NPCs.
Features
CandidateSnapshot::eventDirectionalitycontrols novelty's angular gate independently of raw preference scoring. The default1.fpreserves the legacy numerical path exactly;0.fremoves novelty's angle penalty, and intermediate values interpolate.CandidateTrace::noveltyGateexposes the actual rounded gate used by novelty scoring.[0,1]. Invalid values reject the candidate asInvalidEvent, including when events are absent or novelty is disabled.Step()calls are preserved.Compatibility
Public structs include new fields. Rebuild consumers with matching headers and library; positional trace aggregate initializers must account for
noveltyGate.On tested Windows x64 MSVC and Linux x86-64 GCC/Clang builds,
CandidateTraceremains 96 bytes with all 17 pre-existing field offsets unchanged. These verified layouts are not a general ABI guarantee.Verification
All 10 GitHub Actions jobs passed for this version. Coverage includes MSVC, GCC and Clang Debug/Release builds, no-exceptions/no-RTTI checks, and Clang ASan/UBSan. Each job passed 15 CTest checks; all three Release consumer-integration checks also passed.
Installation
Requires CMake 3.20 or newer and a C++20 compiler.
For application integration, use
add_subdirectory()and linkInterestEngine::Core. See the README for the API example and platform-specific commands.Known limitations
License
Copyright 2026 PullsarDev. Licensed under the Apache License 2.0. Test-support attribution is retained in third-party notices.