Commit a7586cd
spec: inline view arms of the runtime write door require the object binding (#8089)
* spec: inline view arms of the runtime write door require the object binding (#7741)
Direction B per the maintainer ruling of 2026-08-12: the two flattened
overlay members of ViewMetadataSchema now require object + viewKind —
the exact pair the object-bound read paths filter on (GET
/meta/view?object= in rest-server.ts and getViewsByObject() in
metadata-manager.ts both match v.viewKind && v.object === obj) — so an
inline config that could never be served is refused at the door, draft
and active alike, with located guidance that reuses defineView's
existing wrap prescription instead of forking a second copy.
Personalization PUTs are unaffected: normalizeViewMetadata inherits
viewKind/object/label from the shadowed registry entry (#2555) before
validation, so a console pin/sort/hide PUT on a real view arrives
bound. The body this refuses is the baseline-less one — the dead row
QA run #7695 measured being stored and badged valid:true.
Union membership (#6391) is preserved: four arms, same order, same
JSON-Schema anyOf face; the arms' required set is the only move.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0123k4cam2jEAkPmbJeoaY3r
* test: re-spell consumer view fixtures to the bound inline form (#7741)
Fixture triage across the wire union's consumption radius: every consumer
test writing an inline view body through saveMetaItem now carries the
object + viewKind binding the arms require — the post-normalize shape a
real shadowing write always had. Two deliberate inversions ride along:
objectql's 'plain name-stamp with no entry to inherit from' pin (that
save IS the #7741 dead row and now 422s with the located guidance,
asserting code INVALID_METADATA + status 422), and the diagnostics
lean-overlay pin (an unbound stored row is badged invalid now).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0123k4cam2jEAkPmbJeoaY3r
* test: bind the two runtime control view fixtures (#7741)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0123k4cam2jEAkPmbJeoaY3r
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent d62f8eb commit a7586cd
41 files changed
Lines changed: 591 additions & 94 deletions
File tree
- .changeset
- packages
- metadata-protocol/src
- objectql/src
- rest/src
- runtime/src
- spec/src
- kernel
- ui
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 8 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
192 | | - | |
193 | | - | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
194 | 200 | | |
195 | 201 | | |
196 | 202 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| 198 | + | |
198 | 199 | | |
199 | 200 | | |
200 | 201 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
| 201 | + | |
201 | 202 | | |
202 | 203 | | |
203 | 204 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
330 | 330 | | |
331 | 331 | | |
332 | 332 | | |
| 333 | + | |
333 | 334 | | |
334 | 335 | | |
335 | 336 | | |
| |||
452 | 453 | | |
453 | 454 | | |
454 | 455 | | |
| 456 | + | |
455 | 457 | | |
456 | 458 | | |
457 | 459 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
| 181 | + | |
181 | 182 | | |
182 | 183 | | |
183 | 184 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
204 | | - | |
| 204 | + | |
| 205 | + | |
205 | 206 | | |
206 | 207 | | |
207 | 208 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
266 | 266 | | |
267 | 267 | | |
268 | 268 | | |
| 269 | + | |
269 | 270 | | |
270 | 271 | | |
271 | 272 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
393 | | - | |
| 393 | + | |
| 394 | + | |
394 | 395 | | |
395 | 396 | | |
396 | 397 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
| 147 | + | |
147 | 148 | | |
148 | 149 | | |
149 | 150 | | |
| |||
0 commit comments