Skip to content

CTK: §9 authorization-token vectors; mark §9 reference-backed (0.3.3) - #11

Merged
koishore merged 1 commit into
mainfrom
ctk/token-0.3.3
Jun 10, 2026
Merged

CTK: §9 authorization-token vectors; mark §9 reference-backed (0.3.3)#11
koishore merged 1 commit into
mainfrom
ctk/token-0.3.3

Conversation

@koishore

Copy link
Copy Markdown
Member

The reference now implements the §9 authorization-token profile (delego#17, 0.3.3). Per the spec-leads-reference model, §9 becomes reference-backed once the reference reproduces its CTK vectors — which it now does.

Changes

  • ctk/vectors/token.json + ctk/vectors/token_signing_key.pub — verifier (PEP) vectors for §9.1: a valid token, plus alg=none (algorithm confusion), tampered signature, wrong aud, and expired — each marked accept/reject. Wired into conformance.py (skipped on a reference < 0.3.3).
  • spec.md §9 status tag flipped from draft — not yet in referencereference-backed (optional profile), since delego 0.3.3. No normative design text changed — this is the sanctioned §2.1 transition (a clause becomes reference-backed once its CTK vectors reproduce), not an edit to the frozen design.
  • ctk/README.md + CHANGELOG.md updated.

Protocol version unchanged (still 0.3): the token is additive and changes no hashed/signed bytes.

Verification

validate.py and conformance.py both green locally against delego 0.3.3 — including the 5 new token cases. The conformance CI here installs delego@main (now 0.3.3), so it will replay them.

Note for the owner: this touches the frozen spec.md, but only the §9 status tag, not any normative MUST/SHOULD. Flagging explicitly for your call at merge.

…d (0.3.3)

The reference implements the §9 token profile from delego 0.3.3. Adds
ctk/vectors/token.json (+ token_signing_key.pub) — verifier vectors for §9.1:
valid token + alg=none (algorithm confusion), tampered signature, wrong
audience, expired — wired into conformance.py (skipped on reference < 0.3.3).
Flips §9's status tag from 'draft — not yet in reference' to reference-backed;
no normative design text changed. Protocol version unchanged (token is
additive).
@koishore
koishore merged commit 82a9090 into main Jun 10, 2026
2 checks passed
@koishore
koishore deleted the ctk/token-0.3.3 branch June 10, 2026 21:44
koishore added a commit that referenced this pull request Aug 20, 2026
)

A conformance review found spec.md contradicting itself after the
reference shipped the §4.2 query-fold (delego 0.3.0, CTK regenerated
in #9): §2.1's version table/tag legend, the §10 preamble, and the §10
'deferred (breaking)' block still called the fold deferred and said the
reference implements 0.2, while §4.2 (normative), the CTK README, and
conformance.py all treat it as 0.3 and reference-backed.

- §2.1: 0.3 row is reference-complete/CTK-backed; the query-fold is the
  0.3 breaking change (reference-backed since 0.3.0, hashing vectors on
  the 0.3 preimage, 0.2 preimage preserved as hashing-v0.2.json); the
  reference implements 0.3. Inline '(0.3, draft — additive)' tags become
  '(0.3 — additive)'.
- §4.1: worked example regenerated on the 0.3 preimage (canonical JSON
  carries "query":[]; fingerprints match ctk/vectors/hashing.json).
- §4.2/§10: the Broker query obligation is scoped to the ≤0.2 preimage
  (the fold supersedes it on 0.3); the §10 deferred block becomes the
  0.3 breaking conformance line; the token line quotes §9's actual TTL
  rule (SHOULD ≤60s, MUST NOT exceed 300s).
- examples/authorization-token.{md,json}: drop the stale 'not yet
  minted' note (reference-backed since 0.3.3, #11); fpr updated to the
  place-order's 0.3 fingerprint.
- README: status section rewritten to match; repaired spec.md anchors
  (§7.1 retag; two §9 links broken since #11's heading change).

No normative design text changed — same precedent as #11's §9 status
flip. validate.py + conformance.py green; all spec.md anchors resolve.
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.

1 participant