Add configuration comparison capability contract

This commit is contained in:
2026-10-11 21:36:34 +00:00
parent c883c64be9
commit 018f90a23c
4 changed files with 164 additions and 12 deletions

View File

@@ -124,10 +124,20 @@ ordinary acquisition for a comparison-only scope.
when applicable to a comparison-capable scope. Rely on existing core binding
validation for collisions with generated flags.
**Completion evidence:** focused installation/discovery checks for comparison-only,
mixed, unsupported, and metadata-only scopes; missing callback and retained nil
loader issues; captured metadata surviving source edits. Execution is wired in
Stages 3, 4, and 8; do not add temporary handlers for intermediate completeness.
**Completion evidence — complete:** `Diff`, `ComparisonSide[I]`,
`ComparisonRequest[I]`, and the optional `Scope.Compare` callback are declared in
ckconfig. Capability validation now requires `Acquire` only for ordinary
operations and `Compare` only for `Diff`; retained adapter issues still reach
installation after capability narrowing. Operation normalization and discovery
preserve the four existing operation order and append `diff`, generating the
family command only when a scope declares comparison. Focused checks cover
comparison-only, mixed, unsupported, and metadata-only scopes; missing provider
wiring; a narrowed ConfigKit adapter retaining its nil-loader issue; and captured
capability metadata and provider references surviving edits to the source
declaration. Construction, installation, discovery, and unsupported-scope
preflight leave factories and providers uninvoked. The ckconfig and dependent
ckp suites pass. Input flags and successful comparison execution remain for
their later owners.
## Stage 3: Add comparison flags, inheritance, and availability preflight