Skip to content

feat(registry): add label verification primitives#1952

Merged
ascorbic merged 1 commit into
feat/plugin-registry-labelling-servicefrom
feat/labeler-17-label-verification
Jul 11, 2026
Merged

feat(registry): add label verification primitives#1952
ascorbic merged 1 commit into
feat/plugin-registry-labelling-servicefrom
feat/labeler-17-label-verification

Conversation

@ascorbic

@ascorbic ascorbic commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

Adds the shared signed-label parsing, canonical encoding, and resolved-key verification primitives required before the aggregator can consume label subscriptions. Invalid cryptographic signatures now have a distinguishable InvalidLabelSignatureError while remaining compatible with existing TypeError handling.

This is the shared-contract precursor for W4.2 in the plugin registry labelling service plan. The outbound subscription Durable Object remains paused until this contract lands.

Related to #1909 and RFC #694.

Type of change

  • Bug fix
  • Feature (requires maintainer-approved Discussion)
  • Refactor (no behavior change)
  • Translation
  • Documentation
  • Performance improvement
  • Tests
  • Chore (dependencies, CI, tooling)

Checklist

  • I have read CONTRIBUTING.md
  • pnpm typecheck passes
  • pnpm lint passes
  • pnpm test passes (or targeted tests for my change)
  • pnpm format has been run
  • I have added/updated tests for my changes (if applicable)
  • User-visible strings in the admin UI are wrapped for translation (if applicable). Do not include messages.po changes except in translation PRs; a workflow extracts catalogs on merge to main.
  • I have added a changeset (if this PR changes a published package)
  • New features link to an approved Discussion: https://github.com/emdash-cms/emdash/discussions/...

RFC #694 and the umbrella implementation PR #1909 are the approved design sources. There are no admin UI strings or translation changes.

AI-generated code disclosure

  • This PR includes AI-generated code; model/tool: OpenCode with GPT-5.6-sol

Screenshots / test output

  • pnpm build passes
  • pnpm typecheck passes
  • pnpm lint passes with 0 warnings and 0 errors
  • Registry moderation: 66 tests pass
  • Labeler workerd integration: 29 tests pass
  • Formatting and git diff --check pass
  • publint passes; attw reaches its known internal filename crash while checking the packed package
  • Two independent review rounds report no remaining high or medium findings

Try this PR

Open a fresh playground →

A full working EmDash site, deployed from this branch. Each visit gets its own session-scoped sandbox: no login needed and no shared state. Try the admin, edit content, hit the public site.

Tracks feat/labeler-17-label-verification. Updated automatically when the playground redeploys.

@changeset-bot

changeset-bot Bot commented Jul 11, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 2ef6185

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@emdash-cms/registry-moderation Patch
@emdash-cms/labeler Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions Bot added review/needs-review No maintainer or bot review yet size/L cla: signed labels Jul 11, 2026
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
emdash-playground 2ef6185 Jul 11 2026, 02:29 PM

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
emdash-demo-cache 2ef6185 Jul 11 2026, 02:29 PM

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
emdash-demo-do 2ef6185 Jul 11 2026, 02:30 PM

@ascorbic ascorbic added the bot:review Trigger an emdashbot code review on this PR label Jul 11, 2026
@ascorbic ascorbic merged commit 2d6ad44 into feat/plugin-registry-labelling-service Jul 11, 2026
8 checks passed
@ascorbic ascorbic deleted the feat/labeler-17-label-verification branch July 11, 2026 14:51
@ascorbic ascorbic mentioned this pull request Jul 11, 2026
81 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot:review Trigger an emdashbot code review on this PR cla: signed review/needs-review No maintainer or bot review yet size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant