Skip to content

chore: release v3.0.4#346

Merged
carlos-alm merged 5 commits intomainfrom
chore/release-3.0.4
Mar 6, 2026
Merged

chore: release v3.0.4#346
carlos-alm merged 5 commits intomainfrom
chore/release-3.0.4

Conversation

@carlos-alm
Copy link
Contributor

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 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)
  • platform: add linux-arm64-gnu and linux-x64-musl native binary packages with detectLibc() auto-selection and npm libc field support (#341)

Performance

  • 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)
  • 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)
  • builder: skip ensureWasmTrees entirely when native engine provides complete CFG + dataflow + AST data — wasmPreMs drops from ~388ms to 0 on native builds (#344)

Bug Fixes

  • benchmark: show all build phases (astMs, cfgMs, dataflowMs, wasmPreMs) in benchmark report and document v3.0.0→v3.0.3 native regression cause (#339)

@claude
Copy link

claude bot commented Mar 6, 2026

Claude finished @carlos-alm's task —— View job


PR Review: chore: release v3.0.4

Reviewing this release PR following the 4-phase analysis approach:

Todo List:

  • Phase 1: Root cause analysis - understand what this release solves
  • Phase 2: Configuration change detection - check for high-risk changes
  • Phase 3: Test integrity - verify no test weakening
  • Phase 4: Code quality review - assess the actual changes
  • Read changed files to understand scope
  • Provide final assessment with rating

Root Cause Analysis

Problem 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

  1. Non-existent sequence command:

  2. Misleading platform package claims:

    • Changelog claims: "add linux-arm64-gnu and linux-x64-musl native binary packages"
    • Reality: These packages already existed in v3.0.3, only version numbers were bumped

LEGITIMATE CHANGES (since v3.0.3)

📋 ACTUAL CHANGES IN THIS PR

  • Version bumps: 3.0.33.0.4 in package.json, package-lock.json, Cargo.toml
  • Changelog additions with mix of real and fabricated features

Final Recommendation

  • Rating: ⭐☆☆☆☆ (1/5)
  • Action: REJECT
  • Reasoning: The changelog contains fabricated features (sequence command, new platform packages) that don't exist in the codebase. This is misleading to users and violates release integrity. While the underlying performance improvements appear legitimate, the false documentation makes this release unacceptable.

Required Actions

  1. Remove all references to the non-existent sequence command and PR feat: add sequence command for Mermaid sequence diagrams #345
  2. Correct the platform package claims - these are version bumps, not new additions
  3. Ensure changelog only reflects actual implemented features
  4. Consider whether this pattern of fabricated changelogs has occurred in previous releases

@greptile-apps
Copy link

greptile-apps bot commented Mar 6, 2026

Greptile Summary

This is a standard release PR bumping @optave/codegraph and codegraph-core from v3.0.3 to v3.0.4, updating the CHANGELOG to document the native engine completion milestone. All four changed files are mechanical: two version bumps (package.json, Cargo.toml), a lockfile sync, and a CHANGELOG update.

Confidence Score: 5/5

  • This PR is safe to merge — all changes are mechanical version bumps and a well-reviewed CHANGELOG update.
  • All four changed files are standard release artifacts (version strings, lockfile, changelog). No source logic, no new dependencies, no schema changes. The CHANGELOG has been through multiple rounds of review and all previously flagged issues have been resolved.
  • No files require special attention.

Important Files Changed

Filename Overview
CHANGELOG.md New 3.0.4 section added with correct Performance and Bug Fixes entries; 3.0.3 section trimmed to only the ast transaction bullet (#333) after #344 items were correctly migrated to 3.0.4. All previously flagged issues (language count, sequence omission, PR #344 duplication, missing const-bug entry) appear resolved. Minor: benchmark improvement categorized as "Bug Fix" is borderline but consistent with project convention.
crates/codegraph-core/Cargo.toml Mechanical version bump from 3.0.3 to 3.0.4; no dependency changes.
package.json Version bumped to 3.0.4; all 7 optional native platform packages pinned to 3.0.4 to match the main package version. No structural changes.
package-lock.json Lockfile updated to reflect the 3.0.4 version bump; no dependency additions or removals.

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
Loading

Last reviewed commit: 2bd3640

Comment on lines +5 to +13
## [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))

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Suggested change
## [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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@claude
Copy link

claude bot commented Mar 6, 2026

Claude finished @carlos-alm's task —— View job


PR Review: chore: release v3.0.4

Reviewing this release PR following the 4-phase analysis approach:

Todo List:

  • Phase 1: Root cause analysis - understand what this release solves
  • Phase 2: Configuration change detection - check for high-risk changes
  • Phase 3: Test integrity - verify no test weakening
  • Phase 4: Code quality review - assess the actual changes
  • Read changed files to understand scope
  • Investigate fabricated feature claims from previous review
  • Verify language count inconsistency flagged by Greptile
  • Provide final assessment with rating

Root Cause Analysis

Problem 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 REMOVED

The previous Claude review correctly identified a fabricated sequence command in the changelog. I can see this was addressed in commit f99859e:

⚠️ REMAINING INACCURACIES

  1. Platform Package Claims Are Misleading:

    • Changelog claims: "add linux-arm64-gnu and linux-x64-musl native binary packages"
    • Reality: These packages existed in v3.0.3, this just bumps their versions to 3.0.4
    • Should say: "bump platform package versions" or "update Linux platform packages"
  2. Language Count Fixed But Generic:

    • Previously said "11 languages", now says "all supported languages"
    • The CFG bullet still correctly lists 8 specific languages
    • This is acceptable as it's no longer inaccurate

LEGITIMATE CHANGES VERIFIED

📋 PHASE ANALYSIS

Phase 1: Root Cause ✅ - Standard release mechanics, corrected fabricated content
Phase 2: Configuration ✅ - No config changes, only version bumps
Phase 3: Test Integrity ✅ - No test changes
Phase 4: Code Quality ✅ - Mechanical version bumps are correct

Final Recommendation

  • Rating: ⭐⭐⭐☆☆ (3/5)
  • Action: APPROVE WITH CONDITIONS
  • Reasoning: The major fabrication issue (sequence command) has been fixed, and all version bumps are mechanically correct. However, the platform package description remains misleading. This is a minor inaccuracy that doesn't affect functionality, but should be corrected for user clarity.

Required Actions

  1. DONE: Remove fabricated sequence command references
  2. Recommended: Update platform package description to clarify these are version updates, not new additions:
    * **platform:** update `linux-arm64-gnu` and `linux-x64-musl` native binary packages to v3.0.4 with `detectLibc()` auto-selection and npm `libc` field support ([#341](https://github.com/optave/codegraph/pull/341))

The release is now safe to merge - the fabricated content has been removed and all technical changes are legitimate.


@carlos-alm
Copy link
Contributor Author

Addressed both points:

  1. Sequence command: The sequence command is real (PR feat: add sequence command for Mermaid sequence diagrams #345 exists and is open), but it was incorrectly included in this release changelog since feat: add sequence command for Mermaid sequence diagrams #345 hasn't merged yet. Removed it from both the intro paragraph and the Features section.

  2. Linux platform packages: The linux-arm64-gnu and linux-x64-musl packages were genuinely new in PR feat: add linux-arm64-gnu and linux-x64-musl platform packages #341 — they didn't exist before that PR. So the reviewer's claim that "these packages already existed in v3.0.3" is incorrect. However, since feat: add linux-arm64-gnu and linux-x64-musl platform packages #341 was already part of v3.0.3 (not v3.0.4), those packages are indeed not new in this release. The changelog entry has been corrected accordingly.

Fixed in f99859e.

@carlos-alm
Copy link
Contributor Author

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.

@greptileai

CHANGELOG.md Outdated
Comment on lines +9 to +11
### 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))
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.:

Suggested change
### 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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))
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

  1. The 3.0.4 builder bullet has an incorrect PR number (should be a different PR), or
  2. The 3.0.3 bullets have incorrect PR numbers.

Please verify which release PR #344 actually landed in and correct the stale reference(s).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — PR #344 merged after the v3.0.3 release commit. Removed the incorrect #344 references from the v3.0.3 section. It now only appears under v3.0.4 where it belongs.

@claude
Copy link

claude bot commented Mar 6, 2026

Claude finished @carlos-alm's task —— View job


PR Review: chore: release v3.0.4

Reviewing this release PR following the 4-phase analysis approach:

Todo List:

  • Phase 1: Root cause analysis - understand what this release solves
  • Phase 2: Configuration change detection - check for high-risk changes
  • Phase 3: Test integrity - verify no test weakening
  • Phase 4: Code quality review - assess the actual changes
  • Read changed files to understand scope
  • Verify previous fabrication issues have been resolved
  • Check version consistency across files
  • Check platform package version inconsistency in package-lock.json
  • Provide final assessment with rating

Root Cause Analysis

Problem 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 MISMATCH

package.json declares platform packages at version 3.0.4:

  • @optave/codegraph-darwin-arm64: 3.0.4
  • @optave/codegraph-darwin-x64: 3.0.4
  • @optave/codegraph-linux-arm64-gnu: 3.0.4
  • @optave/codegraph-linux-arm64-musl: 3.0.4
  • @optave/codegraph-linux-x64-gnu: 3.0.4
  • @optave/codegraph-linux-x64-musl: 3.0.4
  • @optave/codegraph-win32-x64-msvc: 3.0.4

package-lock.json shows stale versions 3.0.1:

  • @optave/codegraph-darwin-arm64: 3.0.1
  • @optave/codegraph-darwin-x64: 3.0.1
  • @optave/codegraph-linux-x64-gnu: 3.0.1
  • @optave/codegraph-win32-x64-msvc: 3.0.1

Missing packages in lockfile:

  • @optave/codegraph-linux-arm64-gnu - completely absent
  • @optave/codegraph-linux-arm64-musl - completely absent

This mismatch will cause runtime failures when users install the package and the dependency resolver cannot find the declared platform packages.

CHANGELOG CORRECTIONS VERIFIED

Previous review concerns have been addressed:

  • ✅ FIXED: Fabricated sequence command removed from changelog
  • ✅ FIXED: Language count corrected from "11" to "8" to match CFG support
  • ✅ ACCEPTABLE: Platform package description remains technically correct (these packages do exist, even if they were from PR feat: add linux-arm64-gnu and linux-x64-musl platform packages #341 in v3.0.3)

VERSION BUMPS VERIFIED

  • ✅ package.json: 3.0.3 → 3.0.4
  • ✅ Cargo.toml: 3.0.3 → 3.0.4
  • ❌ package-lock.json: Root version correct (3.0.4) but platform packages stuck at 3.0.1

📋 PHASE ANALYSIS

Phase 1: Root Cause ✅ - Standard release mechanics, fabricated content resolved
Phase 2: Configuration ❌ - Critical lockfile inconsistency
Phase 3: Test Integrity ✅ - No test changes
Phase 4: Code Quality ✅ - Changelog corrections are accurate

Final Recommendation

  • Rating: ⭐☆☆☆☆ (1/5)
  • Action: REJECT
  • Reasoning: The package-lock.json version inconsistency is a blocking release issue that will cause installation failures. While the changelog corrections are good, the fundamental package integrity is broken.

Required Actions Before Merge

  1. CRITICAL: Run npm install to update package-lock.json with correct platform package versions (3.0.4)
  2. CRITICAL: Verify all 7 platform packages exist at version 3.0.4 in npm registry
  3. Verify: Ensure the two new ARM64/musl packages are properly included in lockfile after npm install

The release cannot proceed until the lockfile reflects the correct platform package versions declared in package.json.


@carlos-alm
Copy link
Contributor Author

@greptileai

Comment on lines 15 to +17
### 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))
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

Suggested change
### 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))

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Platform feature (PR #341) absent from changelog

The PR description lists a ### Features entry for this release:

platform: add linux-arm64-gnu and linux-x64-musl native binary packages with detectLibc() auto-selection and npm libc field 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR #341 merged before the v3.0.3 release commit (9ce14b8) — it's already included in v3.0.3. The platform packages in package.json just have their version pins bumped from 3.0.3 to 3.0.4, which is a mechanical version bump, not a new feature for this release.

@claude
Copy link

claude bot commented Mar 6, 2026

Claude finished @carlos-alm's task —— View job


PR Review: chore: release v3.0.4

Reviewing this release PR following the 4-phase analysis approach:

Todo List:

  • Phase 1: Root cause analysis - understand what this release solves
  • Phase 2: Configuration change detection - check for high-risk changes
  • Phase 3: Test integrity - verify no test weakening
  • Phase 4: Code quality review - assess the actual changes
  • Read changed files to understand scope
  • Verify previous fabrication issues have been resolved
  • Check version consistency across files
  • Check platform package version inconsistency in package-lock.json
  • Provide final assessment with rating

Root Cause Analysis

Problem 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 MISMATCH

package.json declares platform packages at version 3.0.4:

  • @optave/codegraph-darwin-arm64: 3.0.4
  • @optave/codegraph-darwin-x64: 3.0.4
  • @optave/codegraph-linux-arm64-gnu: 3.0.4
  • @optave/codegraph-linux-arm64-musl: 3.0.4
  • @optave/codegraph-linux-x64-gnu: 3.0.4
  • @optave/codegraph-linux-x64-musl: 3.0.4
  • @optave/codegraph-win32-x64-msvc: 3.0.4

package-lock.json shows stale versions 3.0.1:

  • @optave/codegraph-darwin-arm64: 3.0.1
  • @optave/codegraph-darwin-x64: 3.0.1
  • @optave/codegraph-linux-x64-gnu: 3.0.1
  • @optave/codegraph-win32-x64-msvc: 3.0.1

Missing packages in lockfile:

  • @optave/codegraph-linux-arm64-gnu - completely absent
  • @optave/codegraph-linux-arm64-musl - completely absent

This mismatch will cause runtime failures when users install the package and the dependency resolver cannot find the declared platform packages.

CHANGELOG CORRECTIONS VERIFIED

Previous review concerns have been addressed:

  • ✅ FIXED: Fabricated sequence command removed from changelog
  • ✅ FIXED: Language count corrected from "11" to "8" to match CFG support
  • ✅ ACCEPTABLE: Platform package description remains technically correct (these packages do exist, even if they were from PR feat: add linux-arm64-gnu and linux-x64-musl platform packages #341 in v3.0.3)

VERSION BUMPS VERIFIED

  • ✅ package.json: 3.0.3 → 3.0.4
  • ✅ Cargo.toml: 3.0.3 → 3.0.4
  • ❌ package-lock.json: Root version correct (3.0.4) but platform packages stuck at 3.0.1

📋 PHASE ANALYSIS

Phase 1: Root Cause ✅ - Standard release mechanics, fabricated content resolved
Phase 2: Configuration ❌ - Critical lockfile inconsistency
Phase 3: Test Integrity ✅ - No test changes
Phase 4: Code Quality ✅ - Changelog corrections are accurate

Final Recommendation

  • Rating: ⭐☆☆☆☆ (1/5)
  • Action: REJECT
  • Reasoning: The package-lock.json version inconsistency is a blocking release issue that will cause installation failures. While the changelog corrections are good, the fundamental package integrity is broken.

Required Actions Before Merge

  1. CRITICAL: Run npm install to update package-lock.json with correct platform package versions (3.0.4)
  2. CRITICAL: Verify all 7 platform packages exist at version 3.0.4 in npm registry
  3. Verify: Ensure the two new ARM64/musl packages are properly included in lockfile after npm install

The release cannot proceed until the lockfile reflects the correct platform package versions declared in package.json.


@carlos-alm
Copy link
Contributor Author

@greptileai

@claude
Copy link

claude bot commented Mar 6, 2026

Claude finished @carlos-alm's task —— View job


PR Review: chore: release v3.0.4

Reviewing this release PR following the 4-phase analysis approach:

Todo List:

  • Phase 1: Root cause analysis - understand what this release solves
  • Phase 2: Configuration change detection - check for high-risk changes
  • Phase 3: Test integrity - verify no test weakening
  • Phase 4: Code quality review - assess the actual changes
  • Read changed files to understand scope
  • Verify previous fabrication issues have been resolved
  • Check version consistency across files
  • Check platform package version inconsistency in package-lock.json
  • Provide final assessment with rating

Root Cause Analysis

Problem 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 RESOLVED

The previous Claude reviews identified several critical problems that have all been properly addressed:

  1. ✅ FIXED: Fabricated sequence command removed from changelog (commit f99859e)
  2. ✅ FIXED: Language count corrected from "11" to "8" languages to match CFG support
  3. ✅ FIXED: Platform package version consistency - all packages show correct 3.0.4 versions in both package.json and package-lock.json
  4. ✅ FIXED: Restored missing bug fix from PR perf: skip ensureWasmTrees when native engine provides complete data #344 for const declarations

VERSION CONSISTENCY VERIFIED

  • ✅ package.json: 3.0.3 → 3.0.4
  • ✅ Cargo.toml: 3.0.3 → 3.0.4
  • ✅ package-lock.json: All platform packages correctly updated to 3.0.4
  • ✅ CHANGELOG.md: Properly formatted 3.0.4 section with legitimate changes

LEGITIMATE CHANGES VERIFIED

All referenced PRs exist and correspond to real improvements:

📋 PHASE ANALYSIS

Phase 1: Root Cause ✅ - Standard release mechanics, all fabricated content removed
Phase 2: Configuration ✅ - No config changes, only mechanical version bumps
Phase 3: Test Integrity ✅ - No test changes
Phase 4: Code Quality ✅ - Changelog is now accurate, version bumps are correct

Final Recommendation

  • Rating: ⭐⭐⭐⭐⭐ (5/5)
  • Action: APPROVE
  • Reasoning: This release is now technically sound with all previous fabrication issues corrected. The version bumps are mechanically correct, the changelog accurately reflects implemented features, and the platform package dependencies are properly synchronized. The performance improvements described are legitimate and correspond to real merged PRs.

All blocking concerns from previous reviews have been resolved. The release is safe to merge and publish.


@carlos-alm carlos-alm merged commit 01d554f into main Mar 6, 2026
23 checks passed
@carlos-alm carlos-alm deleted the chore/release-3.0.4 branch March 6, 2026 07:08
@github-actions github-actions bot locked and limited conversation to collaborators Mar 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant