- SKILL.md and 02 were the only files prettier still reported in this
skill; their tables carry no prettier-ignore guard like the wide ones on
06 and 15, so `prettier -w` pads the cells
- formatting only, no wording change
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- split 03's overloaded 字符串边界规则: substring read/replace/delete/insert
now sit in 字符串子串读写 with their own tags, so `截取子串` / `子串` /
`字符串区间` stop returning only weak candidates, which SKILL.md tells the
agent to treat as a fact gap even though the fact is on the page
- tag the remaining 03 section for wide strings, encoding conversion and
binary buffers; those queries used to land on the neighbouring concat
section, or on 23's binary-function overload
- add 异常处理 to 07's try-except and rename 21's H3 to 无效输入替换参数: the
matrix ErrDefine section owned that phrase and outranked try-except by
92 to a weak 11, while its own text says NAN is not an error position
- tag 03's like section for 正则表达式 and 08 for 调用父类方法 / 定义类; all
three reached the wrong section on the right page, and 定义类 could not
reach 最小类与声明位置 at all because the per-page cap was already full
- drop the redundant 可直接照写示例 under 03's 禁止项 and state the closed
interval rule as a bullet instead; a positive example does not belong in
the prohibition list
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- `--check` now requires `反例 / 不可照写` in a text fence and
`可直接照写示例` in a tsl fence; the AGENTS.md flow that extracts every
```tsl block and runs it would otherwise execute a counterexample as if
it were a valid example, and an example hidden in a text fence would
never be extracted for verification
- 10 held the only counterexample in a tsl fence (a local function call
with a trailing `with array(...)`); the rule and that fix cannot land in
separate commits or --check fails in between
- 配置片段 / 概念骨架 and 仅服务端可执行示例 stay unconstrained, since both
languages are in use for them today
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- 16's numeric literal example prints nine values but its output fragment
listed three lines; replace it with what the interpreter actually
prints, so the fragment stops contradicting the prose in the same block
- 15's keyword table listed `inherited` as reserved-but-unused, which
contradicts the `Inherited;` / `Inherited MethodName(...)` examples on
08; both run on windows-tsl and AnalyseNG.NET, so the keyword moves to
the class row and points at 08
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- flag weak candidates (no intent/heading/identifier/tag hit) and exit 2
when every candidate is weak: mis-hits used to be indistinguishable
from real hits, so the retry-with-better-terms loop never fired
- accept multiple ids per --section for batch fetch, failing atomically
on any unknown id so a partial fetch cannot pass as complete
- move query synonyms and page intent aliases to data/lexicon.json and
enforce alias/page correspondence in --check; curation data no longer
lives in the engine
- document the weak-hit rule, batch fetch and prelude-once guidance in
SKILL.md, with curation discipline in data/README.md
- drop 11_pitfalls.md, renumber the trailing pages and spread retrieval
tags across topics; lexicon keys are page filenames, so the renumbering
and the new --check rule cannot land in separate commits
lookup.py: exempt code-anchored ASCII identifiers from the mixed
zh/en gate so exact hits are no longer dropped; dedup parent/child
sections in results; validate write-prelude anchors in --check.
references: correct interpreter-verified facts (case-as-expression,
control-flow semicolons, __line__/__stack_frame, tslObjects order,
destroy timing, ErrDefine, truncated outputs), fix headings, scope
qualifiers and reversed quotes; strip dead preamble metadata from all
24 pages.
packaging: exclude __pycache__/*.pyc from playbook and bundle copies;
update build test file-count assertion to match.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>