Skip to content

docs(reconciler): state what the create recovery retry assumes - #106

Merged
braghettos merged 1 commit into
mainfrom
docs/create-recovery-premise
Nov 15, 2026
Merged

braghettos merged 1 commit into
mainfrom
docs/create-recovery-premise

Conversation

@braghettos

Copy link
Copy Markdown
Collaborator

What

After the recovery grace period (2m by default) the reconciler retries a create whose outcome was never recorded. The docs did not say when that retry is safe. They now do, in docs/overview.md ("What the retry assumes") and in the WithCreateRecoveryGracePeriod comment:

  • Observe finds the resource by a key the managed resource carries before Create returns, or
  • Create is idempotent on that key.

If neither holds (the backend assigns the identifier and Observe can look the resource up only by it), the retry can make a second object. The fix for such a kind is a lookup that needs no assigned identifier; a longer grace period only delays the retry.

Why

unstructured-runtime#93 was decided the other way (a distinct Ready reason, a human resolves) because its consumers include kinds with vendor-assigned identity. The consumers of this library were checked per kind and find their resources by keys known before Create, or have an idempotent Create, so the behaviour here stays.

Behaviour is unchanged; docs and a comment only.

🤖 Generated with Claude Code

https://claude.ai/code/session_01N8HNbFHt8c2mEcAunQEGAG

After the recovery grace period an unresolved create is retried. That is
safe only when Observe finds the resource by a key known before Create
returns, or Create is idempotent on that key. Where the backend assigns
the identifier and Observe can look the resource up only by it, the retry
makes a second object. The overview and the option comment now say so.

Behaviour is unchanged.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N8HNbFHt8c2mEcAunQEGAG
@braghettos
braghettos merged commit 0697e7a into main Nov 15, 2026
14 checks passed
@braghettos
braghettos deleted the docs/create-recovery-premise branch November 15, 2026 15:50
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