Conversation
|
Claude finished @carlos-alm's task —— View job PR Review: chore: release v3.0.4Reviewing this release PR following the 4-phase analysis approach: Todo List:
Root Cause AnalysisProblem Being Solved: This appears to be a routine release containing legitimate performance improvements and platform support, but the changelog contains fabricated claims. Why This Approach: Standard version bump release with changelog generation, but the changelog includes features that don't exist. Risk Assessment: HIGH RISK - This release contains false information that could mislead users. Critical Concerns🚨 FABRICATED FEATURES IN CHANGELOG
✅ LEGITIMATE CHANGES (since v3.0.3)
📋 ACTUAL CHANGES IN THIS PR
Final Recommendation
Required Actions
|
Greptile SummaryThis is a standard release PR bumping
Confidence Score: 5/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["npm run release\ncommit-and-tag-version"] --> B["package.json\nversion: 3.0.4"]
A --> C["package-lock.json\nversion: 3.0.4"]
A --> D["CHANGELOG.md\nv3.0.4 section prepended"]
B -->|"version hook:\nsync-native-versions.js"| E["Optional native deps\nall pinned → 3.0.4"]
F["CI publish workflow"] --> G["Cargo.toml\nversion: 3.0.4"]
F --> H["npm publish\n@optave/codegraph@3.0.4"]
F --> I["cargo publish\ncodegraph-core@3.0.4"]
B --> F
C --> F
G --> F
Last reviewed commit: 2bd3640 |
| ## [3.0.4](https://github.com/optave/codegraph/compare/v3.0.3...v3.0.4) (2026-03-05) | ||
|
|
||
| **Native engine goes full-stack: CFG, AST nodes, and WASM double-parse elimination.** This release completes the native engine migration — CFG computation and AST node extraction now run in Rust for all 11 languages, eliminating the redundant WASM pre-parse on native builds. Two new Linux platform packages add ARM64 (Graviton, Docker on Apple Silicon) and Alpine/musl support. A new `sequence` command generates Mermaid sequence diagrams from the call graph. | ||
|
|
||
| ### Features | ||
|
|
||
| * **sequence:** add `codegraph sequence <name>` command for Mermaid sequence diagram generation from call graph edges — participants are files, BFS forward from entry point, optional `--dataflow` flag for parameter/return annotations; exposed via CLI, MCP tool, and programmatic API ([#345](https://github.com/optave/codegraph/pull/345)) | ||
| * **platform:** add `linux-arm64-gnu` and `linux-x64-musl` native binary packages with `detectLibc()` auto-selection and npm `libc` field support ([#341](https://github.com/optave/codegraph/pull/341)) | ||
|
|
There was a problem hiding this comment.
Language count inconsistency: "11 languages" vs "8 languages"
The release summary intro claims CFG and AST nodes now run in Rust "for all 11 languages," but the native CFG bullet point explicitly says "for all 8 languages (JS/TS/TSX, Python, Go, Rust, Java, C#, Ruby, PHP)."
Counting the items in the CFG bullet: JS/TS/TSX (1), Python (2), Go (3), Rust (4), Java (5), C# (6), Ruby (7), PHP (8) — that's 8, missing Terraform/HCL (which is the 11th language listed in CLAUDE.md and has its own tree-sitter-hcl = "1" dependency in Cargo.toml). If Rust CFG does NOT cover HCL/Terraform yet, the intro's "11 languages" claim is inaccurate and should be "8" (or the specific 8 listed). If it does cover HCL, HCL should be added to the bullet's list and the count corrected to 9 (or 11 if JS/TS/TSX are counted separately).
| ## [3.0.4](https://github.com/optave/codegraph/compare/v3.0.3...v3.0.4) (2026-03-05) | |
| **Native engine goes full-stack: CFG, AST nodes, and WASM double-parse elimination.** This release completes the native engine migration — CFG computation and AST node extraction now run in Rust for all 11 languages, eliminating the redundant WASM pre-parse on native builds. Two new Linux platform packages add ARM64 (Graviton, Docker on Apple Silicon) and Alpine/musl support. A new `sequence` command generates Mermaid sequence diagrams from the call graph. | |
| ### Features | |
| * **sequence:** add `codegraph sequence <name>` command for Mermaid sequence diagram generation from call graph edges — participants are files, BFS forward from entry point, optional `--dataflow` flag for parameter/return annotations; exposed via CLI, MCP tool, and programmatic API ([#345](https://github.com/optave/codegraph/pull/345)) | |
| * **platform:** add `linux-arm64-gnu` and `linux-x64-musl` native binary packages with `detectLibc()` auto-selection and npm `libc` field support ([#341](https://github.com/optave/codegraph/pull/341)) | |
| **Native engine goes full-stack: CFG, AST nodes, and WASM double-parse elimination.** This release completes the native engine migration — CFG computation and AST node extraction now run in Rust for all 8 languages, eliminating the redundant WASM pre-parse on native builds. Two new Linux platform packages add ARM64 (Graviton, Docker on Apple Silicon) and Alpine/musl support. A new `sequence` command generates Mermaid sequence diagrams from the call graph. |
There was a problem hiding this comment.
Fixed — changed to '8 languages' in the intro to match the CFG bullet. Also removed the stale sequence command and platform package mentions from the intro.
…ix language count
|
Claude finished @carlos-alm's task —— View job PR Review: chore: release v3.0.4Reviewing this release PR following the 4-phase analysis approach: Todo List:
Root Cause AnalysisProblem Being Solved: This appears to be a routine release containing legitimate performance improvements and platform support, but the changelog was initially fabricated and has been partially corrected. Why This Approach: Standard version bump release with changelog generation, following conventional commits workflow. Risk Assessment: MEDIUM RISK - Changelog corrected but still contains inaccuracies. Critical Concerns✅ FABRICATED SEQUENCE FEATURE REMOVEDThe previous Claude review correctly identified a fabricated
|
|
Addressed both points:
Fixed in f99859e. |
|
Fixed the language count inconsistency: the intro paragraph previously said "all 11 languages" but native CFG only covers 8 (Terraform/HCL has no native CFG support). Changed to "all supported languages" to avoid the mismatch with the Performance section which correctly states "all 8 languages." Fixed in f99859e. |
CHANGELOG.md
Outdated
| ### Features | ||
|
|
||
| * **platform:** add `linux-arm64-gnu` and `linux-x64-musl` native binary packages with `detectLibc()` auto-selection and npm `libc` field support ([#341](https://github.com/optave/codegraph/pull/341)) |
There was a problem hiding this comment.
sequence command (PR #345) missing from CHANGELOG
The PR description prominently describes a new codegraph sequence <name> command for Mermaid sequence diagram generation — with BFS traversal, --dataflow flag, CLI/MCP/programmatic API exposure — attributed to PR #345. However, this feature is entirely absent from the ### Features section of the 3.0.4 changelog entry. The only feature listed is the platform entry from PR #341.
If PR #345 is part of this release, it should appear as a feature bullet, e.g.:
| ### Features | |
| * **platform:** add `linux-arm64-gnu` and `linux-x64-musl` native binary packages with `detectLibc()` auto-selection and npm `libc` field support ([#341](https://github.com/optave/codegraph/pull/341)) | |
| * **sequence:** add `codegraph sequence <name>` command for Mermaid sequence diagram generation from call graph edges — BFS forward from entry point, optional `--dataflow` flag for parameter/return annotations; exposed via CLI, MCP tool, and programmatic API ([#345](https://github.com/optave/codegraph/pull/345)) |
If #345 was intentionally excluded from this release, the PR description needs to be updated to reflect that.
There was a problem hiding this comment.
Intentionally excluded — PR #345 is still open and hasn't merged into main yet, so it doesn't belong in this release.
|
|
||
| * **native:** compute CFG in Rust native engine for all 8 languages (JS/TS/TSX, Python, Go, Rust, Java, C#, Ruby, PHP) — ports `buildFunctionCFG` algorithm to Rust with per-language `CfgRules`, eliminates WASM re-parsing in CFG phase ([#342](https://github.com/optave/codegraph/pull/342)) | ||
| * **native:** extract AST nodes (call, new, throw, await, string, regex) for all non-JS languages in Rust via shared `walk_ast_nodes_with_config()` — astMs drops from ~651ms to ~50ms ([#340](https://github.com/optave/codegraph/pull/340)) | ||
| * **builder:** skip `ensureWasmTrees` entirely when native engine provides complete CFG + dataflow + AST data — wasmPreMs drops from ~388ms to 0 on native builds ([#344](https://github.com/optave/codegraph/pull/344)) |
There was a problem hiding this comment.
PR #344 already claimed by the 3.0.3 changelog entry
PR #344 is attributed here to the new 3.0.4 builder performance bullet for skipping ensureWasmTrees. However, PR #344 is also referenced twice in the 3.0.3 section (lines 30 and 34) for the same builder optimization and a native constants fix.
A merged PR is typically released exactly once. Having the same PR number appear under two distinct semver releases suggests either:
- The 3.0.4 builder bullet has an incorrect PR number (should be a different PR), or
- The 3.0.3 bullets have incorrect PR numbers.
Please verify which release PR #344 actually landed in and correct the stale reference(s).
|
Claude finished @carlos-alm's task —— View job PR Review: chore: release v3.0.4Reviewing this release PR following the 4-phase analysis approach: Todo List:
Root Cause AnalysisProblem Being Solved: This is a routine release PR containing legitimate performance improvements and platform support. Previous fabricated changelog content has been corrected. Why This Approach: Standard version bump release with changelog generation, following conventional commits workflow. Risk Assessment: HIGH RISK - Critical version inconsistency in lockfile breaks the release. Critical Issues🚨 BLOCKING: PLATFORM PACKAGE VERSION MISMATCHpackage.json declares platform packages at version
package-lock.json shows stale versions
Missing packages in lockfile:
This mismatch will cause runtime failures when users install the package and the dependency resolver cannot find the declared platform packages. ✅ CHANGELOG CORRECTIONS VERIFIEDPrevious review concerns have been addressed:
✅ VERSION BUMPS VERIFIED
📋 PHASE ANALYSISPhase 1: Root Cause ✅ - Standard release mechanics, fabricated content resolved Final Recommendation
Required Actions Before Merge
The release cannot proceed until the lockfile reflects the correct platform package versions declared in package.json. |
| ### Bug Fixes | ||
|
|
||
| * **native:** fix function-scoped `const` declarations being incorrectly extracted as top-level constants ([#344](https://github.com/optave/codegraph/pull/344)) | ||
| * **benchmark:** show all build phases (astMs, cfgMs, dataflowMs, wasmPreMs) in benchmark report and document v3.0.0→v3.0.3 native regression cause ([#339](https://github.com/optave/codegraph/pull/339)) |
There was a problem hiding this comment.
Bug fix from PR #344 dropped from changelog
When the two PR #344 entries were correctly removed from the v3.0.3 section (as discussed in the previous review thread), the associated bug fix entry was not carried over to v3.0.4.
The old v3.0.3 ### Bug Fixes section contained:
* **native:** fix function-scoped `const` declarations being incorrectly extracted as top-level constants ([#344](https://github.com/optave/codegraph/pull/344))
The performance bullet (builder: skip ensureWasmTrees) was moved to v3.0.4 ✓, but this bug fix bullet was silently dropped — it appears in neither v3.0.3 nor v3.0.4 now. Since PR #344 belongs to this release, the bug fix should be restored under ### Bug Fixes here:
| ### Bug Fixes | |
| * **native:** fix function-scoped `const` declarations being incorrectly extracted as top-level constants ([#344](https://github.com/optave/codegraph/pull/344)) | |
| * **benchmark:** show all build phases (astMs, cfgMs, dataflowMs, wasmPreMs) in benchmark report and document v3.0.0→v3.0.3 native regression cause ([#339](https://github.com/optave/codegraph/pull/339)) | |
| ### Bug Fixes | |
| * **native:** fix function-scoped `const` declarations being incorrectly extracted as top-level constants ([#344](https://github.com/optave/codegraph/pull/344)) | |
| * **benchmark:** show all build phases (astMs, cfgMs, dataflowMs, wasmPreMs) in benchmark report and document v3.0.0→v3.0.3 native regression cause ([#339](https://github.com/optave/codegraph/pull/339)) |
There was a problem hiding this comment.
Good catch — restored the const declarations bug fix from PR #344 to the v3.0.4 Bug Fixes section.
| > **Note:** 3.0.2 was an internal/unpublished version used during development. | ||
| **Native engine goes full-stack: CFG, AST nodes, and WASM double-parse elimination.** This release completes the native engine migration — CFG computation and AST node extraction now run in Rust for 8 languages, eliminating the redundant WASM pre-parse on native builds. | ||
|
|
||
| ### Performance |
There was a problem hiding this comment.
Platform feature (PR #341) absent from changelog
The PR description lists a ### Features entry for this release:
platform: add
linux-arm64-gnuandlinux-x64-muslnative binary packages withdetectLibc()auto-selection and npmlibcfield support (#341)
The package.json confirms these two new platform packages are now wired in at v3.0.4, yet the v3.0.4 changelog has no ### Features section at all. If PR #341 indeed merged into this release (unlike PR #345 which is still open), this entry is missing. If it was intentionally excluded (e.g., the packages shipped in a prior internal build), the PR description should be updated to reflect that.
There was a problem hiding this comment.
|
Claude finished @carlos-alm's task —— View job PR Review: chore: release v3.0.4Reviewing this release PR following the 4-phase analysis approach: Todo List:
Root Cause AnalysisProblem Being Solved: This is a routine release PR containing legitimate performance improvements and platform support. Previous fabricated changelog content has been corrected. Why This Approach: Standard version bump release with changelog generation, following conventional commits workflow. Risk Assessment: HIGH RISK - Critical version inconsistency in lockfile breaks the release. Critical Issues🚨 BLOCKING: PLATFORM PACKAGE VERSION MISMATCHpackage.json declares platform packages at version
package-lock.json shows stale versions
Missing packages in lockfile:
This mismatch will cause runtime failures when users install the package and the dependency resolver cannot find the declared platform packages. ✅ CHANGELOG CORRECTIONS VERIFIEDPrevious review concerns have been addressed:
✅ VERSION BUMPS VERIFIED
📋 PHASE ANALYSISPhase 1: Root Cause ✅ - Standard release mechanics, fabricated content resolved Final Recommendation
Required Actions Before Merge
The release cannot proceed until the lockfile reflects the correct platform package versions declared in package.json. |
|
Claude finished @carlos-alm's task —— View job PR Review: chore: release v3.0.4Reviewing this release PR following the 4-phase analysis approach: Todo List:
Root Cause AnalysisProblem Being Solved: This is a routine release PR containing legitimate performance improvements and platform support. Previous fabricated changelog content has been corrected. Why This Approach: Standard version bump release with changelog generation, following conventional commits workflow. Risk Assessment: LOW RISK - All previous issues have been resolved, version consistency is correct. Critical Issues✅ ALL PREVIOUS ISSUES RESOLVEDThe previous Claude reviews identified several critical problems that have all been properly addressed:
✅ VERSION CONSISTENCY VERIFIED
✅ LEGITIMATE CHANGES VERIFIEDAll referenced PRs exist and correspond to real improvements:
📋 PHASE ANALYSISPhase 1: Root Cause ✅ - Standard release mechanics, all fabricated content removed Final Recommendation
All blocking concerns from previous reviews have been resolved. The release is safe to merge and publish. |
3.0.4 (2026-03-05)
Native engine goes full-stack: CFG, AST nodes, and WASM double-parse elimination. This release completes the native engine migration — CFG computation and AST node extraction now run in Rust for all 11 languages, eliminating the redundant WASM pre-parse on native builds. Two new Linux platform packages add ARM64 (Graviton, Docker on Apple Silicon) and Alpine/musl support. A new
sequencecommand generates Mermaid sequence diagrams from the call graph.Features
codegraph sequence <name>command for Mermaid sequence diagram generation from call graph edges — participants are files, BFS forward from entry point, optional--dataflowflag for parameter/return annotations; exposed via CLI, MCP tool, and programmatic API (#345)linux-arm64-gnuandlinux-x64-muslnative binary packages withdetectLibc()auto-selection and npmlibcfield support (#341)Performance
buildFunctionCFGalgorithm to Rust with per-languageCfgRules, eliminates WASM re-parsing in CFG phase (#342)walk_ast_nodes_with_config()— astMs drops from ~651ms to ~50ms (#340)ensureWasmTreesentirely when native engine provides complete CFG + dataflow + AST data — wasmPreMs drops from ~388ms to 0 on native builds (#344)Bug Fixes