Skip to content

feat(examples): cross-stack demo repo + parser fix for self.session.X#8

Merged
smochan merged 1 commit into
mainfrom
feat/demo-cross-stack
Apr 27, 2026
Merged

feat(examples): cross-stack demo repo + parser fix for self.session.X#8
smochan merged 1 commit into
mainfrom
feat/demo-cross-stack

Conversation

@smochan

@smochan smochan commented Apr 27, 2026

Copy link
Copy Markdown
Owner

FastAPI + SQLAlchemy + React fixture for the canonical end-to-end showcase. 9 regression tests. Small DF1 parser fix: detect repository-pattern self.session.* chains. 467 tests total.

A small but realistic project that exercises every codegraph capability
end-to-end. When codegraph builds against it, you get:

  - 5 ROUTE edges (FastAPI @router.get/post)
  - 3 FETCH_CALL edges (fetch + apiClient.get + apiClient.post)
  - READS_FROM edges (session.query / Model.query)
  - WRITES_TO edges (session.add(Model(...)))
  - HANDLER, SERVICE, REPO, COMPONENT roles populated

The demo is the canonical "click button → trace through full stack"
showcase the README points at.

Also includes a small parser fix: _is_session_chain() now recognises
self.session.X / self.db.X patterns common in repository-style code.
Without this, repos that hold the session as an instance attribute
weren't getting their READS_FROM/WRITES_TO edges emitted.

9 regression tests in tests/test_demo_repo.py assert the demo continues
to produce the expected edge/role counts — so future refactors can't
silently break the showcase.

Suite: 467 pass (was 458; +9). ruff + mypy --strict clean.
@smochan smochan merged commit 84d7e92 into main Apr 27, 2026
smochan added a commit that referenced this pull request May 30, 2026
Pre-0.1.2 the MCP server happily returned empty results when
.codegraph/graph.db didn't exist. Claude / Cursor paraphrased that as
"workspace is empty", sending users down the wrong rabbit hole.

`_load_graph` now raises a new `GraphNotBuiltError` carrying the
resolved db path. The MCP dispatcher catches it and returns a
structured `{error, message, db_path}` payload telling the LLM exactly
what command to suggest: `codegraph build`.

v0.1.2 backlog item #8.
smochan added a commit that referenced this pull request May 30, 2026
Pre-0.1.2 the MCP server happily returned empty results when
.codegraph/graph.db didn't exist. Claude / Cursor paraphrased that as
"workspace is empty", sending users down the wrong rabbit hole.

`_load_graph` now raises a new `GraphNotBuiltError` carrying the
resolved db path. The MCP dispatcher catches it and returns a
structured `{error, message, db_path}` payload telling the LLM exactly
what command to suggest: `codegraph build`.

v0.1.2 backlog item #8.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant