Repository navigation
Separate directory record IDs from public identifiers - #309
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
api | d846c48 | Nov 07 2026, 05:54 PM |
There was a problem hiding this comment.
All reported issues were addressed across 48 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 20 files (changes from recent commits).
Requires human review: Adds UUIDv7 internal IDs with a schema/data migration (0030) that rebuilds directory tables, and changes public API request/response contracts (identifier vs id); the migration and contract changes need human sign-off.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
All reported issues were addressed across 5 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 2 files (changes from recent commits).
Requires human review: Adds UUIDv7 internal IDs via DB migration 0030 (rebuilds directory tables) and changes public API request/response contracts (identifier vs id); the migration and contract changes need human sign-off.
Turn on auto-fix | Re-trigger cubic
Send the manifest's public extension ID as `identifier` in directory creation requests. Keep the manifest ID and update paths as public identifiers, and update the publishing regressions and setup notes for UUID-based developer bindings. Companion API change: FOSSBilling/api#309. Merge alongside the API contract update before running the publisher. Directory caller update: FOSSBilling/extensions#416. Package publishing continues separately in #12.
Extension and developer records currently use their public identifiers as database keys. Generate UUIDv7 IDs for record identity, keep public names in
identifier, and use UUIDs for ownership, revisions, claims and publisher bindings. Public URLs and manifest IDs continue to use identifiers.Migration
0030_directory_identitypreserves existing records, ownership, review history and resource accounting. This PR also removes ambiguous ID fallbacks and tests that internal UUIDs cannot be used as public profile identifiers.Coordinate deployment with the caller updates: