Acceptance checklist
Use this page as the canonical local acceptance checklist for the current repository state. The acceptance gate is local and command-driven, and it uses the same script as CI.
Acceptance gate
Run the following commands from the repository root:
The canonical acceptance-gate result for the full test step in the current constrained environment is:
That result is the pass or fail line for the default local acceptance gate. The recorded warning profile belongs to the release baseline, not to the acceptance-gate definition itself.
What each command proves
python -m pip check proves that the active constrained environment has no
broken package requirements.
python -m compileall src tests scripts runme.py proves that the checked-in Python files parse
cleanly. If this step fails, you are dealing with a syntax or import-time
parse issue and you should stop there.
python -m meridian_tools.cli --help and python runme.py --help prove that
the installed CLI and source-tree launcher surfaces still import cleanly.
ruff check src tests scripts runme.py proves that the repository still satisfies the pinned
lint rules. If this step fails, fix the reported lint violations before moving
on.
ruff format --check src tests scripts runme.py proves that the checked-in files still match
the agreed formatting contract. If this step fails, run the formatter and then
rerun the verification sequence.
mypy src proves that the configured static typing baseline still runs
cleanly. If this step fails, either fix the reported type issue or update the
documented ratchet intentionally.
python docs-site/build_content.py, git diff --exit-code -- docs-site/content,
and hugo --source docs-site prove that canonical Markdown, generated Hugo
content, and the static site build stay aligned.
pytest --cov=src/meridian_tools --cov-report=term-missing proves the behavioural contract of the repository. This is
the broadest local validation step. If it fails, use the failing test names to
identify which package contract regressed.
How to interpret failure
If the compile step fails, fix syntax or parse problems first. The later steps will not give you useful signal until that is resolved.
If lint, format, or type checks fail, treat that as a source-tree quality issue, not as an optional clean-up item. Bring the tree back to the pinned Ruff and mypy state before trusting the rest of the loop.
If CLI help fails, assume the published command surface is broken even if the Python modules still import manually.
If the docs drift check fails, update the canonical files under docs/ first,
then regenerate docs-site/content.
If the pytest coverage step fails, the acceptance gate is not met. A partial pass is not enough. Fix the failing behavioural contract and rerun the full command sequence.
Optional extra confidence
The repository also carries one opt-in live Meridian verification command for extra technical confidence:
This command is not part of the default blocking acceptance gate. It exists to provide one bounded live Meridian route that proves:
- real pipeline execution over bundled demo data
- manifest-backed stored-run refresh after the original YAML is removed
- the lower-level live log-likelihood reconstruction seam
On the reference development environment, the recorded run finished in 135.42 seconds (0:02:15), with command elapsed time of 2:24.03; keep a budget of roughly six minutes or less for this extra-confidence command.