feat(discovery): style golden queries; dimstyle/textstyle set_current and drawing_apply_standard join the lean profile
Five tuning cases for the styles surface (DDIM, the ISO-25 set-current paraphrase, the one-call drafting-standard paraphrase, the isocp text style, and the dimstyle counting question) — measured against the live catalog every one ranks top-1, so no alias vocabulary changed. The docstring count moves to seventy-one (56 tuning + 15 holdout); the holdout set is untouched. Lean decision (spec §8.2): dimstyle_set_current, textstyle_set_current and drawing_apply_standard join LEAN_TOOL_NAMES (50 -> 53); the seven authoring/list tools stay full-only and all ten stay in core (no pack claims them). Pinned by the new profile test in tests/test_styles.py, written async like the rest of that module (its module-wide asyncio mark warns on a sync test). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FKFStjEFzpGyLq5bMpWxTd
This commit is contained in:
co-authored by
Claude Opus 5
parent
a5d166f365
commit
d3ef7b45a2
@@ -932,6 +932,12 @@ LEAN_TOOL_NAMES = frozenset(
|
|||||||
"pid_symbol_insert",
|
"pid_symbol_insert",
|
||||||
"pid_line_draw",
|
"pid_line_draw",
|
||||||
"pid_graph",
|
"pid_graph",
|
||||||
|
# Styles (track E) — a lean client *uses* a style far more often than
|
||||||
|
# it authors one; drawing_apply_standard authors the whole set in one
|
||||||
|
# call when it must.
|
||||||
|
"dimstyle_set_current",
|
||||||
|
"textstyle_set_current",
|
||||||
|
"drawing_apply_standard",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"""Golden query set for tool discovery: English in, one right tool out.
|
"""Golden query set for tool discovery: English in, one right tool out.
|
||||||
|
|
||||||
Sixty-six cases (51 tuning + 15 holdout) split into a **tuning** set and a
|
Seventy-one cases (56 tuning + 15 holdout) split into a **tuning** set and a
|
||||||
**holdout** set. The split is
|
**holdout** set. The split is
|
||||||
the point of the file. Ranking work is measured against
|
the point of the file. Ranking work is measured against
|
||||||
:data:`TUNING_CASES` only; :data:`HOLDOUT_CASES` were written at the same time,
|
:data:`TUNING_CASES` only; :data:`HOLDOUT_CASES` were written at the same time,
|
||||||
@@ -143,6 +143,18 @@ TUNING_CASES: tuple[GoldenCase, ...] = (
|
|||||||
"counting",
|
"counting",
|
||||||
risk="read",
|
risk="read",
|
||||||
),
|
),
|
||||||
|
# Styles (track E). DIMSTYLE / STYLE / MLEADERSTYLE are umbrella commands
|
||||||
|
# shared by their list/create/modify/set-current tools, so the one command
|
||||||
|
# case uses the command unique to a single tool and the rest are phrased.
|
||||||
|
GoldenCase("DDIM", "dimstyle_create", "command"),
|
||||||
|
GoldenCase("make ISO-25 the current dimension style", "dimstyle_set_current", "paraphrase"),
|
||||||
|
GoldenCase(
|
||||||
|
"set the drawing up to the ISO drafting standard in one go",
|
||||||
|
"drawing_apply_standard",
|
||||||
|
"paraphrase",
|
||||||
|
),
|
||||||
|
GoldenCase("create a text style that uses the isocp font", "textstyle_create", "paraphrase"),
|
||||||
|
GoldenCase("which dimension styles are defined", "dimstyle_list", "counting", risk="read"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1716,3 +1716,20 @@ async def test_com_apply_standard_creates_both_styles_and_sets_units(com_backend
|
|||||||
assert ("ActiveTextStyle", "ISOCP") in document.calls
|
assert ("ActiveTextStyle", "ISOCP") in document.calls
|
||||||
assert document.ActiveDimStyle.Name == "ISO-25"
|
assert document.ActiveDimStyle.Name == "ISO-25"
|
||||||
assert document.variables["DIMDSEP"] == "," and document.variables["INSUNITS"] == 4
|
assert document.variables["DIMDSEP"] == "," and document.variables["INSUNITS"] == 4
|
||||||
|
|
||||||
|
|
||||||
|
# ── profile decision ────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
|
||||||
|
async def test_lean_carries_the_two_set_current_tools_and_apply_standard_only():
|
||||||
|
import server
|
||||||
|
|
||||||
|
lean = server.LEAN_TOOL_NAMES
|
||||||
|
assert {"dimstyle_set_current", "textstyle_set_current", "drawing_apply_standard"} <= lean
|
||||||
|
assert not (STYLE_TOOLS - {"dimstyle_set_current", "textstyle_set_current"}) & lean, (
|
||||||
|
"authoring and listing styles is full-profile work"
|
||||||
|
)
|
||||||
|
claimed = set().union(*server.PACK_TOOL_NAMES.values())
|
||||||
|
assert not claimed & (STYLE_TOOLS | {"drawing_apply_standard"}), (
|
||||||
|
"styles are core: no pack may claim them"
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user