Conversation
…trap templates Fixes #34
|
@copilot review |
Review complete. All 16 tests pass and quality hooks pass. Here's a summary of findings: No blockers. The fix is correct and the two root causes are properly addressed. Notable observations:
Everything else looks clean. Commit: |
Summary
This PR fixes the local bootstrap/upgrade drift described in issue #34.
Root causes addressed
ensure_file_from_templateandensure_file_from_rendered_templateused command substitution directly.upgrade_consumer.pyscoped candidate paths primarily from the target repo contract.Design
Bootstrap template handling
scripts/lib/blueprint/bootstrap_templates.shbootstrap_template_contentnow returns non-zero on missing templates.log_fatalin parent shell.Upgrade planning scope
scripts/lib/blueprint/upgrade_consumer.pyrequired_filessource_only_pathsconsumer_seeded_pathsinit_managed_pathsconditional_scaffold_pathsTests
tests/blueprint/test_bootstrap_templates.pytests/blueprint/test_upgrade_consumer.pyscripts/lib/quality/test_pyramid_contract.jsonto classify the new test file as unit.Backward-Compatibility Notes
make blueprint-resync-consumer-seedsBLUEPRINT_RESYNC_APPLY_SAFE=true make blueprint-resync-consumer-seedsmake blueprint-upgrade-consumer-preflightBLUEPRINT_UPGRADE_APPLY=true make blueprint-upgrade-consumermake blueprint-upgrade-consumer-validatemake infra-validateValidation Evidence
python3 -m unittest -q tests.blueprint.test_bootstrap_templatespython3 -m unittest -q tests.blueprint.test_upgrade_consumermake quality-hooks-runFixes #34