e35e605914
compute_image_tag hashed only the manifest JSON, so cached images built before the entrypoint fix were reused even though compile_entrypoint() now produces a different entrypoint. This caused containers to keep using the old (broken) entrypoint that exited immediately. - Include a compiler_version token in the hash input so manifest compiler changes invalidate previously built images - This forces a fresh image build for new instances after any change to compile_dockerfile, compile_entrypoint, or compile_compose Quality gates: - pytest tests/unit: 219 passed - ruff: clean on changed files - mypy: clean on changed files