Conversation
Signed-off-by: dzdidi <dzdidi@users.noreply.github.com>
- sign Paykit requests over method, query-free path, and raw body - require exact invoice 200 responses with closed timestamp fields - validate RFC 3339 invoice timestamps and bound response bodies - add one-time prototype database reset migration - update Paykit rc5 and Locks rc6 Compose integration Signed-off-by: dzdidi <dzdidi@users.noreply.github.com>
dzdidi
added a commit
that referenced
this pull request
Sep 29, 2026
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.
TO BE DEPLOYED TOGETHER WITH pubky/paykit-server#3
TO FIX CI:
feat: coordinate Paykit HTTP signing and reset prototype state
Summary
Update the Locks → Paykit HTTP contract and add a one-time destructive SQLx migration for the coordinated Locks and Paykit Server prototype deployment.
200 OKwith closedinvoice_created_atandpayment_deadlinefields.Migration
0010_reset_prototype_runtime_stateclears Locks-owned private runtime state automatically during startup. SQLx records the migration in_sqlx_migrations, so later starts preserve post-upgrade state.This change is intentionally reset-only. It does not attempt to migrate prototype runtime records and does not claim production-data compatibility.
Reset scope
Migration
0010truncates the complete set of Locks runtime tables remaining after migrations0001–0009:verification_tasks;access_credentials;creator_authorities;pending_creator_connect_flows;frontend_session_codes;frontend_sessions.The migration:
_sqlx_migrationsledger;DROP SCHEMA;Deployment
Deploy this change together with the Paykit Server change that performs its own one-time reset.
No manual schema deletion is required.
Migration sequencing
This migration claims SQLx version
0010onmaster.Existing follow-on branches that currently use version
0010or later must be rebased and renumbered before merge, including the cancellation and graceful-deletion work. Duplicate SQLx migration versions must not be merged.Test coverage
The focused upgrade regression:
0001–0009;_sqlx_migrationscontains versions1through10;The PostgreSQL test harness now supports creating an isolated schema before applying migrations, allowing the real upgrade path to be exercised.
Verification
Passed locally:
The PostgreSQL-backed reset regression and complete Locks workspace suite passed
against an isolated PostgreSQL 16 test database.
SDK consumer docs and tests
Commit
7e65742332ed31183c1e23b5680f3c8b8dde10fdadds executablelocks-sdkconsumer guidance without adding or changing public SDK exports: