Skip to content

test(research): characterize uniform background volume - #122

Merged
stacknil merged 2 commits into
mainfrom
stacknil/v07-uniform-background-volume-control
Aug 28, 2026
Merged

test(research): characterize uniform background volume#122
stacknil merged 2 commits into
mainfrom
stacknil/v07-uniform-background-volume-control

Conversation

@stacknil

Copy link
Copy Markdown
Owner

Summary

  • add a focused uniform-rate background control at the threshold/window boundary
  • lock the transition from one selected candidate at 13 events to two at 14 events inside one activity segment
  • document that candidate-v1 episode multiplication does not, by itself, prove multiple dense peaks

Why

The remaining qualitative deployment question was whether window-separated candidate multiplication was specific to separated density peaks. It is not: with threshold 5, an inclusive 600-second window, and one event every 150 seconds, 14 homogeneous events remain one v0.6 activity segment but candidate v1 selects line:1..line:5 and line:10..line:14.

This is the smallest decision-changing control at that cadence. The stopping rule was the first adjacent event count that changed the selected episode count (13 produces 1; 14 produces 2), so no broader parameter sweep was performed.

How to validate

  • python -m unittest tests.test_episode_candidate_core.WindowSeparatedSelectionTests.test_uniform_threshold_rate_can_multiply_episodes_in_one_segment
  • python -m unittest discover -s tests -p 'test_episode*.py'
  • python -m ruff check scripts tests
  • cmake --build build --config Debug
  • ctest --test-dir build -C Debug --output-on-failure
  • mutation check: disabling the multi-window predecessor link makes the focused control fail; restoring it passes
  • gitleaks git --no-banner --redact --log-opts='origin/main..HEAD' .
  • git diff --check origin/main...HEAD

Risk / rollout notes

  • Design decision: treat this as a negative calibration result and block production adoption of candidate v1 without a density-contrast rule or explicit alert-volume budget.
  • Main risk: overgeneralizing one synthetic cadence into a measured real-world false-positive or alert-volume rate.
  • Compatibility impact: test and ADR only; Detector::analyze(), CLI behavior, report-v3, and released v0.6 behavior are unchanged.
  • Rollback path: revert 41131d1 and 0e0568e.

@stacknil

Copy link
Copy Markdown
Owner Author

Post-CI final review complete.

  • Checks: all 11 reported runs passed (Ubuntu, Windows, parser fuzz smoke, Repo Sentinel, and CodeQL).
  • Design decision: the 13-to-14 event boundary is a negative calibration result; candidate v1 must not move into production unchanged without density contrast or an explicit alert-volume budget.
  • Main risk: one sanitized uniform cadence must not be presented as a measured real-world false-positive or alert-volume rate.
  • Compatibility impact: test and ADR only; no diff under src/, include/, CMakeLists.txt, or the research core implementation. Detector::analyze(), CLI, report-v3, and v0.6 behavior remain unchanged.
  • Rollback path: revert 41131d1 and 0e0568e.
  • Evidence: branch is 0 behind / 2 ahead, merge state is clean, 28/28 research tests and CTest 7/7 passed locally, the focused mutation was killed, and Gitleaks/privacy scans are clean.
  • Stopping rule: the first adjacent event count at the fixed cadence that changes selected episode count was sufficient; no low-information parameter sweep was added.
  • Reviews/comments: no bot or reviewer action items.

@stacknil
stacknil merged commit 3c445b7 into main Aug 28, 2026
11 checks passed
@stacknil
stacknil deleted the stacknil/v07-uniform-background-volume-control branch August 28, 2026 05:20
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.

1 participant