Skip to content

spec: declare viewMode on GanttConfigSchema — the contract half of objectui#5074's ruled both-branches wiring #9463

Description

@os-zhuang

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions