Commit dbe156e
fix(agent-context): the agent-facing docs learn ADR-0052's direction split and the
Two shipped-and-wrong agent-facing surfaces. The human-facing docs were correct in both
cases — only the agent context missed the pass, which is the worse half to miss, because
an agent reads it as ground truth and acts on it without a second source.
1. @PromptStyle WAS DOCUMENTED EXACTLY BACKWARDS. capability-checklist.md claimed it "is on
`template.output` ONLY; authoring it on `template.prompt` fails load with
ERR_UNKNOWN_ATTR". The registry says the opposite — @PromptStyle is registered on
`template.prompt` (spec/metamodel/template.json:120, byte-gated at
expected-registry.json:4147). An agent following the checklist would have authored the
attribute on the one subtype where it actually fails to load, then been told by the same
file that the resulting error was impossible. The claim appeared TWICE in that block (the
inventory line and the parenthetical), so deleting either alone left it standing.
ADR-0052 Phase G swept the `metaobjects-prompts` skill and its five per-port references;
`metaobjects-codegen` and `metaobjects-audit` were missed. Both now carry the ruling: a
template subtype's axis is DIRECTION — `template.prompt` owns both halves of talking to a
model (a prompt carrying @responseRef owns the parser, the tolerant extract and the FR-010
output-format fragment), while `template.output` is outbound only and emits no parser.
The audit heuristics were the load-bearing part: five of them told an auditor to flag a
hand-rolled parser "where a `template.output` node exists", which is now the wrong node to
look for — that check would miss every real finding and manufacture false ones. All
re-keyed onto a responding `template.prompt`.
Attr inventories reconciled against the registry rather than hand-inverted, which turned up
four MORE errors the report did not mention: template.prompt was missing @PromptStyle and
@responseFormat, template.output was missing @payloadRef/@textRef/@format/@maxchars, and
template.toolcall was missing @maxtokens. The emitted TS filenames were stale too
(.output.ts is now <Name>.response.ts, plus .responseFormat.ts / .extractor.ts) — verified
against the generators, not the ADR, since an accepted ADR is a decision and the emitter is
the fact. Generator CLASS names (SpringOutputParserGenerator et al) are unchanged and kept.
2. `sources` WAS ENTIRELY ABSENT from the scaffolded agent context — `grep -c sources` on
agent-docs/body.ts returned 0 — while :225 actively asserted `.metaobjects/config.json`
"is unchanged — it still holds static project state". It holds `sources`, the release's
headline feature (config.ts:132). So every project scaffolded by `meta init` got agent
docs that could not describe where its own metadata comes from, and positively said
nothing had changed.
Adds a "Where metadata comes from" section stating the rule the feature doc reserves this
very file for: `metaobjects/` IS THE DEFAULT VALUE of `sources`, never a requirement, and
must not be assumed to exist. Covers the declaration shape, that all five commands read
the same set, that a path is read in place and never installed, four-CLI-surface support,
set-not-list ordering, and strict unknown-key rejection.
This closes the wording gap no-hardcoded-metadata-dir.test.ts's own allowlist entry
recorded as known-and-open; that reason is updated rather than left describing a gap that
no longer exists.
All five byte-gated agent-context-conformance expected trees regenerated via
sdk/scripts/regen-agent-context-conformance.ts.
Verified: sdk 278 pass / 0 fail. cli 596 pass / 2 fail — both pre-existing on main
(verify-requirements-e2e "dangling reference on status=abandoned exits 0" and
requirement-check "allowedValues"), fixed in a peer's unpushed commit, neither touched here.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>sources set1 parent 3d3695c commit dbe156e
40 files changed
Lines changed: 272 additions & 154 deletions
File tree
- agent-context/skills
- metaobjects-audit
- references
- metaobjects-codegen
- references
- fixtures/agent-context-conformance
- java-kotlin-react-tanstack/expected/.claude/skills
- metaobjects-audit
- references
- metaobjects-codegen
- references
- java-react/expected/.claude/skills
- metaobjects-audit
- references
- metaobjects-codegen
- references
- python/expected/.claude/skills
- metaobjects-audit
- references
- metaobjects-codegen
- references
- ts-react-tanstack/expected/.claude/skills
- metaobjects-audit
- references
- metaobjects-codegen
- references
- ts-requirements/expected/.claude/skills
- metaobjects-audit
- references
- metaobjects-codegen
- references
- server/typescript/packages/sdk
- src/agent-docs
- test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
347 | 347 | | |
348 | 348 | | |
349 | 349 | | |
350 | | - | |
351 | | - | |
352 | | - | |
353 | | - | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
354 | 356 | | |
355 | 357 | | |
356 | 358 | | |
| |||
477 | 479 | | |
478 | 480 | | |
479 | 481 | | |
480 | | - | |
| 482 | + | |
| 483 | + | |
481 | 484 | | |
482 | 485 | | |
483 | 486 | | |
| |||
Lines changed: 24 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
185 | 194 | | |
186 | 195 | | |
187 | 196 | | |
| |||
256 | 265 | | |
257 | 266 | | |
258 | 267 | | |
259 | | - | |
260 | | - | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
261 | 272 | | |
262 | 273 | | |
263 | 274 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
| 108 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
| 96 | + | |
96 | 97 | | |
97 | 98 | | |
98 | 99 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
104 | | - | |
| 104 | + | |
| 105 | + | |
105 | 106 | | |
106 | 107 | | |
107 | 108 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | | - | |
| 110 | + | |
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
65 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
49 | | - | |
| 48 | + | |
| 49 | + | |
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
104 | | - | |
105 | | - | |
| 104 | + | |
| 105 | + | |
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
| |||
Lines changed: 3 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
118 | | - | |
119 | | - | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
| |||
0 commit comments