trace_path: accept `callers`/`callees` as aliases for `direction`
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 68/100
Hướng nghiên cứu
Tìm phần cài đặt của công cụ trace_path bằng cách tìm chuỗi 'invalid direction' — đó là nơi direction được phân tích; thêm việc chuẩn hóa callers→inbound và callees→outbound trước khi kiểm tra hợp lệ. Cũng tìm schema JSON khai báo enum direction cho trace_path và thêm hai bí danh để các client MCP xác thực cục bộ. Kết quả hoàn thành là cả hai cách viết đều được chấp nhận khi nhập vào trong khi câu trả lời vẫn trả về inbound/outbound; chạy các test tham số công cụ hiện có để xác nhận rằng không có gì khác thay đổi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
trace_path: accept callers/callees as aliases for direction
Version: 0.10.8 (macOS, single static binary)
What happens
trace_path's direction takes inbound / outbound / both. Passing the word most callers
reach for first is rejected:
trace_path(function_name="safe_null_result", project="…", direction="callers", depth=1)
→ invalid direction "callers" — use "inbound" (callers), "outbound" (callees), or "both"
Why this is worth a one-line change
The error message already contains the fix. It glosses inbound as (callers) and outbound
as (callees) — the server knows exactly what the rejected word means and says so in the act of
refusing it. There is no ambiguity to resolve, no second meaning of "callers" to disambiguate
against; the mapping is already written down in the rejection.
It also costs a round trip every time, and the round trip is not free for the caller this tool is
built for: an agent burns a tool call, reads an error, and retries. That is the whole interaction
budget the README's "99% fewer tokens" is about.
The wider context is that "callers" is the more common spelling of this concept across the tools an
agent is likely to be holding at the same time. Anything wrapping this backend and exposing a
caller/callee vocabulary hits the mismatch on the boundary — I ran into it from a wrapper whose own
surface uses op: "callers", so the two names for one concept sit one call apart, and one of them
is actively refused by the other side.
Suggested fix
Accept callers → inbound and callees → outbound as input aliases, normalising to the
canonical values internally. Keep inbound/outbound as the documented names and as whatever the
response echoes — this is only about what the parser tolerates on the way in.
Both spellings in the JSON-schema enum would also let MCP clients validate either one locally,
rather than the alias being accepted by the server but rejected by client-side schema validation
first.
Not a bug
Filing this as ergonomics, not correctness. The current behaviour is well-signposted and the error
is one of the better ones in the tool — it names the valid values instead of just refusing. This is
a request to skip the round trip, not a complaint that it is wrong.
- Ngôn ngữ chính
- C
- Star
- 45.8k
- Fork
- 3.8k
- Merge trung bình
- 3 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 201
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của DeusData/codebase-memory-mcp
-
Generated Pi extension (cbmem.ts) breaks Gemini/Antigravity: Type.Union of Type.Literal serializes to anyOf/constCó thể đã có người làm @divakantpandey đã nhận 1 ngày trước. Đang mởbug editor/integration
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
DeusData/codebase-memory-mcp#2787 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
install writes an unsupported `args` key into the Claude Code SubagentStart hook, so it never runsĐang mởbug editor/integration priority/high stability/performance ux/behavior
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
DeusData/codebase-memory-mcp#2239 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug priority/high ux/behavior
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
DeusData/codebase-memory-mcp#2232 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation editor/integration parsing/quality priority/normal
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
DeusData/codebase-memory-mcp#2169 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
documentation priority/normal ux/behavior
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
DeusData/codebase-memory-mcp#2050 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của DeusData/codebase-memory-mcp
Issue tương tự
-
enhancement ui
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
ChupathingyCE/chupathingyce#485 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Need to correct all URLsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
JustAResearcher/gpu-unlock-ada#98 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
FujiNetWIFI/fujinet-firmware#2216 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 2 ngày