Skip to content

fix: nightly hardening - finite signal number validation - #17

Merged
brainsparker merged 1 commit into
mainfrom
chore/nightly-hardening-20260510-finite-signal-numbers
May 10, 2026
Merged

fix: nightly hardening - finite signal number validation#17
brainsparker merged 1 commit into
mainfrom
chore/nightly-hardening-20260510-finite-signal-numbers

Conversation

@mouse-value-add

Copy link
Copy Markdown
Collaborator

Problem

Signal extraction accepted non-finite numeric values (for example Infinity) when parsing profile fields. This can propagate invalid numeric state into personalization logic and downstream ranking behavior.

Approach

  • Hardened toNumber in src/core/signals.ts to only accept finite numbers for both numeric and string inputs.
  • Added a regression test in test/core/signals.test.ts to verify trust_score: Infinity is dropped instead of emitted as a signal.

Verification

  • Ran full test suite: npm test
  • Result: 17 test files passed, 145 tests passed.

Risks

  • Low risk. Change only filters invalid non-finite numbers.
  • Potential behavior change for any caller that previously relied on non-finite values (undesirable behavior).

Rollback Plan

  • Revert commit 1ed0868 to restore prior parsing behavior.

@brainsparker
brainsparker merged commit 93d2afb into main May 10, 2026
1 check passed
@brainsparker
brainsparker deleted the chore/nightly-hardening-20260510-finite-signal-numbers branch May 10, 2026 23:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants