Skip to content

feat: analyzer{name,version} schema envelope#37

Open
rahlk wants to merge 2 commits into
fix/issue-28-l3-byte-spansfrom
feat/issue-29-analyzer-manifest
Open

feat: analyzer{name,version} schema envelope#37
rahlk wants to merge 2 commits into
fix/issue-28-l3-byte-spansfrom
feat/issue-29-analyzer-manifest

Conversation

@rahlk

@rahlk rahlk commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Closes #29. Part of epic #26 (contract-correctness cluster).

Stacked PR 3 of 7 — base: fix/issue-28-l3-byte-spans; review this PR's diff in isolation. Merge the stack bottom-up into feat/issue-2-program-graphs.

Verified: full suite 99 pass / 0 fail, typecheck clean, schema.neo4j.json in lockstep. Reviewed (task-scoped + final whole-branch review: READY TO MERGE).

rahlk added 2 commits July 7, 2026 00:28
Consumers (the CLDK SDK, tooling correlating multiple analysis.json
artifacts) need to know which analyzer produced a given output and at
what version, independent of schema_version. Add a V2Analyzer{name,
version} type and a required analyzer field on V2Application, populated
from the literal package name and the existing ANALYZER_VERSION constant
(src/utils/version.ts) — the same version stamped into the cache, not a
new hardcoded literal.
…json

ANALYZER_VERSION was "0.1.0" while package.json was "0.5.0", so the new
analyzer{name,version} manifest advertised a false version. Bump it to
match, and assert analyzer.version equals package.json's version (imported,
not hardcoded) so future drift fails the schema-v2 gate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant