Skip to content

Releases: sharwariakre/CodeNarrator

v0.1.1

Choose a tag to compare

@sharwariakre sharwariakre released this 26 May 03:33
6cfea79

What's Changed

  • Broaden language and framework coverage in the analysis pipeline by @sharwariakre in #53
  • Improve exploration breadth and dependency-graph fidelity by @sharwariakre in #54
  • Improve exploration breadth and graph readability by @sharwariakre in #55

Full Changelog: v0...v0.1.1

v0 — Initial Release: Web App Architecture

Choose a tag to compare

@sharwariakre sharwariakre released this 22 May 22:53
275bb25

v0 — Initial Release: Web App Architecture

CodeNarrator as a full-stack web application — FastAPI backend + React/TypeScript (Vite) frontend — with a complete autonomous codebase analysis pipeline.

What's fully working

  • End-to-end pipeline: ingest → snapshot → agentic loop (SSE streaming) → interpret → report
  • Git repo cloning via GitPython with GitHub size pre-check and private repo PAT support
  • Deterministic analysis core: file scanning, per-language import extraction (Python via ast + regex fallback; JS/TS/Java/Go/Rust/C++ via regex), internal import resolution, dependency graph computation with cluster detection
  • Agentic exploration loop: Qwen2.5-Coder 7B via Ollama with 5 tools (read_file, follow_import, search_for_pattern, mark_architecture_insight, stop_analysis), anti-stall machinery, minimum-files enforcement, content-fallback tool parsing
  • AI architecture interpretation via Ollama with hallucination stripping (invented file references removed)
  • Self-contained HTML report with interactive D3.js force-directed dependency graph
  • JSON state persistence with git HEAD staleness check and analysis history
  • React frontend with live SSE "currently exploring" indicator, depth selector (Quick/Standard/Deep), and history view
  • Path traversal guard on report serving

Known technical debt

To be addressed in next phase — library refactor:

  • Pipeline orchestrated by App.tsx over HTTP; not usable as a standalone Python library
  • Ollama hardcoded; no pluggable LLM backends
  • Two inconsistent Ollama integration styles (ollama.chat vs raw urllib)
  • _compute_dependency_graph_summary recomputed three times per run (loop, interpret, report)
  • Legacy heuristic loop (run_analysis_loop, advance_analysis_state, _select_next_candidate) superseded by agentic loop but not removed
  • ast/ subpackage scaffolded but not wired in (extract_ast raises NotImplementedError); language_registry advertises tree-sitter backends that don't exist yet
  • logging_config.py and tests/test_health.py are empty files
  • analysis_state is a raw mutable dict, no clean result object