ADR-007: CUE conditional branches for optional charter scope fields
| Field | Value |
|---|---|
| Status | accepted |
| Date | 2026-02-18 |
Context
Charter #GapAnalysis used count_satisfied: true as a default — in CUE, this is a hard constraint, not a default.
Decision
Use mutually exclusive conditional branches with a bool type constraint instead of a hard true default.
Rationale
CUE unification makes foo: true into an immutable constraint. The only way to conditionally set a field is via mutually exclusive if branches.
Consequences
- depth_satisfied and count_satisfied now use bool type + conditional branches
- Charter gap analysis works correctly when graph has fewer resources than scope requires
- cue vet on public fields catches conflicts that hidden-field tests miss