Skip to content

feat(compiler): emit OperatorContext CR on bootstrap (GAP-B1)#46

Merged
ontave merged 1 commit into
mainfrom
feat/gap-closure-pre-ccs-test
Jun 1, 2026
Merged

feat(compiler): emit OperatorContext CR on bootstrap (GAP-B1)#46
ontave merged 1 commit into
mainfrom
feat/gap-closure-pre-ccs-test

Conversation

@ontave
Copy link
Copy Markdown
Contributor

@ontave ontave commented Jun 1, 2026

Summary

  • compileBootstrap now emits ctx-{cluster}.yaml (OperatorContext CR) in ont-system with autonomyLevel: observe-only
  • Without this CR, OperatorContextWatcher defaults to full-delegation -- conductor acts at maximum autonomy on fresh clusters with zero governance gate
  • This fix closes GAP-B1 from lab/Pre-ccs-test-closure.md; ccs-test bootstrap is unblocked

KBCL classification

Without OperatorContext, B selection is unbounded -- conductor reconciles all health-loop decisions (defrag, node re-enrollment, PKI rotation) without any approval gate. This violates the A(T) boundary for a fresh cluster. The fix establishes observe-only as the safe bootstrap default; admin promotes to delegated or full-delegation after explicit validation.

Test plan

  • TestBootstrap_EmitsOperatorContextCR -- CR output file present, autonomyLevel=observe-only, clusterRefs=[{cluster}]
  • TestBootstrap_ProducesExpectedOutputFiles -- ctx-{cluster}.yaml in expected file list
  • All ./cmd/compiler/... tests PASS

Without an OperatorContext CR the OperatorContextWatcher defaults to
full-delegation, allowing conductor to act at maximum autonomy on a
fresh cluster with no governance gate. Emit ctx-{cluster}.yaml from
compileBootstrap with autonomyLevel=observe-only so every bootstrapped
cluster starts from the safest A(T) boundary; admin promotes explicitly.

Adds TestBootstrap_EmitsOperatorContextCR to verify CR output.
@ontave ontave merged commit c7958f5 into main Jun 1, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant