Repository navigation
path '*': the methods behind a [by name] caller are counted, and bound: lines survive to the front door - #1855
Conversation
…earest examples A method that reaches a by-name caller through resolved edges reaches the target too whenever the by-name site is real. The upstream closure listed the by-name callers (#1421) but what reaches THEM was absent and uncounted under the verified: line — on "only X can trigger this" exactly the triggers a spec answer silently dropped. One reverse walk from the by-name caller set, counted as its own bound: line with up-to-3 nearest NAMED examples (an <arrow> placeholder names nothing a reader can look up). 907 behind a hot name on an engine-sized graph, ~1s. Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
The numbered-places surface kept only run: and verified: foot lines, so every bound: honesty line — the closure's lower-bound count and the by-name behind count — was invisible exactly where agents and the CLI read the answer. An agent writing "only X reaches this" from these places needs the bound as much as the verified line. Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
…ounts are typed fields Two successful path --json answers carried verified: null and bound: null beside prose lines stating the chain was verified and counting its unresolved calls, so an automation had to parse prose. verified is now true/false once hops were checked (null stays 'nothing was checked'); unresolved_inside and unresolved_closure are counted numbers where 0 is a counted zero, distinguishable from missing; bound is the same text the prose prints. Checks compare both formats on one query, at zero and at a nonzero count. Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
The surface trim folded context into find(question), which answers as ranked places; the flow answer (how does X work, every step in the order the calls are written, source=True with each step's code) had no tool left. context(task, source) joins the surface: five tools, each still at most two parameters and no options. The roster docs, the argument checks and the tools/list assertions carry it. Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
|
Two more commits from the AllScale pilot feedback:
All legs green: py 292/292, ts 225/225, java 329/329, js 285/285, cs 207/207, front_door 17/17, mcp ok. |
…rsing fault A task written in a non-Latin script yielded 'nothing to search for in that task description', which reads as a fault in the task rather than as the stated limit it is: the graph's vocabulary is the code's own identifiers, which are English words and names. The refusal now says only English task words are supported and names the working escape — keep the language and include one identifier as written in the code; a mixed task lands. An English task with no content words keeps the plain line. Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
…arrowed The integration side removed find, graph, diff and install from the installed command and the MCP server (search is grep's job). Kept all of that, and kept context surfaced as asked: context joins the dispatcher's public help (which IS the delegated verb list), the MCP roster (context, impact, path, tests), the refusal test loses context and gains a positive check, and the roster docs carry context without find. Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
The audit pinned the trimmed surface (context internal, no MCP tool, no flag taught anywhere but index's). context moves to PUBLIC — dispatcher help, SKILL.md section in both copies, MCP tool — and --source joins the flags the surface may teach. Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
|
Merged apps/integration-0.1.9 into this branch (the conflicts were the surface trim vs context's return). Resolution: everything from the trim stands — find, graph, diff and install stay gone — and context stays surfaced as a first-class verb: the dispatcher's public help (which is the delegated list), the MCP roster (context, impact, path, tests), both SKILL.md copies, and the surfaces audit (fifth public verb, --source the one taught option; the off-surface refusal test loses context and gains a positive check). After the merge: front_door 21/21, mcp ok, mcp_first 30/30, surfaces ok, python 302/302, java 333/333, csharp 208/208. typescript 25 and javascript 11 failing checks are the incoming const-object cases and fail identically on pristine apps/integration-0.1.9 — pre-existing on the base, not from this branch. |
What
Two gaps in
path '*' <target>, both from the week-2 external usage report (finding 8 / ask 2):The closure stopped silently behind a by-name caller. A method that reaches a [by name] caller through resolved edges reaches the target too whenever the by-name site is real — on "only X can trigger this" (the report's Q3, their spec-writing shape) exactly the triggers the answer dropped under a
verified:line. One reverse walk from the by-name caller set now counts them, with up-to-3 nearest NAMED examples (placeholders like<arrow>are pushed behind named methods):The front door dropped every
bound:line.ax_blocks.renderkept onlyrun:/verifiedfoot lines, so the honesty lines the report explicitly asks us not to tidy away were invisible on the default surface (CLI and MCP). They are kept now;run:stays last.Evidence
has) counts 907 behind-methods in 126 files, ~1s added; a mid-frequency name (6 sites) counts 8 in 1 file. Mid-size target before the walk: 2.7s; after: unchanged to the tenth.Tests
python/path-crosses-framework-and-byname(java: path '*' X leaves out a caller on an untyped receiver that impact lists as [by name] #1421's case): the behind count, plus the keyed negative control. 9/9.front_door.py17/17 (the "answer ends with run:" invariant kept by ordering, not by dropping the bound).