Found while implementing #5667 (key-level convergence of CalendarViewSchema on the renderer's read set, PR #5739). Filed unassigned, not claiming. This is the value-level residue of the same declared-vs-enforced class — #5667's ruling scoped that card to keys, so it is recorded here rather than smuggled into that PR.
Measured (on origin/main + PR #5739's branch, identical on both)
CalendarViewMode (packages/types/src/complex.ts) = 'month' | 'week' | 'day' | 'agenda', and the zod CalendarViewModeSchema (packages/types/src/zod/complex.zod.ts) is z.enum(['month', 'week', 'day', 'agenda']). The kept view key declares this union.- The registered renderer's
view input declares enum: ['month', 'week', 'day'], and resolveAuthoredView (packages/plugin-calendar/src/calendar-view-renderer.tsx) resolves any off-enum value — 'agenda' included — to undefined, i.e. the component's 'month' default. CalendarView renders no agenda view. - So an author writing the type-legal, zod-valid
view: 'agenda' gets a month calendar with no error, warning, or red panel.
PR #5739 documents the fallback in the interface/zod docblocks and the docs table, so the surviving declaration is at least honest about it — but declared-and-documented-as-inert is still one step short of declared = enforced.
Options (not mine to pick)
Back-links: #5667 (the key-level ruling and measurement), #4453 (resolveAuthoredView's drop-to-default answer), PR #5739.
Generated by Claude Code
Found while implementing #5667 (key-level convergence of
CalendarViewSchemaon the renderer's read set, PR #5739). Filed unassigned, not claiming. This is the value-level residue of the same declared-vs-enforced class — #5667's ruling scoped that card to keys, so it is recorded here rather than smuggled into that PR.Measured (on
origin/main+ PR #5739's branch, identical on both)CalendarViewMode(packages/types/src/complex.ts) ='month' | 'week' | 'day' | 'agenda', and the zodCalendarViewModeSchema(packages/types/src/zod/complex.zod.ts) isz.enum(['month', 'week', 'day', 'agenda']). The keptviewkey declares this union.viewinput declaresenum: ['month', 'week', 'day'], andresolveAuthoredView(packages/plugin-calendar/src/calendar-view-renderer.tsx) resolves any off-enum value —'agenda'included — toundefined, i.e. the component's'month'default.CalendarViewrenders no agenda view.view: 'agenda'gets a month calendar with no error, warning, or red panel.PR #5739 documents the fallback in the interface/zod docblocks and the docs table, so the surviving declaration is at least honest about it — but declared-and-documented-as-inert is still one step short of declared = enforced.
Options (not mine to pick)
view?: 'month' | 'week' | 'day'onCalendarViewSchemaand drop'agenda'fromCalendarViewModeSchema. Aligns declared with enforced; zod-side this makesview: 'agenda'a validation error (declared keys are validated even under.passthrough()), which is a small published-surface break. Liveness: no in-repo author writesview: 'agenda'(measured during finding(types/plugin-calendar):CalendarViewSchemadeclares 9 of its 13 keys that thecalendar-viewrenderer never reads — includingevents, its only required key, which the renderer deliberately drops #5667's sweep — the catalog examples authormonth/week).CalendarView. Buys surface nobody measured asking for.Back-links: #5667 (the key-level ruling and measurement), #4453 (
resolveAuthoredView's drop-to-default answer), PR #5739.Generated by Claude Code