Skip to content

docs: define scoped sequential resource IDs - #762

Open
behinddwalls wants to merge 3 commits into
mainfrom
preetam/id-uri-rfc
Open

behinddwalls wants to merge 3 commits into
mainfrom
preetam/id-uri-rfc

Conversation

@behinddwalls

@behinddwalls behinddwalls commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Why?

Resource identity should stay flexible at storage and API boundaries even when the current allocator produces sequential numbers.

What?

Define generated IDs as canonical decimal strings, keep resource and reference columns as VARCHAR, and limit integer storage to counter high-water marks.

Replace the URLs and display examples with a before/after table showing base64url, percent-encoded, and readable queue-scoped routes; leave the rest of the proposal intact.

Stack

  1. @ docs: define scoped sequential resource IDs #762
  2. feat(ids): use queue-scoped decimal resource IDs #770
  3. fix(id): always compare legacy IDs below newly formatted IDs #778

@behinddwalls
behinddwalls marked this pull request as ready for review September 30, 2026 22:09
@behinddwalls
behinddwalls requested review from a team and sbalabanov as code owners September 30, 2026 22:09
Comment thread doc/rfc/scoped-resource-ids.md
@behinddwalls
behinddwalls added this pull request to the merge queue Oct 5, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Oct 5, 2026
@behinddwalls
behinddwalls force-pushed the preetam/id-uri-rfc branch 2 times, most recently from d9fb34b to c54b882 Compare October 5, 2026 23:21
## Summary

### Why?

Slash-delimited resource IDs repeat queue and resource-kind context that stores, APIs, and messages already carry separately, while making a single ID span multiple browser path segments.

### What?

Define counter-generated resource IDs as positive numeric values scoped by owner domain, queue, and resource kind. Persist durable counter high-water marks, store numeric IDs directly under queue-leading keys, keep queue and kind out of the ID, and reserve prefixes such as `request.42` for presentation only.

## Test Plan

✅ `make fmt`

✅ `make lint-binary lint-license lint-message-id lint-queue-shard`

✅ `git diff --check`
## Summary

### Why?

Resource identity should stay flexible at storage and API boundaries even when the current allocator produces sequential numbers.

### What?

Define generated IDs as canonical decimal strings, keep resource and reference columns as VARCHAR, and limit integer storage to counter high-water marks.
## Summary

### Why?

Resource identity should stay flexible at storage and API boundaries even when the current allocator produces sequential numbers.

### What?

Define generated IDs as canonical decimal strings, keep resource and reference columns as VARCHAR, and limit integer storage to counter high-water marks.

Replace the URLs and display examples with a before/after table showing base64url, percent-encoded, and readable queue-scoped routes; leave the rest of the proposal intact.

This branch has not been deployed

No deployments
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.

2 participants