Skip to content

feat(registry): add labeler service core#1926

Merged
ascorbic merged 1 commit into
feat/plugin-registry-labelling-servicefrom
feat/labeller-11-service-core
Jul 10, 2026
Merged

feat(registry): add labeler service core#1926
ascorbic merged 1 commit into
feat/plugin-registry-labelling-servicefrom
feat/labeller-11-service-core

Conversation

@ascorbic

Copy link
Copy Markdown
Collaborator

What does this PR do?

Adds the first D1-backed @emdash-cms/labeler service vertical slice.

  • Issues constrained manual labels internally through the configured, DID-bound signer.
  • Persists immutable actions, signed history, and monotonic sequence numbers in D1.
  • Serves signed label history through public com.atproto.label.queryLabels.
  • Uses standard ATProto JSON bytes encoding and XRPC error envelopes.
  • Adds workerd/D1 coverage for issuance, query, signature verification, sequence, idempotency, negation, filters, pagination, invalid input, and public reads.
  • Standardizes the unshipped feature surface on US labeler spelling across app/package names, experimental NSIDs, generated types, docs, tests, and CI.

This does not yet add subscriptions, an issuance HTTP endpoint, Access UI/auth, automatic assessment, or aggregator ingestion.

Related to #1909 and #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: RFC RFC: Decentralized Plugin Registry #694

Admin i18n catalog changes are not included; the affected source string uses Lingui and catalog extraction runs on merge.

AI-generated code disclosure

  • This PR includes AI-generated code — model/tool: OpenCode with GPT-5.6-sol and independent review subagents

Screenshots / test output

  • Root pnpm build and pnpm typecheck include @emdash-cms/labeler and pass
  • Labeler build and typecheck pass
  • Labeler workerd/D1 tests: 9 passed
  • Registry Lexicons tests: 14 passed
  • pnpm lint: 0 warnings and 0 errors
  • pnpm format:check passes
  • git diff --check passes for all handwritten/generated files; Wrangler-generated worker-configuration.d.ts has known generator trailing whitespace
  • pnpm-lock.yaml adds only the apps/labeler importer, without resolver churn

@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 091aef0 Jul 10 2026, 04:41 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 091aef0 Jul 10 2026, 04:40 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 091aef0 Jul 10 2026, 04:43 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
docs 091aef0 Jul 10 2026, 04:41 PM

@changeset-bot

changeset-bot Bot commented Jul 10, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 091aef0

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

This PR includes changesets to release 19 packages
Name Type
@emdash-cms/registry-lexicons Patch
@emdash-cms/admin Patch
@emdash-cms/plugin-cli Patch
@emdash-cms/registry-client Patch
emdash Patch
@emdash-cms/perf-demo-site Patch
@emdash-cms/cache-demo-site Patch
@emdash-cms/do-demo-site Patch
@emdash-cms/do-solo-demo-site Patch
@emdash-cms/cloudflare Patch
@emdash-cms/sandbox-workerd Patch
@emdash-cms/fixture-perf-site Patch
@emdash-cms/auth Patch
@emdash-cms/blocks Patch
@emdash-cms/gutenberg-to-portable-text Patch
@emdash-cms/x402 Patch
create-emdash Patch
@emdash-cms/auth-atproto Patch
@emdash-cms/plugin-embeds 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

Copy link
Copy Markdown
Contributor

Scope check

This PR changes 15,680 lines across 54 files. Large PRs are harder to review and more likely to be closed without review.
This PR spans 4 different areas (area/core, area/admin, area/docs, area/ci). Consider breaking it into smaller, focused PRs.

If this scope is intentional, no action needed. A maintainer will review it. If not, please consider splitting this into smaller PRs.

See CONTRIBUTING.md for contribution guidelines.

@github-actions github-actions Bot added review/needs-review No maintainer or bot review yet cla: signed overlap labels Jul 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Overlapping PRs

This PR modifies files that are also changed by other open PRs:

This may cause merge conflicts or duplicated work. A maintainer will coordinate.

@ascorbic
ascorbic merged commit e87f81f into feat/plugin-registry-labelling-service Jul 10, 2026
9 checks passed
@ascorbic
ascorbic deleted the feat/labeller-11-service-core branch July 10, 2026 18:48
ascorbic added a commit that referenced this pull request Jul 11, 2026
- Sweep labeller -> labeler to match the #1926 US-spelling standardization
  of NSIDs, app/package names, and the aggregator labelers table
- Reconcile ReleaseModeration and PublicAssessment shapes with the ratified
  gate-0 contract and the implemented registry-moderation evaluator,
  recording the applicableLabels addition
- Fix gate-0 fixture links to their relocated product paths
- Drop the dangling W0.8 dependency from W9.1 (removed with the gate-zero
  scope narrowing)
- Assign the collision-safe label-history migration to W4.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant