Commit f4b8926
feat(platform-objects): lock studio & account apps with ADR-0010 full protection
Studio and Account shipped without a protection block, so tenant
overlay writes to PUT /api/v1/meta/app/{studio,account} succeeded —
the NavigationSyncEffect bug in objectui demonstrated the hazard by
writing auto-navigation into these system apps. Both are core platform
UI in the same class as Setup (which already carries lock: 'full'):
- studio: the metadata workbench — a broken overlay locks implementers
out of the very surface used to repair metadata
- account: every authenticated user's only self-service security
surface (sessions / API keys / linked accounts)
The loader translates protection into the _lock envelope; objectui's
isNavigationSyncableApp already filters on _lock ∈ {full, no-overlay},
so client behavior is automatically correct. Setup-style navigation
contributions are unaffected (registration-time in-memory merge, not
overlay writes).
Adds a regression test pinning lock: 'full' on all three platform apps.
Verified end-to-end on a rebuilt showcase stack: GET /api/v1/meta/app
now serves _lock: "full" for setup, studio, and account.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 8950204 commit f4b8926
3 files changed
Lines changed: 38 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
41 | 51 | | |
42 | 52 | | |
43 | 53 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
37 | 46 | | |
38 | 47 | | |
39 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | | - | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
159 | 177 | | |
160 | 178 | | |
161 | 179 | | |
| |||
0 commit comments