docs(spec): reframe 7-segment key format as SDK convention; add server-side requirements - #17
docs(spec): reframe 7-segment key format as SDK convention; add server-side requirements#1727Bslash6 wants to merge 1 commit into
Conversation
…r-side requirements
The CachekitIO validator is now security-only (saas#91): percent-decode,
length cap, charset whitelist, '..' rejection, ns:/nsapi: namespace
shape. The 7-segment grammar is Python SDK convention, not a server
contract — TS/Rust {ns}:{hash} and interop-mode keys are valid on the
wire.
- cache-key-format.md: new Server-Side Requirements section + note on
the Full Key Structure
- interop-mode.md: status DRAFT -> SERVER-SUPPORTED (SDK generation
still pending, Issue #1)
- test-vectors/cache-keys.json: key_format/note fields updated
Co-authored-by: multica-agent <github@multica.ai>
|
Conflict with
Neither is a safe automatic union; needs a human call. |
|
Auto-rebase attempted: merging origin/main produced conflicts in |
|
Auto-rebase attempted a merge of |
|
Auto-rebase sweep: merging
Needs a human call on which status/version is current. Left unresolved. |
|
Merge conflict against
Picking a side asserts one version's facts over the other without verifying against the actual cachekit-py implementation — needs a human call. |
|
Auto-rebase sweep: merging |
|
Auto-rebase check: base |
|
Auto-rebase attempted, left for a human: merging |
|
Auto-rebase attempted a merge from |
Companion to cachekit-io/saas#231 (closes cachekit-io/saas#91).
The CachekitIO validator is now security-only; the 7-segment grammar is Python SDK convention, not a server contract.
[a-zA-Z0-9_.:-]charset,..rejection,ns:/nsapi:namespace shape, write-space split), plus a note on the Full Key Structure marking it SDK-internal.{ns}:{op}:{hash}keys (scoped to thedefaultnamespace); SDK-side generation remains pending (design: cross-SDK interop mode for cache key and value format #1).key_format/notefields updated with the convention-vs-contract framing. No vector values changed — cross-SDK byte compatibility untouched.