Skip to content

Update petgraph and rustler dependencies#5

Merged
mikkihugo merged 1 commit intomainfrom
codex/review-code-for-documentation-and-functionality
Nov 9, 2025
Merged

Update petgraph and rustler dependencies#5
mikkihugo merged 1 commit intomainfrom
codex/review-code-for-documentation-and-functionality

Conversation

@mikkihugo
Copy link
Copy Markdown
Collaborator

@mikkihugo mikkihugo commented Nov 9, 2025

User description

Summary

  • bump petgraph to the 0.8 release line and enable the newer fixedbitset/hashbrown stack it now requires
  • upgrade rustler to 0.37.0 to keep the optional BEAM integration current
  • refresh the production readiness report to reflect the petgraph version change

Testing

  • cargo check
  • cargo outdated --depth=1

Codex Task


PR Type

Enhancement, Documentation


Description

  • Update petgraph from 0.6 to 0.8 with newer dependency stack

  • Upgrade rustler to 0.37.0 for current BEAM integration support

  • Rebrand project from rust-code-analysis to singularity-code-analysis

  • Expand language support documentation with detailed metric coverage matrix

  • Update tree-sitter grammar dependencies to latest stable versions

  • Improve C/C++ macro parsing documentation with known limitations


Diagram Walkthrough

flowchart LR
  A["petgraph 0.6"] -->|upgrade| B["petgraph 0.8"]
  C["rustler 0.35"] -->|upgrade| D["rustler 0.37"]
  E["tree-sitter grammars"] -->|update versions| F["Latest stable releases"]
  G["rust-code-analysis"] -->|rebrand| H["singularity-code-analysis"]
  I["Basic language docs"] -->|expand| J["Detailed metric coverage matrix"]
Loading

File Walkthrough

Relevant files
Dependencies
1 files
Cargo.toml
Update petgraph, rustler, and tree-sitter dependencies     
+16/-16 
Documentation
27 files
macros.rs
Update crate name in documentation examples                           
+7/-7     
wmc.rs
Clarify tree-sitter-java version history and fixes             
+4/-4     
ops.rs
Update crate name in documentation examples                           
+1/-1     
dump.rs
Update crate name in documentation examples                           
+1/-1     
dump_metrics.rs
Update crate name in documentation examples                           
+1/-1     
dump_ops.rs
Update crate name in documentation examples                           
+1/-1     
spaces.rs
Update crate name in documentation examples                           
+1/-1     
tools.rs
Update crate name in documentation examples                           
+5/-5     
BEAM_SUPPORT.md
Update project name reference in credits                                 
+1/-1     
PRODUCTION_READINESS_ASSESSMENT.md
Update petgraph version in assessment table                           
+1/-1     
README.md
Rebrand project and expand language support documentation
+28/-13 
new-language.md
Remove outdated documentation file                                             
+0/-56   
languages.md
Remove outdated documentation file                                             
+0/-16   
book.toml
Update book title and description to new project name       
+2/-2     
deploy-to-GitHub-Pages
Update deployment script with new project name                     
+2/-2     
README.md
Rebrand documentation and update GitHub repository links 
+20/-12 
SUMMARY.md
Update summary title to new project name                                 
+1/-1     
README.md
Update CLI tool names to new project branding                       
+4/-4     
metrics.md
Update CLI command examples to new project name                   
+5/-5     
nodes.md
Update CLI command examples to new project name                   
+5/-5     
rest.md
Update web server name to new project branding                     
+2/-2     
README.md
Update repository URLs and project name references             
+15/-15 
loc.md
Update GitHub repository link to new project                         
+1/-1     
new-language.md
Add new language support documentation with updated URLs 
+56/-0   
update-grammars.md
Update project name references in grammar documentation   
+2/-2     
languages.md
Add comprehensive language support and metric coverage documentation
+20/-0   
metrics.md
Update project name in metrics documentation                         
+1/-1     

@mikkihugo mikkihugo marked this pull request as ready for review November 9, 2025 13:05
@mikkihugo mikkihugo merged commit d2afe43 into main Nov 9, 2025
@mikkihugo mikkihugo deleted the codex/review-code-for-documentation-and-functionality branch November 9, 2025 13:05
@qodo-code-review
Copy link
Copy Markdown
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
No audit logs: The PR primarily updates docs and dependencies without adding or modifying runtime logic,
so there is no evidence that critical actions are logged or unlogged in the newly added
code segments.

