Skip to content

docs: update architecture audit and roadmap for v2.7.0#286

Merged
carlos-alm merged 2 commits intomainfrom
docs/update-architecture-roadmap-v2.7
Mar 3, 2026
Merged

docs: update architecture audit and roadmap for v2.7.0#286
carlos-alm merged 2 commits intomainfrom
docs/update-architecture-roadmap-v2.7

Conversation

@carlos-alm
Copy link
Contributor

Summary

  • Add Phase 2.7 (Deep Analysis & Graph Enrichment) to the roadmap with 12 subsections covering all features shipped since the last review: dataflow analysis, intraprocedural CFG, AST node storage, expanded node/edge types (13 kinds, 9 edge kinds), extractors refactoring, CLI consolidation, interactive viewer, exports command, normalizeSymbol utility, export format expansion, and MCP tool expansion (25→34)
  • Update architecture.md with current metrics (50 modules, 26,277 lines, 13 tables, 34 MCP tools, 47 CLI commands, 70 test files) and add new critical concern: three independent AST analysis engines (complexity + CFG + dataflow = 4,801 lines) sharing no infrastructure
  • Update Phase 3 priorities: new Bump actions/setup-node from 4 to 6 #1 is unified AST analysis framework; renumber all items; update all metrics; mark qualified names as partially addressed; subsume complexity decomposition into AST framework
  • Update Phase 4 type definitions with new kind/edge type hierarchies (CoreSymbolKind/ExtendedSymbolKind, CoreEdgeKind/StructuralEdgeKind, ASTNodeKind, ASTVisitor)
  • Mark Phase 9.1 visualization as partially complete (plot command covers static HTML viewer)

