Kanban task t_f0ff9c82, fixing blocking review defects from t_713bfb09 at candidate a9ee1aad5871410be579b77bfd0277c1d4e891d4.
Head SHA: 8338cf27a01839eeb4076a6e474f0c0131bdd5a2 Base SHA: a9ee1aad5871410be579b77bfd0277c1d4e891d4
Fixes 3 of 5 review findings:
- config::validate_production_policy (SDP-002) now requires a job named exactly
packageneeded by the production job, and that package job must transitively depend on a job namedverify-- rejects same-shape artifact-producing lookalikes. Added fixtures: missing verify, unrelated artifact producer, transitive-verify-ok. - ec2::host::audit_app resolves hosted_commit from the Build-owned bare mirror (not local
git rev-parse HEAD) and flags SDP-001 on unresolved/mismatched provenance. Added fixtures: match, mismatch, unresolved (both sides). - config::validate_delegated_script inspects referenced deploy.sh/service-deploy.sh/provision- script content for checksum + health/rollback handling; fleet-audit now reads and validates any delegated script a production job's run: text names. Added fixtures: conforming, empty, malicious (no checksum), checksum-without-health-gate.
NOT included here (filed as follow-up tasks, cross-cutting/higher-risk changes): 2. Queue-time pre-validation ordering in runner.rs (resolve commit + parse pipeline before run-row creation/queue, not just before promotion) -- requires restructuring queue()/execute_claimed() control flow and touches non-production CI paths. 5. AKURAI_APPS.toml catalog schema/contract redefinition across AkurAI-Framework -- cross-repo change requiring MCP tool-call shape agreement.
Evidence: cargo fmt --all -- --check: clean cargo clippy --all-targets --all-features -- -D warnings: clean cargo test --lib: 283/283 passed