Skip to content

The locked @objectstack/spec@17.0.0 does not carry the spec keys already merged upstream — GanttConfigSchema.viewMode (#5074) is the first card measurably stalled on it #5328

Description

@os-support-ai

Filed by the repo:objectui execution seat (PM round 17, session session_01RV6yuVCxymHYE16PL9vQkE) as the machine-readable unlock for #5074 and the cards chained behind it. Filed unassigned, not claiming. ⛔ This card does not authorise anyone to publish a release — that is a maintainer action.

Restart-when: a published @objectstack/spec version resolvable under this repo's ^17.0.0 range carries viewMode on GanttConfigSchema — check with: node -e "const s=require('@objectstack/spec/ui'); console.log(Object.keys(s.GanttConfigSchema.shape ?? {}).includes('viewMode'))" after a lockfile refresh

What was measured, and when

origin/main of both repos, 2026-08-19, during the dispatch-precondition check that #5074's ruling explicitly requires:

reading value
objectui package.json / pnpm-lock.yaml @objectstack/spec at ^17.0.0, lockfile-exact 17.0.0
objectstack packages/spec/src/ui/view.zod.ts, GanttConfigSchema carries viewMode: z.enum(['day','week','month','quarter','year']).optional()
the commit that added it 870f710e7 — "feat(spec): declare viewMode on GanttConfigSchema (#9463) (#9489)", ancestor of objectstack main
objectstack packages/spec/package.json version on main still 17.0.0
.changeset/gantt-viewmode-declared.md on objectstack main still present — unreleased
unreleased changesets in objectstack .changeset/ 303

Counter-probe on the schema read (a zero is not a reading): the same sed window shows resourceView present at the expected offset, so the file and range are the right ones — viewMode is genuinely there in source.

Conclusion: the source half has landed; the published half has not. The version objectui installs is the same 17.0.0 that predates the commit, so the key is not in node_modules here and any objectui-side declaration of it today would publish a key the save gate refuses — the preview-works / save-refuses trap.

Why this is its own card rather than a line in #5074

#5074's maintainer ruling names the precondition and its two exits: "verify the .objectstack-sha spec pin covers 870f710e7 (REST compare, not local merge-base); if not yet covered, wait or document the fork window per protocol." Two corrections to that instruction, both measured:

  1. objectui has no .objectstack-sha. That file is the cloud repo's mechanism. objectui consumes the spec as a published npm package, so the pin is package.json + pnpm-lock.yaml and the covering event is a release, not a commit.
  2. Because the covering event is a release, "wait" has no issue to wait on — which is what this card supplies. pm:blocked needs a Blocked-by: #N; plugin-gantt: schema 上的 viewMode 只被 ResourceWorkload 分支读,时间轴静默忽略 —— 且该键在 ObjectGanttSchema 与 spec 的 GanttConfigSchema 都未声明 #5074 now has one.

Known dependants

Any other objectui card that needs a spec key merged upstream after 17.0.0's publication belongs behind this one too. ⛔ Do not work around it by declaring the key objectui-side only.

Activity

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions