Skip to content

finding(plugin-gantt): GanttConfigEx still restates 11 members the spec's GanttConfigSchema declares — two declarations of one key, and the comment that justified them was stale #6471

Description

@claude

Measured while lifting the gantt config vocabulary into @object-ui/types
(objectui#6051). Filed unassigned, observational.

The fact

packages/plugin-gantt/src/ObjectGantt.tsx declares a package-private
intersection:

typeGanttConfigEx=GanttConfig&{/* … */};

Its header used to read "Hierarchy/type fields are ObjectUI extensions on top of
the spec's GanttConfig (not yet in @objectstack/spec GanttConfigSchema)"
. That
claim was already false: rc.6's GanttConfigSchema declares 19 keys, and
packages/types/src/objectql.ts records the correction on GanttConfig itself
("it declared SIX keys and called itself canonical, while rc.6's
GanttConfigSchema declares seventeen").

objectui#6051 lifted the nine members that genuinely had no home in
@object-ui/types and corrected the header. Eleven restatements remain, and
every one of them is a spec-declared key:

parentField, typeField, baselineStartField, baselineEndField,
groupByField, resourceView, assigneeField, effortField, capacity,
quickFilters, autoZoomToFilter

They were left in place deliberately rather than deleted: their JSDoc is the only
prose in this repo describing what the renderer does with each key, and deleting
the members would delete the documentation with them.

Why it is worth a card

Two declarations of one key can disagree. quickFilters and timeSegments are
NARROWINGS and load-bearing (they pin the plugin's runtime types,
QuickFilterDef[] / ShiftSegmentsConfig) — those should stay. The other nine
are pure duplicates whose types happen to match today, with nothing asserting
that they still will after a spec bump.

What a fix would look like

Either move the surviving JSDoc onto GanttConfig in @object-ui/types and drop
the duplicate members, or add a type-level pin asserting each restated member is
mutually assignable with its GanttConfig twin. Not urgent, and not a behaviour
change either way.

Related: objectui#6051.

Generated by Claude Code


Generated by Claude Code

Metadata

Metadata

Assignees

Labels

domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpm:dispatched

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions