build: harden Docker supply chain - #48
Conversation
There was a problem hiding this comment.
Deterministic Validator approval for exact head bb710cc287c92d27610567c0a76189b35925c3e3.
Ticket: ticket-047
Correlation ID: planfile-pr-48-ticket-047
Model: zai/glm-5.3
Reviewed diff chunks: 1
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 1 diff chunk(s). Supply-chain hardening of the Docker runner image: both FROM stages pinned by sha256 manifest digest, dependencies installed via uv sync --frozen from the committed lockfile, embedded Ollama installer (curl | sh) removed in favor of an external endpoint, and the Docker context denylist replaced with a fail-closed allowlist. Compose and entrypoint updated consistently, and a new test file asserts the digest pinning, frozen resolution, and allowlist invariants. CI checks pass.
Advisory findings: none
The LLM output above is advisory and was not used as the approval trust root.
Merge will be attempted after this approval when explicitly authorized.
Decision record (recomputable)
DECISION D-047-8566
TICKET ticket-047
HEAD_SHA bb710cc287c92d27610567c0a76189b35925c3e3
CORRELATION_ID planfile-pr-48-ticket-047
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["notify=PASS","ci-loop=PASS"]
INPUT required_checks = ["ci-loop","notify"]
INPUT required_checks_source = "protected registry (env/request)"
INPUT reviewer_login = "ifuri-validator-agent[bot]"
INPUT superseded_checks = []
VERDICT APPROVE AUTHORITY DETERMINISTIC
REJECTED REQUEST_CHANGES BECAUSE NO_UNSAFE_CHANGE_REASON_FOUND
ADVISORY llm_verdict = "APPROVE" MODEL "zai/glm-5.3"
ASSERT VERDICT_AUTHORITY != "ADVISORY"
Ticket: ticket-047
Pins the Python and uv stages by multi-platform manifest digest, installs the runner from the committed
uv.lockwith frozen resolution, removes the unconstrained embedded Ollama installer, and replaces the Docker context denylist with a fail-closed allowlist.Validation:
Closes #35
Closes #47
Related: semcod/koru#64
Correlation ID: planfile-pr-ticket-047-docker-supply-chain