Skip to content

docs: fix S3 adapter key encoding description and routing key placeholder consistency#393

Merged
bootjp merged 2 commits intofeature/s3-compatiblefrom
copilot/sub-pr-391
Mar 21, 2026
Merged

docs: fix S3 adapter key encoding description and routing key placeholder consistency#393
bootjp merged 2 commits intofeature/s3-compatiblefrom
copilot/sub-pr-391

Conversation

Copy link
Contributor

Copilot AI commented Mar 21, 2026

Two inaccuracies in the S3 adapter design doc: the segment encoding section described 0x00 as the terminator byte (it's actually the escape byte), and the routing key example used inconsistent placeholder names.

Changes

  • Segment encoding (line 154): Corrected to match encodeDynamoKeySegment exactly — escape byte 0x00, raw 0x00 encoded as 0x00 0xFF, segment terminated by 0x00 0x01. Previous text implied 0x00 was the terminator, which would produce an incompatible encoder.

  • Routing key placeholder (line 226): Standardized <bucket-enc><gen><object-enc><bucket-esc><gen-u64><object-esc> to match the naming convention used throughout the rest of the document.


📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.

Copilot AI changed the title [WIP] Docs: Add S3-compatible adapter design docs: fix S3 adapter key encoding description and routing key placeholder consistency Mar 21, 2026
Copilot AI requested a review from bootjp March 21, 2026 19:51
@bootjp
Copy link
Owner

bootjp commented Mar 21, 2026

@copilot what is esc?

Copy link
Contributor Author

Copilot AI commented Mar 21, 2026

@copilot what is esc?

esc is short for escaped — it means the raw string value has been encoded using the DynamoDB adapter's key-segment escaping scheme:

  • Any 0x00 byte in the original string is replaced by the two-byte sequence 0x00 0xFF
  • The encoded segment is then terminated by 0x00 0x01

So <bucket-esc> means "the bucket name after applying that escaping", as opposed to the raw bucket name string. This distinguishes the encoded form from the raw input and from the numeric segments like <gen-u64> which use a different (fixed-width big-endian) encoding.

@bootjp bootjp marked this pull request as ready for review March 21, 2026 20:44
@bootjp bootjp merged commit f077054 into feature/s3-compatible Mar 21, 2026
5 checks passed
@bootjp bootjp deleted the copilot/sub-pr-391 branch March 21, 2026 20:44
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