openpencil/packages
Fini 6a2e80022c feat(ai-skills): mock-LLM local A/B harness (no API tokens)
Deterministic mock-LLM for local unit-level testing of the scorer
+ output-parser + apply pipeline — the same three components real
A/B runs use, minus the network.

mockLlmRaw(prompt, variant) returns the raw string a "well-
behaved" model would emit:
  - Treatment on obvious prompt → <op_tool>{...}</op_tool> naming
    expected_tool_if_any with empty args
  - Baseline → minimal batch_design DSL with a single frame role-
    stamped from must_contain_roles[0]
  - Optional + no hint → falls through to the baseline path

mockLlmParsed() skips the raw-string round-trip and returns a
ParsedOutput directly for tests pinning a specific kind. Both
respect (promptId, variant) overrides so tests can simulate
garbage / wrong-tool / empty outputs inline.

Integration test loads the real ab-v1 corpus from disk and
exercises every prompt through the full pipeline:
  corpus → mockLlmRaw → parseModelOutput → scoreRun → ScoreRow

Verifies all 4 routing outcomes (right-tool / wrong-tool /
fallback / garbage) classify correctly on mocked input. 17 test
cases; corpus sweep runs in ~6ms — fast enough to gate every
PR without slowing CI.

This is the prerequisite for future "real" A/B test runners: if
the harness misclassifies obvious mock inputs, no conclusion
from a real run would be trustworthy.
2026-04-22 10:10:00 +08:00
..
agent-native@e1f90cab96 chore(agent): bump agent-native to v0.4.0 release 2026-04-17 19:04:15 +08:00
pen-acp chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-ai-skills feat(ai-skills): mock-LLM local A/B harness (no API tokens) 2026-04-22 10:10:00 +08:00
pen-core test(pen-core): unicode normalization preservation (30 cases) 2026-04-22 10:00:00 +08:00
pen-engine chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-figma chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-mcp feat(mcp): dispatcher metrics — per-tool call/error counters 2026-04-22 10:05:00 +08:00
pen-react chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-renderer chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-sdk chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-types fix(core): design.md lives on PenDocument — kill cross-document leak 2026-04-20 00:37:31 +08:00
CLAUDE.md V0.7.0 (#95) 2026-04-11 23:25:13 +08:00