Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ for tools that don't read `.cursor/rules/`.
files are kept as reference templates for future per-PR Cursor work.
- Older completed: `propose/completed/CALL-GRAPH-PROPOSE.md`,
`propose/completed/DESCRIBE-MEMBER-EDGE-ROLLUP-PROPOSE.md`,
`propose/completed/DESCRIBE-OVERRIDE-ROLLUP-PROPOSE.md`,
`plans/completed/PLAN-DESCRIBE-MEMBER-EDGE-ROLLUP.md`,
`plans/completed/PLAN-DESCRIBE-OVERRIDE-ROLLUP.md`,
`propose/completed/MCP-API-V2-REDESIGN-PROPOSE.md` (four-tool MCP + `java-codebase-rag` CLI),
`plans/completed/PLAN-CALL-GRAPH.md`,
`plans/completed/PLAN-CAPABILITIES-MODEL.md`,
Expand Down
2 changes: 1 addition & 1 deletion plans/completed/PLAN-DESCRIBE-MEMBER-EDGE-ROLLUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Status: **complete** (PR-1 landed). Source propose:

Depends on: **none** for graph or indexer work (read-path only).

**Coordinate with:** [`propose/DESCRIBE-OVERRIDE-ROLLUP-PROPOSE.md`](../../propose/DESCRIBE-OVERRIDE-ROLLUP-PROPOSE.md) if both describe rollups land in the same release window. That propose extends the **same** `_edge_summary_for_node` hook for **method and constructor** symbols with different composed keys. Prefer **one** `kind` + `row` signature change and one composable `_edge_summary_for_node` body with **disjoint** branches (type rollup vs override rollup), or land two PRs in an order where the second PR only adds the method/constructor branch without reshaping the signature again.
**Related:** Companion describe rollup for method symbols (override-axis `edge_summary` keys) lives in [`propose/completed/DESCRIBE-OVERRIDE-ROLLUP-PROPOSE.md`](../../propose/completed/DESCRIBE-OVERRIDE-ROLLUP-PROPOSE.md) and [`plans/completed/PLAN-DESCRIBE-OVERRIDE-ROLLUP.md`](PLAN-DESCRIBE-OVERRIDE-ROLLUP.md) (landed in PR #110).

## Goal

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Plan: describe override-axis rollup (`edge_summary` virtual dispatch keys)

Status: **active (planning)**. This plan implements
[`propose/DESCRIBE-OVERRIDE-ROLLUP-PROPOSE.md`](../propose/DESCRIBE-OVERRIDE-ROLLUP-PROPOSE.md).
Status: **completed** (landed in PR #110). This plan implemented
[`propose/completed/DESCRIBE-OVERRIDE-ROLLUP-PROPOSE.md`](../../propose/completed/DESCRIBE-OVERRIDE-ROLLUP-PROPOSE.md).

Depends on: **none** for graph or indexer work (read-path only). **Coordinate with landed PR-89:** [`plans/completed/PLAN-DESCRIBE-MEMBER-EDGE-ROLLUP.md`](completed/PLAN-DESCRIBE-MEMBER-EDGE-ROLLUP.md) — `_edge_summary_for_node` in `mcp_v2.py` already threads `kind` + `row` and merges type-side `member_edge_rollup_for`. This rollout adds a **disjoint** branch for **method** symbols only (not constructors — short-circuit). Type and method branches are mutually exclusive on `row["kind"]`.

Expand Down Expand Up @@ -151,8 +151,8 @@ Add **exactly** these five tests (propose §6):

1. Propose §3 surface behaviour matches `describe_v2` output on covered scenarios (UC1, UC2, UC5–UC7, UC6 silent).
2. Documentation and Pydantic field descriptions tell agents not to pass virtual keys to `neighbors`.
3. All default `pytest tests` pass; propose moved to `propose/completed/` only **after** the PR merges (repo convention).
3. All default `pytest tests` pass; propose moved to `propose/completed/` after PR #110 merged (repo convention).

## Tracking

- `PR-1`: _pending_
- `PR-1`: merged (PR #110)
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# DESCRIBE-OVERRIDE-ROLLUP — Surface override-axis affordances on method `describe` so the dispatch chasm is visible

**Status**: under review (v2)
**Status**: completed (landed in PR #110)
**Author**: Dmitriy Teriaev + Perplexity Computer
**Date**: 2026-05-12

Expand Down Expand Up @@ -191,7 +191,7 @@ In `docs/AGENT-GUIDE.md` under `describe`:
2. Run the dispatch-down walk (declarations → impls) and dispatch-up walk (override → declarations) using `signature` equality.
3. Count `DECLARES_CLIENT` / `EXPOSES` outgoing edges on the collected override method ids.
4. Emit non-zero keys only.
- In `mcp_v2._edge_summary_for_node` (or `describe_v2`), check `kind == "symbol"` AND `data.kind == "method"`, then merge non-zero rollup results (constructors: no helper call — see [`plans/PLAN-DESCRIBE-OVERRIDE-ROLLUP.md`](../plans/PLAN-DESCRIBE-OVERRIDE-ROLLUP.md) §PR-1).
- In `mcp_v2._edge_summary_for_node` (or `describe_v2`), check `kind == "symbol"` AND `data.kind == "method"`, then merge non-zero rollup results (constructors: no helper call — see [`plans/completed/PLAN-DESCRIBE-OVERRIDE-ROLLUP.md`](../../plans/completed/PLAN-DESCRIBE-OVERRIDE-ROLLUP.md) §PR-1).
- Update `DescribeOutput` documentation / pydantic field-level description to mention method-side rollup keys.
- **Test summary**: 5 new tests in `tests/test_mcp_v2_compose.py` (same module as PR-89 describe `edge_summary` tests; avoids splitting describe rollups across files):
- `test_describe_interface_method_with_annotated_impl_emits_rollup` — UC1 fixture.
Expand Down
Loading