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: 1 addition & 1 deletion docs/COMMANDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4299,7 +4299,7 @@ $ ./build/ripwire . --callers=rankGraphTeleport --format=bogus

**Answers:** choose the legend posture for every XML verb — use compact when calling repeatedly output legend posture for EVERY XML verb.

MAKING REPEATED CALLS (an agent, a script, a benchmark harness)? USE compact. The legend is a FIXED ~3 KB per call, so its share is a function of ANSWER SIZE, not of the verb: at least 50% of a small --callers/--uses/--impact/--affected answer (and more on --callees and --edit-check), a little of a large --for bundle. Every ROW is byte-identical; the only payload change is a schema="ripwire.<verb>/v1" attribute the root GAINS. The CLI default is full because a human reading ONE map needs the prose; the MCP server already defaults to compact, so the CLI is the path that pays. full is byte-identical to the default. compact keeps every row byte and every data/completeness attribute (counts_floor= capped= shown= total= has_more= next_offset= est_tokens= at= root= graph_ambiguous= …), adds a versioned schema id on the root (schema="ripwire.<verb>/v1") and replaces the explanatory prose with ONE <=400 B legend naming those attributes — the meanings live here and in the full legend. DATA comments stay (the map header, pack-task's body-omitted rows, +more). Per call this drops 2.9-5.2 KB on the navigation verbs (--edit-check 5.2 KB -> <0.4 KB); the MCP twin is the argument legend: on every XML-answering verb, where compact is the DEFAULT and legend:"full" restores this prose (M1, 2026-09-05: the ten-verb MCP edit loop pays 2,866 B of legend instead of 30,839 B). The CLI default stays full. Runs with nothing to compact refuse it, naming the verb: prose/markdown/JSON answers (--situ --recall --report --mermaid --html --plan-lanes --sarif --eval*) and the writers (edit verbs, --note-add, --quality-baseline/--quality-ack, --index-out, --export).
MAKING REPEATED CALLS (an agent, a script, a benchmark harness)? USE compact. The legend is a FIXED ~3 KB per call, so its share is a function of ANSWER SIZE, not of the verb: at least 45% of a small --callers/--uses/--impact/--affected answer (and more on --callees and --edit-check), a little of a large --for bundle. Every ROW is byte-identical; the only payload change is a schema="ripwire.<verb>/v1" attribute the root GAINS. The CLI default is full because a human reading ONE map needs the prose; the MCP server already defaults to compact, so the CLI is the path that pays. full is byte-identical to the default. compact keeps every row byte and every data/completeness attribute (counts_floor= capped= shown= total= has_more= next_offset= est_tokens= at= root= graph_ambiguous= …), adds a versioned schema id on the root (schema="ripwire.<verb>/v1") and replaces the explanatory prose with ONE legend naming those attributes — the meanings live here and in the full legend. DATA comments stay (the map header, pack-task's body-omitted rows, +more). Per call this drops 2.8-5.8 KB on the navigation verbs (--edit-check 6.3 KB -> 0.5 KB); the MCP twin is the argument legend: on every XML-answering verb, where compact is the DEFAULT and legend:"full" restores this prose (M1, 2026-09-05: the ten-verb MCP edit loop pays 2,866 B of legend instead of 30,839 B). The CLI default stays full. Runs with nothing to compact refuse it, naming the verb: prose/markdown/JSON answers (--situ --recall --report --mermaid --html --plan-lanes --sarif --eval*) and the writers (edit verbs, --note-add, --quality-baseline/--quality-ack, --index-out, --export).

**Try it**

Expand Down
6 changes: 3 additions & 3 deletions src/cli.h
Original file line number Diff line number Diff line change
Expand Up @@ -2341,7 +2341,7 @@ inline constexpr char kHelpTail[] =
" --legend=full|compact choose the legend posture for every XML verb — use compact when calling repeatedly\n"
" output legend posture for EVERY XML verb. MAKING REPEATED CALLS (an agent, a\n"
" script, a benchmark harness)? USE compact. The legend is a FIXED ~3 KB per call,\n"
" so its share is a function of ANSWER SIZE, not of the verb: at least 50% of a\n"
" so its share is a function of ANSWER SIZE, not of the verb: at least 45% of a\n"
" small --callers/--uses/--impact/--affected answer (and more on --callees and\n"
" --edit-check), a little of a large --for bundle. Every ROW is byte-identical; the\n"
" only payload change is a schema=\"ripwire.<verb>/v1\" attribute the root GAINS.\n"
Expand All @@ -2351,9 +2351,9 @@ inline constexpr char kHelpTail[] =
" keeps every row byte and every data/completeness attribute (counts_floor= capped= shown=\n"
" total= has_more= next_offset= est_tokens= at= root= graph_ambiguous= …), adds a versioned\n"
" schema id on the root (schema=\"ripwire.<verb>/v1\") and replaces the explanatory prose\n"
" with ONE <=400 B legend naming those attributes — the meanings live here and in the full\n"
" with ONE legend naming those attributes — the meanings live here and in the full\n"
" legend. DATA comments stay (the map header, pack-task's body-omitted rows, +more). Per\n"
" call this drops 2.9-5.2 KB on the navigation verbs (--edit-check 5.2 KB -> <0.4 KB);\n"
" call this drops 2.8-5.8 KB on the navigation verbs (--edit-check 6.3 KB -> 0.5 KB);\n"
" the MCP twin is the argument legend: on every XML-answering verb, where compact is\n"
" the DEFAULT and legend:\"full\" restores this prose (M1, 2026-09-05: the ten-verb MCP\n"
" edit loop pays 2,866 B of legend instead of 30,839 B). The CLI default stays full.\n"
Expand Down
Loading
Loading