Quickstart: verifying the plan guard/manifest fix
Reproduce (pre-fix)
PYTHONPATH="$PWD/src:$PWD" .venv/bin/python -c "
from runtime.next.runtime_bridge_io import _presence_filenames_for
from specify_cli.runtime.resolver import required_artifacts_for
print('presence:', sorted(_presence_filenames_for('plan'))) # {goals.md,research.md,plan.md}
print('req specify:', required_artifacts_for('specify','plan')) # [] (bug)
"
Verify (post-fix)
_presence_filenames_for('plan') contains spec.md, not goals.md.required_artifacts_for('specify','plan') == {spec.md}, ('plan','plan') == {plan.md}.- On a plan mission dir with committed spec.md:
_evaluate_plan_guards(step_id=specify) → []. - Missing spec.md →
guard_failure_artifact_paths(...) non-empty, names spec.md.
Blast-radius tests
PYTHONPATH="$PWD/src:$PWD" .venv/bin/python -m pytest \
tests/runtime/next/test_cli_guard_family.py tests/next/test_guard_failure_paths_3883.py \
tests/specify_cli/runtime/test_configured_artifact_name.py tests/dossier/test_manifest.py \
tests/runtime/test_bridge_parity.py -q
make test-fast
# No make test-full; no .github/ci-shard-timings.json regen.