openpencil/apps/web/server/api/mcp
Fini baa414bded feat(ai): add_status_badge_v0 — semantic status indicator (51st tool)
Small colored dot + short label: "● Online" / "● Busy" / "● Error"
pattern. Distinguished from the more general add_badge_v0 (just a
pill label) by always having a dot.

tone enum picks dot color:
- success → emerald #10B981
- warning → amber   #F59E0B
- error   → red     #EF4444
- info    → blue    #3B82F6
- neutral → slate   #94A3B8 (default)

Dot uses `frame + cornerRadius=4`, NEVER `ellipse` — an 8×8 ellipse
is the classic "status dot via stacked ellipses" anti-pattern bait.
Keeping it a frame stays clean of rewriteLlmAntiPatterns. Regression
test locked in pen-mcp/add-status-badge-v0.test.ts.

Wired across all three paths + elements.md entry + keyword map +
examples + ab-v1/dashboard-server-status.yaml corpus prompt +
parametric builder test CASES in 7 files.

Tool count: 50 → 51. Test count: 3114 → 3138 (+24).
2026-04-22 08:50:00 +08:00
..
codegen V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
active-ping.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
document.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
document.post.ts V0.7.1 (#102) 2026-04-13 21:30:23 +08:00
events.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
exec-tool.post.ts feat(ai): add_status_badge_v0 — semantic status indicator (51st tool) 2026-04-22 08:50:00 +08:00
read-nodes.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
screenshot-response.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
screenshot.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
selection.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
selection.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
server.get.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
server.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
sync-reset.post.ts V0.7.0 (#95) 2026-04-11 23:25:13 +08:00