Skip to content

feat(context): named-flow subgraph — call-edges among members (closes #311)#312

Merged
Wolfvin merged 1 commit into
mainfrom
feat/issue-311-flow-subgraph
Jul 17, 2026
Merged

feat(context): named-flow subgraph — call-edges among members (closes #311)#312
Wolfvin merged 1 commit into
mainfrom
feat/issue-311-flow-subgraph

Conversation

@Wolfvin

@Wolfvin Wolfvin commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Closes #311. Builds on #309.

Yang dibangun

context --check flow --name X kini menyertakan edges antar-anggota, jadi rantai terbaca terurut — bukan cuma kumpulan:

## Flow: `PAYMENT` (3 functions)
- `validate_cart` — cart.py:3
- `charge` — gateway.js:1
- `checkout_route` — routes.py:3

### Call chain
- `checkout_route` → `validate_cart`
- `validate_cart` → `charge`

Melengkapi framing Wolfvin: "1 flow dari sebuah rantai function".

Read-only + graceful

Resolve tiap member (symbol, file) → node graph, query_callees, simpan hanya edge yang target-nya juga di flow. Graceful: workspace tanpa graph DB (belum di-scan) → flat list #309, tak ada requirement baru, tak ada regresi. Tak menyentuh scan/parser pipeline. Resolusi keyed (symbol, file) → fungsi senama beda file tak tabrakan.

Verifikasi (dijalankan)

Pasangan berikutnya (fase 2): subgraph + edge-diff #297 = "bentuk flow pembayaran berubah di PR ini". Persist tag ke node graph tetap terpisah (backend delegate).

🤖 Generated with Claude Code

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@Wolfvin
Wolfvin merged commit 93632c0 into main Jul 17, 2026
1 of 7 checks passed
…311)

`context --check flow --name X` now includes `edges: [{from, to}]` among the
flow's members, so a chain reads in call order (checkout_route -> validate_cart
-> charge) rather than as a flat set — completing Wolfvin's "rantai function".

Read-only: resolves each member (symbol, file) to a graph node, runs
query_callees, and keeps only edges whose target is also in the flow. Graceful
by design — a workspace with no graph DB (never scanned) yields the flat member
list unchanged, so nothing new is required and there is no regression. Touches
no scan/parser pipeline.

markdown renders a "Call chain" section; json/compact expose `edges` for
agents. Member resolution keys on (symbol, file) so same-named functions in
different files don't collide.

Verified: PAYMENT chain resolves in order on the scanned demo; fresh workspace
degrades to flat list; edges leaving the flow are excluded (tests). Full suite
19 failures = 19 on main.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Wolfvin
Wolfvin deleted the feat/issue-311-flow-subgraph branch July 17, 2026 18:18
@sonarqubecloud

Copy link
Copy Markdown

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.

feat(context): named-flow subgraph — show call-edges among flow members (context --check flow)

1 participant