Skip to content

test(episodes): characterize mixed admission boundaries - #127

Merged
stacknil merged 3 commits into
mainfrom
stacknil/v07-mixed-admission-control
Aug 29, 2026
Merged

test(episodes): characterize mixed admission boundaries#127
stacknil merged 3 commits into
mainfrom
stacknil/v07-mixed-admission-control

Conversation

@stacknil

Copy link
Copy Markdown
Owner

Summary

  • add a minimal three-candidate control whose adjacent core contrasts are [18x pass, 1x fail]
  • require the aggregate admission to reject the unchanged v1 selection while retaining both local boundary decisions
  • document that partial adoption needs a separate boundary-driven partition and identity contract

Why

Candidate-v2 exposes one segment-level admitted value plus pair-level contrast evidence. The missing mixed case left the aggregate meaning ambiguous: one passing boundary must not make an otherwise mixed selection admissible, while one failing boundary must not erase the passing local evidence.

How to validate

  • python -m unittest discover -s tests -p 'test_episode*.py' — 44 passed
  • python -m ruff check . — passed
  • ctest --test-dir build -C Debug --output-on-failure — 7/7 passed
  • git diff --check origin/main...HEAD — passed
  • gitleaks git --log-opts="origin/main..HEAD" --redact --no-banner — no leaks
  • mutation proof: changing aggregate all(...) to any(...) makes the new focused test fail with True is not false

Risk / rollout notes

  • Design decision: admitted means the complete v1 selection may be adopted unchanged; it is not a per-candidate validity verdict.
  • Main risk: a future consumer could misread aggregate false as permission to discard every selected candidate or the passing boundary.
  • Compatibility impact: test and ADR only; no evaluator, fixture, schema, detector, CLI, or loglens.report.v3 behavior changes.
  • Rollback path: revert the two characterization commits; no artifact or data migration is required.
  • Follow-up: any partial acceptance must define boundary partitioning, merged evidence, and stable finding identity in a separate contract.

@stacknil

Copy link
Copy Markdown
Owner Author

Final diff review after CI: no findings.

  • Scope remains test + ADR only; no evaluator, fixture, schema, detector, CLI, or report-v3 changes.
  • The mixed control is explicitly one activity segment with three selected candidates.
  • Exact local evidence remains [18x pass, 1x fail]; aggregate false means only that the full v1 selection cannot be adopted unchanged.
  • The all -> any mutation fails the focused test, confirming the whole-selection gate is observable.
  • Rollback is the three test/documentation commits with no migration.

@stacknil
stacknil merged commit e2937e8 into main Aug 29, 2026
11 checks passed
@stacknil
stacknil deleted the stacknil/v07-mixed-admission-control branch August 29, 2026 09:00
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