Skip to content

test(research): add isolated burst compatibility control - #118

Merged
stacknil merged 3 commits into
mainfrom
stacknil/v07-isolated-bursts-control
Aug 27, 2026
Merged

test(research): add isolated burst compatibility control#118
stacknil merged 3 commits into
mainfrom
stacknil/v07-isolated-bursts-control

Conversation

@stacknil

Copy link
Copy Markdown
Owner

Summary

  • Add an isolated_dense_bursts fixture and a replayed v0.6 baseline as a null control.
  • Commit the window-separated candidate oracle and require exact baseline identity, event partitioning, input-order invariance, timezone equivalence, cross-reference validity, and Draft 2020-12 schema conformance.
  • Record the compatibility decision and remaining research boundaries in ADR 0001.

Why

The candidate already recovers two dense peaks connected by sparse background. It must also preserve the v0.6 result when two bursts are already separated correctly. This slice tests that rejection boundary without adding another threshold or tie-break enumeration.

Design decision

Treat isolated bursts as a null control: with threshold 5, an inclusive 600-second window, and a 1,080-second inter-segment gap, both v0.6 and the candidate must emit the same two deterministic findings and consume every event exactly once.

Main risk

This is one bounded synthetic control. It does not establish behavior for maximal-window ties, shared evidence, background calibration, or production-scale complexity.

Compatibility impact

None for the runtime, CLI, report schema, or stable release. src/ is unchanged; the diff adds research fixtures, regression coverage, and ADR evidence only.

Rollback path

Revert the three semantic commits or close the PR. There is no migration, persisted state, release artifact, or runtime toggle to unwind.

Validation

  • python -m pip install -r requirements-test.txt
  • python -m ruff check scripts tests
  • python -B -m unittest discover -s tests -p "test_episode_candidate*.py" -v — 25/25 passed
  • Exact evaluator --check replay for both committed fixtures — passed
  • cmake --preset ci-release
  • cmake --build --preset ci-release — MSVC warnings-as-errors build passed
  • ctest --preset ci-release — 7/7 passed
  • Strict JSON parsing for all three new artifacts — passed
  • git diff --check origin/main...HEAD — passed
  • gitleaks git --no-banner --redact --log-opts "origin/main..HEAD" — no leaks
  • Privacy scan — only 203.0.113.78; no local paths or secret assignments

Review gate

Draft because the evidence-heavy diff has 600 additions and changes a report/schema research boundary. Keep it open for the required delayed diff review; do not merge from this initial validation alone.

@stacknil

Copy link
Copy Markdown
Owner Author

Post-CI final diff review completed on head 75f24f0db6a3 against main at 2fbf9bf22be9.

  • Result: no blocking findings. All 11 check runs succeeded, the PR is mergeable/clean, and there are no bot, review, or inline comments.
  • Design decision: use isolated_dense_bursts as a null control. The candidate must preserve the replayed v0.6 two-episode result, deterministic IDs, complete one-time event consumption, input-order invariance, and timezone-equivalent identity.
  • Main risk: one bounded synthetic control does not cover maximal-window ties, shared evidence, background calibration, or production-scale complexity.
  • Compatibility impact: none for runtime, CLI, loglens.report.v3, or the stable release. src/ has no diff.
  • Rollback path: revert the three semantic commits or close this PR; no migration or runtime state is involved.

The PR remains draft because it contains 600 evidence-heavy additions and crosses the report/schema research boundary. The delayed review gate still applies; this initial green run is not merge authorization by itself.

@stacknil

Copy link
Copy Markdown
Owner Author

Delayed diff review completed after 9.88 hours on unchanged head 75f24f0db6a3 and unchanged base 2fbf9bf22be9.

  • Reuse: no findings; the change reuses the evaluator, baseline contract, timestamp parser, oracle validator, and shared schema.
  • Quality/correctness: no findings; fixture timing, replayed baseline, deterministic identities, event partition, schema validation, tests, and ADR claims agree.
  • Efficiency: no findings; src/ is unchanged, the 10-event control is minimal for two threshold-5 bursts, and the evidence files serve distinct contracts.
  • Clarity/standards: no findings; naming, scope language, safe placeholders, organization, and three-commit separation match repository conventions.

Fresh exact-head validation:

  • Ruff: passed
  • Episode-candidate research suite: 25/25 passed
  • Both committed oracle replays: passed
  • MSVC warnings-as-errors build: passed
  • CTest: 7/7 passed
  • JSON parsing, git diff --check, Gitleaks, privacy scan: passed
  • GitHub checks before readiness: 11/11 successful; no new bot, review, or inline comments

Design decision: retain isolated bursts as a null control that must preserve the replayed v0.6 identities and one-time evidence partition.
Main risk: maximal-window ties, shared evidence, background calibration, and production-scale complexity remain outside this bounded result.
Compatibility impact: no runtime, CLI, report-contract, or stable-release change; src/ has no diff.
Rollback path: revert the three semantic commits; no migration or persisted state exists.

@stacknil
stacknil marked this pull request as ready for review August 27, 2026 16:08
@stacknil
stacknil merged commit 4533ba0 into main Aug 27, 2026
11 checks passed
@stacknil
stacknil deleted the stacknil/v07-isolated-bursts-control branch August 27, 2026 16:09
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