v0.6.21 — cleanup batch (AGENTS.md + empty state + placeholder audit)
v0.6.21 — Cleanup batch (AGENTS.md + empty state dedup + placeholder audit)
A small user-flagged cleanup release that closes three leftover
P2/P3 items. No new features, no schema bump; this is a
hotfix-shaped release that nudges a few long-standing paper cuts
and adds a regression test so the placeholder audit doesn't
drift again.
What's in the box
- AGENTS.md version drift fixed. Two places (the "30 秒
判断题" header and the "Last updated" footer) saidv0.6.14
even though the project is at v0.6.20. Bumped both. /usageempty state no longer duplicates its hint. The
usage.emptytitle used to re-state the "run pi with a real
model" message thatusage.empty.hintalready said, so the
user saw the actionable message twice. Now the title is a
short descriptive label and the hint carries the actionable
step alone.- Placeholder parameter audit closed. v0.6.16 closed 8 of
15 historical placeholder mismatches between en and zh but
punted the rest. v0.6.21 closes the last 7:- 2 hardcoded-
"1"in en singular keys (blockCount.one,
packageCount.one) — both now use{n}like their
*.othercounterparts - 5 en-only plural-suffix placeholders (
{s}/{es})
— dropped in favor of always-plural English - 1 zh missing
{n}(tools.subtitle) — added
- 2 hardcoded-
- Regression test added.
tests/i18n.test.tsnow has a
placeholder consistency across localesblock that walks
every key in both en and zh, asserts the placeholder sets
match, and dumps the full offender list on failure.
Files touched (7)
| Area | Files |
|---|---|
| Docs | AGENTS.md (2 version refs), CHANGELOG.md (v0.6.21 entry) |
| i18n | web/src/lib/i18n/dict.en.ts (5 strings), web/src/lib/i18n/dict.zh.ts (1 string) |
| Tests | web/tests/i18n.test.ts (1 new describe block) |
| Versions | package.json, web/package.json (both → 0.6.21) |
Backlog after v0.6.21
v0.6.22— block-center avoidance (real A* grid router on
top of the v0.6.20routeenum) + hooks 抽离- per-direction palette (e.g. "all forward connections get this
color") — deferred; per-edge is the v0.6.19 minimum