Skip to content

align guidelines with the framework principles#104

Merged
sourcehawk merged 1 commit intomainfrom
docs/align-guidelines-with-ssa
Apr 1, 2026
Merged

align guidelines with the framework principles#104
sourcehawk merged 1 commit intomainfrom
docs/align-guidelines-with-ssa

Conversation

@sourcehawk
Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings April 1, 2026 14:25
@sourcehawk sourcehawk merged commit 051ccc1 into main Apr 1, 2026
4 checks passed
@sourcehawk sourcehawk deleted the docs/align-guidelines-with-ssa branch April 1, 2026 14:25
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the operator guidelines documentation to better align mutation usage with the framework’s reconciliation and data extraction model, clarifying how to avoid encoding “observation” into mutations.

Changes:

  • Tightens guidance to discourage using live cluster state to drive a resource’s own mutations.
  • Adds explanation of the execution order: mutations run before same-resource data extraction.
  • Clarifies intended use of data extractors for passing observed state from earlier resources to later resources.

Comment thread docs/guidelines.md
Comment on lines +624 to +626
Mutations operate on the desired object, not the server's current state. A mutation should be a pure function of the
owner spec and other static inputs available at build time. It should never try to read the resource's live cluster
state to decide what to write.
Copy link

Copilot AI Apr 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The statement that a mutation should be a "pure function of the owner spec and other static inputs available at build time" conflicts with the framework’s supported pattern where a later resource’s mutation can depend on data extracted from an earlier resource during the same reconcile (extractors run after a resource is applied and make data available to subsequent resources). Consider rewording to emphasize "no reads of the same resource’s live cluster state" / "deterministic given owner spec plus any previously extracted inputs", rather than limiting inputs to build-time only.

Copilot uses AI. Check for mistakes.
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.

2 participants