Skip to content

Commit dc0eb09

Browse files
committed
Merge remote-tracking branch 'origin/main' into worktree-persistence-conformance-v1
2 parents 1a33f03 + 1588034 commit dc0eb09

18 files changed

Lines changed: 3917 additions & 284 deletions

File tree

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,35 @@ here. The format follows [Keep a Changelog](https://keepachangelog.com/), and
55
this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
66
(pre-1.0; MINOR bumps may introduce breaking changes with notice).
77

8+
## [Unreleased]
9+
10+
### Added
11+
- **`outputParser()` stock generator** in `@metaobjectsdev/codegen-ts/generators`
12+
for every declared `template.output`, emits a typed Zod parser file with a
13+
dual-API surface (`parseXxx(text)` throws, `safeParseXxx(text)` returns
14+
Result). Field-type → Zod-type mapping covers all scalars, arrays, and
15+
nested `field.object` with `@objectRef`. The emitted file is self-contained
16+
(no cross-file payload import) and exports a `<TemplateName>Data` type-alias
17+
derived via `z.infer`; consumers who also wire `promptRender()` can use the
18+
payload-VO interface from `prompts.ts` interchangeably (structurally
19+
identical). Wire it into `metaobjects.config.ts`:
20+
`generators: [..., outputParser()]`.
21+
- **`meta verify` extension** for `template.output` drift — the build-time
22+
drift gate now checks both subtypes. Output diagnostics carry `(output)`
23+
prefix; prompt diagnostics gain `(prompt)` prefix for symmetry.
24+
- **Conformance fixture `template-output-simple`** — shared cross-language
25+
corpus gains `input/meta.npc.json`, `expected.json`, and
26+
`expected/NpcResponseOutput.output.ts` byte-exact codegen artifact. TS
27+
conformance runner verifies `outputParser()`'s output matches.
28+
29+
### Changed
30+
- `meta verify` log line format adds `(<subtype>)` after the template name
31+
(e.g., `[npcTurn] (prompt) ERR_*`). A pre-FR6 log scraper that matched
32+
on the bare `[name]` prefix needs to update its regex.
33+
34+
See [ADR-0010](spec/decisions/ADR-0010-template-output-parser-codegen.md)
35+
for the cross-port design.
36+
837
## [0.6.0] — 2026-05-25
938

1039
### Added

docs/superpowers/plans/2026-05-25-fr2-param-passing-queries.md

Lines changed: 1089 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)