A real changelog for the GenAI conventions - #1
Merged
Merged
Conversation
The GenAI registry had one snapshot, so it had no diffs, no release pages
and no rows in the feed. It now has a history: every commit touching
`model/` is walked from `ebe3d1f`, the point at which it became a
repository of its own, and 40 of them changed the model.
The floor is load-bearing. One commit earlier the filtered history still
carries the 52 `aws.*` attributes the split dropped, so crossing it would
report 52 removals the project never made. Everything older is already in
the tagged semantic-conventions snapshots.
Three things had to be fixed for the walk to produce something readable:
- A candidate is kept only when the differ finds something in it. The old
untagged gate compared normalized bytes, which is stricter than the
diff: 7 of the 40 would have been published as release pages listing no
changes at all.
- A commit is dated, not numbered, and upstream merges several model
changes on a busy day. The second one that day takes `2026-05-05.2`
rather than overwriting the first snapshot.
- The differ never read `usedBy`, so a commit whose whole content is a
requirement level — "Relax gen_ai.provider.name on
gen_ai.client.operation.duration to Conditionally Required" — diffed to
nothing. It now reports levels that moved and references that appeared
or disappeared, one change per attribute rather than one per signal.
That last one needed a normalizer fix underneath it: a group can
reference an attribute twice, inherited through `ref_group` and again in
its own list to override the level, and keeping both wrote the attribute
as required *and* conditionally required on the same signal. Collapsing
to the effective reference re-normalizes every semantic-conventions
snapshot, which is why they are all touched here.
The site side: release pages linked upstream through `v${version}`, which
404s for a dated source; genai was missing from the breaking blurb, which
`tsc` does not check, so `astro check` now runs in `typecheck`. Editorial
commits from an untagged source stay off the front page and the RSS feed
— forty rows of reworded briefs would bury every tagged release.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The GenAI registry had one snapshot, so it had no diffs, no release pages and no rows in the feed. It now has a history: every commit touching
model/is walked fromebe3d1f— the point at which it became a repository of its own — and 40 of them changed the model.The floor is load-bearing. One commit earlier the filtered history still carries the 52
aws.*attributes the split dropped, so crossing it would report 52 removals the project never made. Everything older is already covered by the tagged semantic-conventions snapshots, which carriedgen_ai.*until v1.44.0 deprecated it in place.What had to be fixed for the walk to read well
2026-05-05.2rather than overwriting the first snapshot. Four such collisions exist in the backfill.usedBy. A commit whose whole content is a requirement level — "Relaxgen_ai.provider.nameongen_ai.client.operation.durationto Conditionally Required" — diffed to nothing. It now reports levels that moved and references that appeared or disappeared, one change per attribute rather than one per signal.That last one needed a normalizer fix underneath it: a group can reference an attribute twice — inherited through
ref_group, then again in its own list to override the level — and keeping both wrote the attribute asrequiredandconditionally_requiredon the same signal. Collapsing to the effective reference re-normalizes every semantic-conventions snapshot, which is why all 16 are touched here. Volume is small and mostly editorial: 0–16 requirement-level changes and 2–7 notable usage changes per release.Site
v${version}, which 404s for a dated source; they now use the commit SHA the record carries.BREAKING_BLURBwas missing itsgenaikey.tsc --noEmitdoes not check.astro, sotypechecknow also runsastro check(currently 0 errors).vprefix.Verification
bun run ingest --forcetwice produces byte-identicaldata/— the walk, the gate and the version numbering are deterministic.spec/andproto/are untouched by the normalizer change.bun run ingest genaifetches nothing and leaves the index byte-identical. The resume point is the newest snapshot's commit, not its date:ebe3d1fand07bbdbeshare a committer timestamp, and a date watermark would skip the second for good.bun run typecheck,bun run build,bun test— 50 pass, 0 fail. New tests cover the floor, the no-empty-release-page invariant, same-day versioning, the requirement-level relax, and the one-reference-per-group normalizer rule.breaking, as expected: the registry isdevelopmentthroughout.Known follow-up
/api/diff/[source]/[pair]precomputes every ordered pair, so 40 GenAI snapshots add 780 files (11 MB of the 80 MBdist/). That grows quadratically with commit-granular history — worth capping before it approaches Cloudflare's 20k-asset limit, but not urgent at 3.1k files.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.