docs(spec): clarify invariant CLI completeness requirements #7484

Closed
HAL9000 wants to merge 1 commits from spec/arch-invariant-cli-completeness into master

1 Commits

Author SHA1 Message Date
HAL9000 92a7de4f84 docs(spec): clarify invariant CLI completeness requirements
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 20s
CI / helm (pull_request) Successful in 22s
CI / lint (pull_request) Successful in 25s
CI / quality (pull_request) Successful in 44s
CI / security (pull_request) Successful in 53s
CI / build (pull_request) Successful in 3m18s
CI / typecheck (pull_request) Successful in 4m2s
CI / e2e_tests (pull_request) Successful in 4m7s
CI / integration_tests (pull_request) Successful in 4m26s
CI / unit_tests (pull_request) Successful in 7m29s
CI / docker (pull_request) Successful in 11s
CI / coverage (pull_request) Successful in 10m14s
CI / status-check (pull_request) Successful in 2s
CI / benchmark-regression (pull_request) Successful in 57m5s
UAT findings #7461 and #7462 identified two spec-implementation gaps in
the invariant system:

1. Missing --non-overridable CLI flag (#7461):
   The spec defines 'agents invariant add --global --non-overridable'
   but the CLI raises 'No such option: --non-overridable'. System
   administrators cannot create non-overridable global safety constraints.

2. Action-scope omitted from --effective output (#7462):
   The spec defines four-tier precedence (plan > action > project > global)
   but InvariantService.get_effective_invariants() only merges plan/project/
   global, omitting action scope entirely. The --effective output also
   ignores non_overridable semantics.

Added 'CLI completeness requirements for invariants' section clarifying:
- --non-overridable flag MUST be implemented (global scope only)
- Action-scope MUST be included in --effective output
- non_overridable semantics MUST be correctly applied in --effective

Refs: UAT #7461, UAT #7462
2026-04-13 01:34:01 +00:00