Conversation
Preserve legacy lock operations and generated client signatures while tracking cleanup lock ownership and table generation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Allow authorized table admins to create and directly unlock matching cleanup locks without an additional SYSTEM_ADMIN requirement. Keep task-one lock identity guards and legacy behavior unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep TIER3_AUTO_CLEANUP as optional lock metadata and add opt-in per-client SYSTEM_ACTION header propagation. Defer lock enforcement, guarded unlock, and owner/generation checks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Normalize omitted and null reasons while preserving unknown-request rejection. Add compatibility coverage and authenticated generated-client HTTP integration tests without changing lock enforcement. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2 tasks
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use SYSTEM_ONLY with SYSTEM/USER action-type declarations, and apply LEGACY defaults only to active locks. Cover serialization and client/server compatibility without changing enforcement. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Preserve owner and generation guards, metadata-only status, and active-only legacy defaults while adopting SYSTEM_ONLY and action-type declarations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Omit the header for ordinary requests and reject unsupported explicit values. Remove the unused USER constant and the requested catalog comments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Preserve the reviewed lifecycle additions on top of the landed SYSTEM-only contract and retain upstream changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Require matching recorded owner and table generation for every active reason-targeted unlock. Remove the unused recovery API wording and verify missing identities cannot bypass the checks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add reason-matched
SYSTEM_ONLYlock creation/update and unlock, building on #726.Changes
Keep existing
LOCK_ADMINauthorization and server-derived caller identity. Match active lock reasons whenSYSTEM_ONLYis involved, preserve normal lock message/expiry updates, and retain the legacy unlock SDK signature. The reason-targeted endpoint needs only database, table, and reason: no caller-supplied UUID, expected owner, or principal. Protect active locks during policy replacement without adding owner tracking or inactive-lock preservation rules.Testing Done
80 targeted lifecycle, policy-protection, controller, generated-client, and compatibility cases passed on this branch. The cumulative stack passed 124 selected cases, including authorization and Spark 3.1/3.5 coverage. Native API generation confirms the reason-only unlock signature and no separate lock-status operation or response schema. Spotless passed.
Additional Information
Stack 1/4; #726 is already merged. Includes
mainat4ffabcc2without rewriting history. Review only this increment.Read/write enforcement is separate. This PR does not add a lock-status API or change table deletion.
Generated with GitHub Copilot CLI.