From 061ee5ed24624531e75aa6c3bdd3b089e622aed0 Mon Sep 17 00:00:00 2001 From: Matt Kane Date: Tue, 1 Sep 2026 10:22:23 +0100 Subject: [PATCH] fix(space-conformance): publish resolvable probe lexicons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The probe space type was app.bsky.group — the proposal's example, never published at its lexicon authority — and the probe collections were deliberately-unresolvable test.conformance.* NSIDs. Both depended on the target being lenient about unresolvable lexicons; an implementation that resolves lexicons dynamically and validates strictly fails every probe for a reason that is the suite's choice, not space mechanics (reported by a third-party implementer running the web checker). Move the probes to earth.cirrus.check.space / .note / .withblob: published lexicons under the suite's own authority (canonical documents and publishing instructions in packages/space-conformance/probe-lexicons; DNS delegation via _lexicon.check.cirrus.earth). The space type declaration also gives consent screens a real name instead of the could-not-resolve warning. AppViews still ignore the probe records — nothing under earth.cirrus.check.* is an app.bsky.* lexicon. Scope strings updated across the CLI OAuth flow, the web checker's sign-in and client metadata, and the confirm-screen copy. --- .changeset/probe-lexicons.md | 5 ++ apps/check/src/App.tsx | 8 ++- apps/check/src/lib/oauth.ts | 2 +- apps/check/src/worker.ts | 2 +- .../probe-lexicons/README.md | 57 +++++++++++++++++++ .../earth.cirrus.check.note.json | 19 +++++++ .../earth.cirrus.check.space.json | 13 +++++ .../earth.cirrus.check.withblob.json | 19 +++++++ packages/space-conformance/src/checks/base.ts | 4 +- .../space-conformance/src/checks/operator.ts | 17 +++--- packages/space-conformance/src/cli/oauth.ts | 2 +- 11 files changed, 132 insertions(+), 16 deletions(-) create mode 100644 .changeset/probe-lexicons.md create mode 100644 packages/space-conformance/probe-lexicons/README.md create mode 100644 packages/space-conformance/probe-lexicons/earth.cirrus.check.note.json create mode 100644 packages/space-conformance/probe-lexicons/earth.cirrus.check.space.json create mode 100644 packages/space-conformance/probe-lexicons/earth.cirrus.check.withblob.json diff --git a/.changeset/probe-lexicons.md b/.changeset/probe-lexicons.md new file mode 100644 index 0000000..37e4411 --- /dev/null +++ b/.changeset/probe-lexicons.md @@ -0,0 +1,5 @@ +--- +"@getcirrus/space-conformance": patch +--- + +Probe spaces now use published, resolvable lexicons (`earth.cirrus.check.space` / `.note` / `.withblob`) instead of the unpublished `app.bsky.group` type and unresolvable `test.conformance.*` collections, so the suite works against implementations that resolve lexicons dynamically and validate strictly — not only against lenient targets. diff --git a/apps/check/src/App.tsx b/apps/check/src/App.tsx index c5607f0..60f495f 100644 --- a/apps/check/src/App.tsx +++ b/apps/check/src/App.tsx @@ -751,13 +751,15 @@ function ConfirmSpacesView(props: {