Skip to content

feat: Phase N N5 experiment priority justification schema -- auditable batch selection over alternatives (completes Phase N) - #832

Merged
cschanhniem merged 1 commit into
mainfrom
feat/n5-experiment-priority-justification
Jul 9, 2026
Merged

cschanhniem merged 1 commit into
mainfrom
feat/n5-experiment-priority-justification

Conversation

@cschanhniem

Copy link
Copy Markdown
Collaborator

Implements ExperimentPriorityEntry schema. Safety review enforcement. Post-hoc warning. Requires rejected alternatives. 4 warning conditions. 62 tests. CLI: openamp-foundry experiment-priority-check. Completes Phase N (Pre-registration & Baseline Honesty).

…e batch selection over alternatives (completes Phase N)
@cschanhniem
cschanhniem merged commit bbcd803 into main Jul 9, 2026
1 check failed
cschanhniem pushed a commit that referenced this pull request Jul 9, 2026
…I regression)

CI's `pytest -q` step was failing at collection with
`ModuleNotFoundError: No module named 'scripts'`, which aborted the entire
run — no tests executed on any PR or on main. Two root causes, both fixed:

1. pyproject `[tool.pytest.ini_options].pythonpath` listed `["src","scripts"]`
   but not the repo root, so `scripts` (a real package, scripts/__init__.py)
   was not importable as a top-level package by the 26 tests that do
   `import scripts.<mod>`. It only worked under `python -m pytest` (which adds
   CWD); CI uses the `pytest` console script, which does not. Add "." to
   pythonpath so the repo root is on sys.path under both invocations.

2. With collection fixed, 148 tests failed on a CLI NameError:
   `src/openamp_foundry/cli/main.py` built the `experiment-priority-check`
   subparser via `subparsers.add_parser(...)`, but the subparsers object is
   named `sub` (92 other call sites use `sub`; this was the lone `subparsers`).
   A regression from #832 that CI never caught because collection was already
   broken. One-identifier fix.

Verified with the CI-equivalent invocation (`pytest -q`): the suite goes from
0 tests executed (collection abort) to 4418 passed. Four pre-existing failures
remain (2 distinct bugs — candidate-summary-card lowercase validation and
negative-result informativeness scoring); both fail on unmodified main, are
unrelated to this change, were hidden by the broken collection, and need
product-level review. Filed separately.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0151yUvpHj6wAd6JraWyChEX
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