5365bb4e0a
---ci--- project: acdl phase: 0 milestone: v1.9 status: complete requirements: covered: [REQ-100, REQ-101, REQ-102, REQ-103, REQ-104, REQ-105, REQ-106, REQ-107, REQ-108, REQ-109, REQ-110, REQ-111] partial: [] ---/ci--- v1.9 milestone COMPLETE. All 12 requirements satisfied. Verify: 4 layers PASS (structural 26/26 files, behavioral 493 tests + run_ci.sh + run_platform.sh --check-only green, security, quality). Review: 0 P0, 0 P1 (READY TO SHIP). REVIEW.md reconstructed (D-086). Audit: PASS (reconstruction, file discipline, branch hygiene, commit discipline — 12/12 commits with ---ci--- blocks). Updated: - .ciagent/REQUIREMENTS.md: v1.9 section marked complete; traceability table REQ-100..111 added. - .ciagent/ROADMAP.md: v1.9 marked complete; Phase 43 added. - .ciagent/PROJECT.md: v1.9 objective marked complete. - .ciagent/config.json: milestone v1.9 status -> complete. - .ciagent/REVIEW.md: reconstructed with v1.9 content (D-086). - .ciagent/VERIFY.md: v1.9 4-layer verify. - .ciagent/AUDIT.md: v1.9 audit (PASS). - uses:/ref: bumped @v1.6 -> @v1.9 in contracts/, deploy workflows, docs/consumer-guide.md (D-071 successor). Tag v1.9.0 created next; floating v1.9 + v1 tags updated.
2.1 KiB
2.1 KiB
Phase 39-43 — Verify (v1.9)
Structural
All 26 new files present (environment.schema.json, 4 env files, 8 per-env contracts, hitl_gates.py, attestation_matrix.py, 10 new test files, refreshed design docs). SNS topic in terraform/platform/main.tf. PASS.
Behavioral
pytest: 493 tests, all passing (was 350 at v1.8 → 493 at v1.9, +143 new).run_ci.sh: exits 0 with "CI PIPELINE OK".run_platform.sh --check-only: exits 0 with "PLATFORM CHECK OK".run_platform.sh --check-only --environment qa: exits 0; bucket name reflects qa env. PASS.
Security
- No hardcoded adapter ECS/ALB/VPC defaults (P1-1 closed; defaults in interface.json).
- HITL gates block on SoD violation (approver_qa == approver_prod).
- Attestation matrix fails loud on missing/expired evidence for prod/dr.
- Signature verification required when ACDL_ATTESTATION_SIGNING_KEY_ID set; skipped + logged when unset (D-089).
- Wiz degrades gracefully when unconfigured (WIZ_NOT_CONFIGURED SKIPPED record).
- SNS topic KMS-encrypted; outbox fallback for the halt artifact.
- Deploy workflows byte-identical (Gitea + GitHub). PASS.
Quality
Each new feature has dedicated tests:
- Design docs: test_design_docs_current.py (no stale framing; deferred D-083 labeled).
- P1-1: test_p1_1_adapter_parameterization.py (override + default + v1.1 S3 regression).
- Interpolation: test_interpolation.py + test_sample_contracts_interpolate.py + test_environment_schema.py.
- Per-env jobs: test_per_env_contracts.py + test_deploy_workflow_env_input.py + test_consumer_guide_per_env_section.py.
- SoD: test_route_halt_artifact.py (SNS + outbox fallback + SNS failure fallback).
- HITL gates: test_hitl_gates.py (dev skips; qa/prod/dr record approver; SoD blocks; matrix invoked).
- Attestation matrix: test_attestation_matrix.py (offline concerns; operator-supplied; freshness; signature skip).
- Wiz: test_wiz_adapter_real_client.py (real client + pagination + graceful degrade).
- Kyverno: expanded test_kyverno_adapter.py (pass/fail/skip/warn + severity + inactive guard + kube-version). PASS.
Verdict
VERIFY PASS — all four layers pass. 493 offline tests, no AWS required for CI.