Repository navigation
A small surface: find, impact, path and tests, answered with their code; CI runs the query cases - #1819
Merged
swapnilpaliwal-sd merged 1 commit intoSep 30, 2026
Conversation
swapnilpaliwal-sd
requested review from
JaredHLZhang,
Whua689 and
suyashpaliwal26
as code owners
September 30, 2026 08:44
swapnilpaliwal-sd
force-pushed
the
surface/find-impact-path-tests
branch
from
September 30, 2026 08:54
9f0e70e to
23121d4
Compare
…s with their code An agent was offered 8 MCP tools with 69 parameters and ~10,000 characters of descriptions, and the CLI 10-37 flags per verb; in practice agents asked two questions with no options, and after every located answer read the file. The offering is now four questions and a setup verb, the same on the CLI and over MCP, with no options: - find "<question>" / find(question): where the code for a task lives (context underneath); a name the task writes that the code calls and nothing declares is listed with its call sites - impact <name> / impact(name): callers, what a change reaches, the tests; with no name, the same for the declarations the uncommitted edits changed - path <A> <B> / path(start, end): the call chain - tests / tests(): the tests the uncommitted edits reach, and the command that runs exactly those - index: build the graph (--lang, --src, --library) Each answer is numbered places, each with the enclosing function's code (whole when short, else its header and a window around the lines that matter), one block per function, at most 10, word-match filler and module-scope rows dropped (ax_blocks.py). The shape applies at the front doors (the installed command, the MCP server) when no flag is passed; the dispatcher called directly, AXIOMCODE_RAW, or any flag gives the verb's own answer, so hooks, suites and scripts are unchanged. Old verbs and flags still work and are no longer advertised. Help, SKILL.md, AGENTS.md, the Cursor rule, the Gemini copy, README and the hooks' hints teach only the four. MCP answers drop any clause that names an option the tools refuse; code blocks are never touched. CI: engine (<lang>) runs tests/run.py --lang <lang> after the engine suite (every case must pass; a pending case that passes fails until its mark is removed), and the python leg runs tests/front_door.py, which checks the shape through the installed command and MCP and that direct calls and flags keep the old answers. Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
swapnilpaliwal-sd
force-pushed
the
surface/find-impact-path-tests
branch
from
September 30, 2026 09:00
23121d4 to
5b857c1
Compare
This was referenced Sep 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A small surface. Agents were offered 8 MCP tools with 69 parameters and about 10,000 characters of tool descriptions. The CLI had 10 to 37 flags per verb. In practice agents asked two questions with no options, and after almost every answer that located code they opened the file to read it.
The offering is now four questions plus a setup verb, the same on the CLI and over MCP, with no options:
axiomcode find "<question>"find(question)axiomcode impact <name>impact(name)axiomcode impactimpact()axiomcode path <A> <B>path(start, end)axiomcode teststests()axiomcode index--lang,--src,--library)Answer shape
AXIOMCODE_RAW, or passing any flag gives the verb's own answer. So hooks, test suites and scripts are unchanged.Docs and hooks. Help, SKILL.md, AGENTS.md, the Cursor rule, the Gemini copy, the README and the hooks' hints teach only these verbs. An MCP answer drops any clause that names an option the tools refuse; code blocks are never touched.
CI gate against regressions
engine (<lang>)job now runstests/run.py --lang <lang>after the engine suite. Every case must pass, and a pending case that passes fails the run until its pending mark is removed. Five cases had regressed on 0.1.9 because this suite never ran in CI (fixed in impact: one row per TypeScript signature use; pipeline-array-dispatch is no longer pending #1812–tests: csharp unmodelled-entry case follows the now-modelled hosted-service registration #1815).tests/front_door.py. It checks the answer shape through the installed command and MCP, and checks that direct calls and flags keep the old answers.Validation (on the integration tip)
tests/run.py: 1249/1249.front_door,surfaces,mcp,mcp_docs,manifestsandlatency: all pass.