Summary
Define and enforce the object lifecycle/versioning contract for git commit hash, resourceVersion, and uid across edits, renames, status updates, and delete/recreate flows.
In Scope
- Specify canonical transition rules for
(commit, resourceVersion, uid) under these operations:
- content edit
- file rename
- status-only update
- delete + re-add
- Implement controller and API behavior to enforce those transitions consistently
- Publish conformance tests and examples for lifecycle transitions
- Expose transition semantics in API/CLI docs
Out of Scope
- New transport protocols
- Frontend UX changes
- Admission mutation phase
Acceptance Criteria
Implementation Notes
Consumers need deterministic semantics to build reliable automation. The watch path, sync controller, and admission flow all depend on predictable identity/version behavior. Treating this as an explicit contract avoids drift between services and prevents subtle bugs in resume/replay logic.
| Action |
Git Commit Hash |
resourceVersion |
UID |
| Edit Content |
Changes |
Increments |
Stays Same |
| Rename File |
Changes |
Increments |
Stays Same |
| Update Status |
Stays Same |
Increments |
Stays Same |
| Delete/Re-add |
Changes |
Resets (New Object) |
Changes (New Entity) |
Dependencies
Summary
Define and enforce the object lifecycle/versioning contract for
git commit hash,resourceVersion, anduidacross edits, renames, status updates, and delete/recreate flows.In Scope
(commit, resourceVersion, uid)under these operations:Out of Scope
Acceptance Criteria
resourceVersionincrements on every persisted state transitionuidremains stable for edit/rename/status updates and changes for delete/recreateImplementation Notes
Consumers need deterministic semantics to build reliable automation. The watch path, sync controller, and admission flow all depend on predictable identity/version behavior. Treating this as an explicit contract avoids drift between services and prevents subtle bugs in resume/replay logic.
Dependencies