Incident 1 - h3 location lexicon #44
Replies: 5 comments 5 replies
-
I think a simple GitHub Action would help prevent this from happening in the future.
|
Beta Was this translation helpful? Give feedback.
-
@tom-sherman I'm interested in your take here, given your recent tooling work to recursively resolve lexicons. |
Beta Was this translation helpful? Give feedback.
-
I think something like this would suffice without any custom linting name: Run lex-cli
on:
push:
branches:
- main
pull_request:
jobs:
run-lex-cli:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install lex-cli
run: npm install -g @atproto/lex-cli
- name: Generate API from lexicon schemas
run: lex gen-api ./api/src ./community/lexicon/*.json |
Beta Was this translation helpful? Give feedback.
-
As an option, the |
Beta Was this translation helpful? Give feedback.
-
Closing this as discussion as trailed off and the resolution implemented. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
This is a report of incident 1. It involves the events and locations lexicon that was merged on February 3rd, 20251. That lexicon has a bug that rendered one of the types invalid.
Investigation and Diagnosis
The issue, as initially reported on February 9th, 20252, is that the
community.lexicon.location.h3
type string is invalid. The AT Protocol NSID spec3 states that the "name" component has the following criteria:The
community.lexicon.location.h3
type has the authoritycommunity.lexicon.location
and nameh3
. That name element does not conform to the spec.Resolution and Recovery
On 26 February 2025 a pull request was created (and subsequently approved) to resolve the issue: #43
Alternative solutions are welcome in the form of pull-requests so they can be compared and discussed.
Fortunately, the current lexicon discovery tool is processing adjacent lexicon types, including those that directly reference the invalid lexicon type, correctly4.
Follow-up
Open questions:
Footnotes
https://github.com/lexicon-community/lexicon/pull/23#event-16162748509 ↩
https://github.com/lexicon-community/lexicon/issues/40 ↩
https://atproto.com/specs/nsid ↩
https://lexidex.bsky.dev/domain/lexicon.community ↩
Beta Was this translation helpful? Give feedback.
All reactions