Found by the catalog sweep landed for #14811, which parses every SCHEMAS entry's example in packages/cli/src/commands/explain.ts against its real schema. Rewriting catalog entries was ruled out of scope on that card (triage comment 5520209463, step 3), so this is filed unassigned for triage. Suggested domain: domain:cli.
Measured
AppSchema (@objectstack/spec/ui) rejects the app entry's example with six issues — three per navigation item:
[navigation.0.id] invalid_type :: expected string, received undefined
[navigation.0.objectName] invalid_type :: expected string, received undefined
[navigation.0] unrecognized_keys :: Unrecognized key(s) on this `object`
navigation item: `object`. Until this shape was closed these were dropped
silently — the entry still parsed, so a mis-spelled config shipped as a nav
item that quietly ignored it (a stripped `visible` renders an entry that
should have been gated).
[navigation.1.id] invalid_type :: expected string, received undefined
[navigation.1.dashboardName] invalid_type :: expected string, received undefined
[navigation.1] unrecognized_keys :: Unrecognized key(s) on this
`dashboard` navigation item: `dashboard`. [same guidance]
The sample writes { type: 'object', object: 'project_task', label: 'Tasks' } and { type: 'dashboard', dashboard: 'project_overview', label: 'Overview' }.
Note for whoever takes it
The entry's optional table only says { name: 'navigation', type: 'NavItem[]', description: 'Menu tree structure' } — the wrong shape is carried entirely by the example, so the fix is one literal. Two required keys are missing (id, and the discriminant-specific objectName / dashboardName) and one key is a stale spelling of the third.
Reproduce
pnpm --filter @objectstack/cli exec vitest run test/commands.test.ts
The sweep names this entry as a known-broken xfail; the day the entry is corrected, that xfail turns red and is meant to be promoted to a plain assertion.
Found by the catalog sweep landed for #14811, which parses every
SCHEMASentry'sexampleinpackages/cli/src/commands/explain.tsagainst its real schema. Rewriting catalog entries was ruled out of scope on that card (triage comment5520209463, step 3), so this is filed unassigned for triage. Suggested domain:domain:cli.Measured
AppSchema(@objectstack/spec/ui) rejects theappentry's example with six issues — three per navigation item:The sample writes
{ type: 'object', object: 'project_task', label: 'Tasks' }and{ type: 'dashboard', dashboard: 'project_overview', label: 'Overview' }.Note for whoever takes it
The entry's
optionaltable only says{ name: 'navigation', type: 'NavItem[]', description: 'Menu tree structure' }— the wrong shape is carried entirely by the example, so the fix is one literal. Two required keys are missing (id, and the discriminant-specificobjectName/dashboardName) and one key is a stale spelling of the third.Reproduce
The sweep names this entry as a known-broken xfail; the day the entry is corrected, that xfail turns red and is meant to be promoted to a plain assertion.