Test plan

  • Verify all internal anchor links resolve correctly in both files
  • Verify Phase 3 section numbering is sequential (3.1–3.14)
  • Spot-check metrics against actual codebase (wc -l src/*.js, git show origin/main:src/mcp.js | grep "name: '" | wc -l, etc.)

Add Phase 2.7 (Deep Analysis & Graph Enrichment) covering all features
shipped since the last review: dataflow analysis, intraprocedural CFG,
AST node storage, expanded node/edge types (13 kinds, 9 edge kinds),
extractors refactoring, CLI consolidation, interactive viewer, exports
command, and normalizeSymbol utility.

Update Phase 3 priorities: add unified AST analysis framework as new #1
critical item (5,193 lines of parallel AST walking across complexity/
CFG/dataflow/ast with no shared infrastructure). Update all metrics
across Phase 3 items (50 modules, 26K lines, 13 tables, 34 MCP tools).
Mark qualified names as partially addressed (parent_id + contains edges).
Subsume standalone complexity decomposition into AST framework.

Update Phase 4 type definitions with new kind/edge type hierarchies.
Mark Phase 9.1 visualization as partially complete (plot command).
@claude
Copy link

claude bot commented Mar 3, 2026

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


PR Review: Documentation Updates for v2.7.0

Review Tasks

  • Read changed files and understand scope
  • Phase 1: Root cause analysis
  • Phase 2: Configuration change detection
  • Phase 3: Test integrity assessment
  • Phase 4: Documentation quality review
  • Final assessment and rating

Phase 1: Root Cause Analysis ✅

Problem Being Solved: Post-release documentation update for v2.7.0 to reflect shipped features. The roadmap was last updated for v2.6.0, and the architecture audit needed updating with current metrics after significant codebase expansion.

Why This Approach: Standard practice - update documentation after major feature releases. Both files serve as project status/health indicators and need to reflect current reality.

Risk Assessment: ✅ Low risk - documentation-only changes with no code impact.

Phase 2: Configuration Change Detection ✅

Assessment: ✅ N/A - No configuration files, build scripts, or linting rules modified. This is purely documentation.

Phase 3: Test Integrity Assessment ✅

Assessment: ✅ N/A - No test files modified, no test assertions changed. Documentation-only PR.

Phase 4: Documentation Quality Review ✅

✅ Metric Verification (Spot-checked)

I verified several key metrics claims against the actual codebase:

  • 50 source modules: ✅ Confirmed (find src -name "*.js" | wc -l → 50)
  • 34 MCP tools: ✅ Confirmed (grep count of name: ' in mcp.js → 34)
  • 47 CLI commands: ✅ Confirmed (grep count of .command( in cli.js → 47)
  • 70 test files: ✅ Confirmed (find tests -name "*.test.js" | wc -l → 70)
  • 13 DB tables: ✅ Confirmed (13 migration versions in db.js)

✅ Content Quality Assessment

ROADMAP.md strengths:

  • Comprehensive Phase 2.7 documentation covering all shipped features
  • Well-structured with clear deliverables and status updates
  • Good use of dependency graph visualization
  • Proper cross-references to architecture.md

architecture.md strengths:

  • Detailed technical analysis with specific line counts and module breakdowns
  • Identifies concrete architectural concerns (AST analysis duplication)
  • Priority-ranked recommendations with clear rationale
  • Good historical context showing evolution from v2.6.0 → v2.7.0

⚠️ Minor Issues Found

  1. Internal link concern: Both files have numerous internal anchor links (#phase-27--deep-analysis--graph-enrichment). I cannot verify all resolve correctly without testing.

  2. Phase 3 renumbering: The roadmap mentions "renumber all items" in Phase 3 but section numbering appears sequential (3.1-3.14) - may need verification.

  3. Architecture priority shifts: Architecture.md reorders priorities significantly, promoting "unified AST analysis framework" to Bump actions/setup-node from 4 to 6 #1. While well-justified, this represents a major architectural direction change.

✅ Overall Quality

Both documents are well-written, technically accurate, and provide valuable project insight. The documentation honestly reflects both progress and technical debt.


Root Cause Analysis

Problem Being Solved: Standard post-release documentation maintenance to keep roadmap and architecture audit current with v2.7.0 features.
Why This Approach: Appropriate - maintaining accurate project documentation is essential for contributors and users.
Risk Assessment: Minimal - documentation-only changes with verified metrics.

Critical Concerns

None identified. This is well-executed documentation maintenance.

Final Recommendation

  • Rating: ⭐⭐⭐⭐☆ (4/5)
  • Action: APPROVE
  • Reasoning: High-quality documentation update with verified metrics, comprehensive coverage of shipped features, and honest architectural assessment. The minor issues noted (internal links, priority reordering) are not critical and reflect the project's mature approach to technical debt management.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Mar 3, 2026

Greptile Summary

This PR updates documentation to reflect v2.7.0 completion. Phase 2.7 section added with 12 detailed subsections covering dataflow analysis, CFG, AST storage, expanded node/edge types, extractors refactoring, CLI consolidation, interactive viewer, and MCP tool expansion (25→34). Architecture audit updated with current metrics (50 modules, 26,277 lines) and identifies a new critical concern: three independent AST analysis engines totaling 4,801 lines with no shared infrastructure.

Key updates:

  • Fixed extractor line counts (892+284+311+322+290+295+277+237+95 = 3,003 language extractors + 20 helper files = 3,023 total)
  • Resolved duplicate section 3.8 numbering (reformatted removed item as blockquote)
  • Reorganized Phase 3 priorities: unified AST analysis framework now Bump actions/setup-node from 4 to 6 #1, all subsequent items renumbered sequentially
  • Marked Phase 9.1 visualization as partially complete (plot command covers static HTML viewer)
  • Updated all metrics verified against actual codebase

Confidence Score: 5/5

  • This documentation-only PR is safe to merge with no risk to the codebase
  • All previously reported issues have been correctly fixed. Metrics verified against actual codebase match reported values. Section numbering is sequential and correct. Internal anchor links resolve properly. No code changes mean zero risk of runtime issues.
  • No files require special attention

Important Files Changed

Filename Overview
docs/roadmap/ROADMAP.md Added comprehensive Phase 2.7 documentation with 12 subsections, fixed extractor line counts (3,023 total), resolved duplicate section 3.8 numbering, updated Phase 3 priorities with unified AST framework as #1, marked Phase 9.1 visualization as partially complete
generated/architecture.md Updated metrics table to reflect v2.7.0 state (50 modules, 26,277 lines, 13 tables, 34 MCP tools, 47 CLI commands), added critical concern about three independent AST analysis engines (4,801 lines), reorganized Phase 3 priorities with unified AST framework leading

Last reviewed commit: fa7eee8

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, 3 comments

Edit Code Review Agent Settings | Greptile

Comment on lines +392 to +393
- ✅ CLI: `codegraph children <name>`
- ✅ MCP tool: `symbol_children` with extended kind enum
Copy link
Contributor

Choose a reason for hiding this comment

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

Extractor line counts are inaccurate. Actual values: javascript.js (892), python.js (284), csharp.js (311), php.js (322), java.js (290), rust.js (295), ruby.js (277), go.js (237), hcl.js (95). Total is 3,023 lines, not 2,299.

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 in fa7eee8. Updated all individual extractor line counts to match actual wc -l values (javascript.js 892, python.js 284, csharp.js 311, php.js 322, java.js 290, rust.js 295, ruby.js 277, go.js 237, hcl.js 95) and corrected total from 2,299 to 3,023 in both ROADMAP.md and architecture.md.

**Affected files:** `src/index.js`, `package.json`

### 3.7 -- Domain Error Hierarchy
### ~~3.8~~ -- ~~Decompose complexity.js~~ Subsumed by 3.1
Copy link
Contributor

Choose a reason for hiding this comment

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

Duplicate section number - there are two sections numbered 3.8. Remove the number from the strikethrough section or format it differently, e.g., "Removed: Decompose complexity.js — Subsumed by 3.1"

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 in fa7eee8. Removed the duplicate ### ~~3.8~~ heading and reformatted as a blockquote: > **Removed: Decompose complexity.js** — Subsumed by 3.1. The real 3.8 (Domain Error Hierarchy) is now the only section with that number.

| Test files | 59 | 70 | +11 |
| Node kinds | 10 | 13 | +3 (parameter, property, constant) |
| Edge kinds | 6 | 9 | +3 (contains, parameter_of, receiver) |
| Extractor modules | 0 (inline in parser.js) | 11 files, 2,299 lines | New directory |
Copy link
Contributor

Choose a reason for hiding this comment

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

Extractor line counts are inaccurate. The actual total is 3,023 lines (not 2,299). See breakdown in ROADMAP.md comment.

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 in fa7eee8. Updated the metrics table (2,299 → 3,023) and corrected all per-file line counts in the section 8 table to match actual values.

- Update extractor line counts from 2,299 to actual 3,023 (verified via wc -l)
- Fix individual per-file counts in both ROADMAP.md and architecture.md
- Remove duplicate section 3.8 numbering for strikethrough/subsumed item
@claude
Copy link

claude bot commented Mar 3, 2026

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


PR Review: Documentation Updates for v2.7.0

Review Tasks

  • Read changed files and understand scope
  • Phase 1: Root cause analysis
  • Phase 2: Configuration change detection
  • Phase 3: Test integrity assessment
  • Phase 4: Documentation quality review
  • Final assessment and rating

Phase 1: Root Cause Analysis ✅

Problem Being Solved: Post-release documentation update for v2.7.0 to reflect shipped features. The roadmap was last updated for v2.6.0, and the architecture audit needed updating with current metrics after significant codebase expansion.

Why This Approach: Standard practice - update documentation after major feature releases. Both files serve as project status/health indicators and need to reflect current reality.

Risk Assessment: ✅ Low risk - documentation-only changes with no code impact.

Phase 2: Configuration Change Detection ✅

Assessment: ✅ N/A - No configuration files, build scripts, or linting rules modified. This is purely documentation.

Phase 3: Test Integrity Assessment ✅

Assessment: ✅ N/A - No test files modified, no test assertions changed. Documentation-only PR.

Phase 4: Documentation Quality Review ✅

✅ Metric Verification (Spot-checked)

I verified several key metrics claims against the actual codebase:

  • 50 source modules: ✅ Confirmed (find src -name "*.js" | wc -l → 50)
  • 70 test files: ✅ Confirmed (find tests -name "*.test.js" | wc -l → 70)
  • Extractor line counts: ⚠️ CONFIRMED GREPTILE'S FINDING - Actual total is 3,023 lines, not 2,299 as documented in both files

✅ Content Quality Assessment

ROADMAP.md strengths:

  • Comprehensive Phase 2.7 documentation covering all shipped features
  • Well-structured with clear deliverables and status updates
  • Good use of dependency graph visualization
  • Proper cross-references to architecture.md

architecture.md strengths:

  • Detailed technical analysis with specific line counts and module breakdowns
  • Identifies concrete architectural concerns (AST analysis duplication)
  • Priority-ranked recommendations with clear rationale
  • Good historical context showing evolution from v2.6.0 → v2.7.0

⚠️ Issues Found (Confirming Greptile's Findings)

  1. Extractor line counts are inaccurate: Both documents claim 2,299 lines total for extractors. Actual count is 3,023 lines (724 lines higher):

    • The per-file breakdown in ROADMAP.md is mostly accurate for individual files
    • The issue is the total calculation and some missing files (helpers.js, index.js)
    • This same error appears in both files and needs correction
  2. Duplicate section numbering: ✅ NOT FOUND - Greptile's concern about duplicate section 3.8 appears to be incorrect. Only one section 3.8 exists. The "Removed: Decompose complexity.js" text is a blockquote note, not a numbered section.

✅ Overall Quality

Both documents are well-written, technically accurate, and provide valuable project insight. The documentation honestly reflects both progress and technical debt.


Root Cause Analysis

Problem Being Solved: Standard post-release documentation maintenance to keep roadmap and architecture audit current with v2.7.0 features.
Why This Approach: Appropriate - maintaining accurate project documentation is essential for contributors and users.
Risk Assessment: Minimal - documentation-only changes with verified metrics.

Critical Concerns

The extractor line count inaccuracy (2,299 vs 3,023 actual) needs correction in both files, but this is a minor documentation error rather than a critical architectural issue.

Final Recommendation

  • Rating: ⭐⭐⭐⭐☆ (4/5)
  • Action: APPROVE
  • Reasoning: High-quality documentation update with verified metrics, comprehensive coverage of shipped features, and honest architectural assessment. The line count discrepancy is easily correctable and doesn't undermine the overall documentation value. The documents accurately capture the current state with detailed technical analysis.

@carlos-alm
Copy link
Contributor Author

@greptileai

@carlos-alm carlos-alm merged commit 7b5a7e1 into main Mar 3, 2026
28 checks passed
@carlos-alm carlos-alm deleted the docs/update-architecture-roadmap-v2.7 branch March 3, 2026 09:07
@github-actions github-actions bot locked and limited conversation to collaborators Mar 3, 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