Filed by the triage seat as the spec half of the objectui#5074 ruling (maintainer, 2026-08-18, verbatim 「同意」: declare viewMode and wire BOTH branches — the half-wired state, effective only under resourceView, is the worst of the three options).
Scope
Add a viewMode enum to GanttConfigSchema in packages/spec (the gantt block vocabulary — currently 17 keys, viewMode absent), with the docs/authorable-surface/pin artifacts spec-surface conventions require.
Enum members come from measurement, not invention: read GanttView's actually supported granularities in objectui (packages/plugin-gantt/src/GanttView.tsx — its viewMode component prop and defaults) before fixing the member list; declare exactly what the renderer honors, nothing speculative.
Constraints
- Clause-②: yes — this widens the accept set (a new authorable key); contract-review tier dispatch, claim carries
Clause-②: yes. - Type is Feature by the mechanical boundary test (expands the accepted vocabulary), per the ruling's explicit authorization.
- Downstream: objectui#5074 (
pm:blocked on this card) declares it on ObjectGanttSchema and wires the timeline branch, retiring the (schema as any).viewMode cast. After this lands, post the landing on objectui#5074 so its unlock scan fires. - The gantt component's other undeclared
as any reads (readOnly, markers, holidays, …) are ⛔ out of scope — they belong to objectui#5043's family track.
Refs: objectui#5074 (the ruling record and the measured half-wiring) · objectui#5057 (the README half that depends on this outcome) · objectui#5043 (the index-signature/passthrough root cause).
Filed by triage session session_pm_triage_20260818T0104Z; ruling provenance on objectui#5074.
Filed by the triage seat as the spec half of the objectui#5074 ruling (maintainer, 2026-08-18, verbatim 「同意」: declare
viewModeand wire BOTH branches — the half-wired state, effective only underresourceView, is the worst of the three options).Scope
Add a
viewModeenum toGanttConfigSchemainpackages/spec(theganttblock vocabulary — currently 17 keys,viewModeabsent), with the docs/authorable-surface/pin artifacts spec-surface conventions require.Enum members come from measurement, not invention: read
GanttView's actually supported granularities in objectui (packages/plugin-gantt/src/GanttView.tsx— itsviewModecomponent prop and defaults) before fixing the member list; declare exactly what the renderer honors, nothing speculative.Constraints
Clause-②: yes.pm:blockedon this card) declares it onObjectGanttSchemaand wires the timeline branch, retiring the(schema as any).viewModecast. After this lands, post the landing on objectui#5074 so its unlock scan fires.as anyreads (readOnly,markers,holidays, …) are ⛔ out of scope — they belong to objectui#5043's family track.Refs: objectui#5074 (the ruling record and the measured half-wiring) · objectui#5057 (the README half that depends on this outcome) · objectui#5043 (the index-signature/passthrough root cause).
Filed by triage session
session_pm_triage_20260818T0104Z; ruling provenance on objectui#5074.