Decision: Approve Native CI Ignore-Policy Specification
Date: 2026-08-14 Status: APPROVED — PHASE 3 IMPLEMENTATION AUTHORIZED Issue: https://git.terraphim.cloud/terraphim/terraphim-ai/issues/3222
Approved artifact
- Combined design/specification:
docs/plans/design-native-ci-ignore-policy-3222.md - Approval SHA-256:
ce6417e176bbf59480e5341d4488b8281e6dbf8b98916dfeaf700e2e2ea1d419 - Current post-review SHA-256:
06bcab07f16825c336b33383e02aeaef446b3b7f9617dffc1c8b399aef2bcac8 - Frozen Phase 2 body SHA-256:
632acff377eff7053a397b11ce589c03b43b9241ab7880c10f374ab8dfbb83ca
Quality gate
Independent Claude Opus Phase 2.5 KLS: PASS, 5.00/5 in every dimension; essentialism passed; convergence complete.
Authorization basis
Alex approved the design with “perfect, proceed.” Phase 2.5 introduced no new implementation files or requirements and retained the approved global forbidden-flag policy. Its two factual clarifications were resolved and independently accepted.
Authorized implementation scope
Only:
.gitea/workflows/native-ci.ymlcrates/terraphim_gitea_runner/src/lib.rs
Strict RED→GREEN TDD is required. No dependency, API, branch-protection, status-context, Docker, network-test, or ignored-test changes are authorized.
Post-approval defect loop-back
Independent structural review Round 1 identified two under-enforced parts of
the approved policy: --include-ignored was not rejected, and the guard did not
enforce the exact ordered direct-Cargo-test set. D001/D002 in the specification
appendix clarify those existing invariants without expanding the two-file
implementation scope. Mutation-first evidence and final gate results are
retained in docs/plans/verification-native-ci-ignore-policy-3222.md.
Native validation then identified D003: trybuild scratch manifests do not inherit the repository-local private-registry index. The specification loop-back permits only a non-secret registry-index prefix on the existing LLM command; normalized command order, target selection, token handling, and the two-file implementation scope remain unchanged.