Referred Code
globset = "0.4"
num = "0.4"
num-derive = "0.4"
num-format = "0.4"
petgraph = "0.8"
regex = "1.0"
serde = { version = "1.0", features = ["derive"] }
termcolor = "1.2"
walkdir = "2.0"

tree-sitter = "0.25.10"
tree-sitter-java = "0.23.5"
tree-sitter-typescript = "0.23.2"
tree-sitter-javascript = "0.25.0"
tree-sitter-python = "0.25.0"
tree-sitter-rust = "0.24.0"
tree-sitter-cpp = "0.23.4"
# BEAM languages
tree-sitter-elixir = "0.3.4"
tree-sitter-erlang = "0.15.0"
tree-sitter-gleam = "1.0.0"


 ... (clipped 12 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
No error paths: New additions are comment/doc changes and dependency bumps, with no new failure points
introduced or handled, so robustness cannot be assessed from the diff alone.

Referred Code
// Historical note: tree-sitter-java 0.19.0 failed to recognise modern `switch` constructs
// (https://github.com/tree-sitter/tree-sitter-java/issues/69). The fix landed upstream in
// https://github.com/tree-sitter/tree-sitter-java/pull/78 and is bundled with the 0.23.5
// grammar that this crate now depends on.

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
No new inputs: Added lines are documentation examples and function references without changes to actual
input handling; security of input validation cannot be judged from these additions alone.

Referred Code
/// use std::path::Path;
///
/// use singularity_code_analysis::get_language_for_file;
///
/// let path = Path::new("build.rs");
/// get_language_for_file(&path).unwrap();
/// ```

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link
Copy Markdown
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
No audit logs: The PR mainly updates dependencies and documentation with no added logging for critical
actions, which does not demonstrate audit trail coverage in the changed code.

Referred Code
globset = "0.4"
num = "0.4"
num-derive = "0.4"
num-format = "0.4"
petgraph = "0.8"
regex = "1.0"
serde = { version = "1.0", features = ["derive"] }
termcolor = "1.2"
walkdir = "2.0"

tree-sitter = "0.25.10"
tree-sitter-java = "0.23.5"
tree-sitter-typescript = "0.23.2"
tree-sitter-javascript = "0.25.0"
tree-sitter-python = "0.25.0"
tree-sitter-rust = "0.24.0"
tree-sitter-cpp = "0.23.4"
# BEAM languages
tree-sitter-elixir = "0.3.4"
tree-sitter-erlang = "0.15.0"
tree-sitter-gleam = "1.0.0"


 ... (clipped 12 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
No error paths: The changes are comment and docs updates without added error handling; robustness cannot
be assessed from the added lines alone.

Referred Code
// Historical note: tree-sitter-java 0.19.0 failed to recognise modern `switch` constructs
// (https://github.com/tree-sitter/tree-sitter-java/issues/69). The fix landed upstream in
// https://github.com/tree-sitter/tree-sitter-java/pull/78 and is bundled with the 0.23.5
// grammar that this crate now depends on.

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
Dependency bumps: Dependency version increases (e.g., petgraph, rustler, tree-sitter crates) may affect
security posture, but the diff adds no new input handling to evaluate.

Referred Code
globset = "0.4"
num = "0.4"
num-derive = "0.4"
num-format = "0.4"
petgraph = "0.8"
regex = "1.0"
serde = { version = "1.0", features = ["derive"] }
termcolor = "1.2"
walkdir = "2.0"

tree-sitter = "0.25.10"
tree-sitter-java = "0.23.5"
tree-sitter-typescript = "0.23.2"
tree-sitter-javascript = "0.25.0"
tree-sitter-python = "0.25.0"
tree-sitter-rust = "0.24.0"
tree-sitter-cpp = "0.23.4"
# BEAM languages
tree-sitter-elixir = "0.3.4"
tree-sitter-erlang = "0.15.0"
tree-sitter-gleam = "1.0.0"


 ... (clipped 12 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-code-review
Copy link
Copy Markdown
Contributor

PR Code Suggestions ✨

No code suggestions found for the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant