Repository navigation
docs(plugin-gantt): annotate the four bare object-gantt literals (objectui#7778) - #8040
Merged
Merged
Conversation
The four remaining bare `const NAME = { type: 'object-gantt', ... }`
literals on plugin-gantt.mdx (:79 schema, :238 valueProviderGantt, :255
apiProviderGantt, :354 campaignGantt) predate PR #7471, which made
ObjectGanttSchema.objectName optional and declared `data` — removing the
TS2741 that forced them bare. Annotate each `: ObjectGanttSchema` with the
page's existing `import type` above it, in the form of the five already-
annotated siblings, so check:doc-snippets actually consults the schema
for these blocks instead of compiling them unchecked.
Fixes #7778
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FhBNJcLRZLe8M87VcUgpKr
Contributor
Author
|
Standing-down note — Generated by Claude Code |
baozhoutao
marked this pull request as ready for review
September 6, 2026 12:32
This was referenced Sep 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #7778
What moved
Annotated the four bare
object-ganttliterals oncontent/docs/plugins/plugin-gantt.mdxthat PR #7471 (objectui#6939) left uncovered once it madeObjectGanttSchema.objectNameoptional and declareddata— the TS2741 that forced them bare is gone, socheck:doc-snippetsnow actually consultsObjectGanttSchemafor these blocks instead of compiling them structurally with no target type.:81(was:79)schema("With Static Data"): ObjectGanttSchema+import typeabove:242(was:238)valueProviderGantt: ObjectGanttSchema+import typeabove:261(was:255)apiProviderGantt: ObjectGanttSchema+import typeabovedata: { provider: 'api', read: { url, method } }is a real check against the spec'sViewDataSchemadiscriminated union now, and it passes clean (noendpointkey,readshape matchesHttpRequestSchema):362(was:354)campaignGantt: ObjectGanttSchema+import typeaboveForm matches the page's five existing annotated siblings exactly (own
import type { ObjectGanttSchema } from '@object-ui/types'immediately above eachconst). No prose changed —git diff --statis 12 insertions / 4 deletions on one file, all four hunks are import-line + type-annotation only.What did NOT move, and why (premise check on the one licensed extra)
The claim seat's dispatch instructed doing the "one remaining bare literal" on
plugin-calendar.mdx:160too, described asconst schema = {, same form,ObjectCalendarSchema. Onorigin/maintoday, line 158 (immediately above that fence) already carries adoc-snippet: fragmentmarker comment, and the block itself reads:The marker's written reason: it is a shape excerpt continuing the "CalendarView Usage" block above, where the event array is written inline —
eventsis the reader's own data and is not defined in this block (measured: TS2552 x1).Two things falsify the premise: its
typeis'calendar-view', not'object-calendar'— it is aCalendarViewSchemafragment, not anObjectCalendarSchemaliteral, so annotating it: ObjectCalendarSchemawould be a straight type mismatch, not a completion of the same class. And it already carries a properdoc-snippet: fragmentmarker with a written, gate-recognized reason (eventsis the reader's own data, undefined in this excerpt) — it is not a hole incheck:doc-snippets' accounting, it is the gate's own declared-fragment mechanism working as designed. The triage's census method (bareconst NAME = {within 2 lines of atype:key) counted it without checking for a fragment marker above the fence, which is how it got flagged as a fourth completion target. Left untouched;plugin-calendar.mdxhas zero diff in this PR.Ablation (mechanism re-verification, A2)
Committed the real fix first (
aa42f8035), then mutated the newly-annotatedapiProviderGanttblock in place — injectedreadOnly: 'yes'(schema declaresreadOnly?: boolean) — ranpnpm check:doc-snippets, and restored viagit checkout HEAD -- content/docs/plugins/plugin-gantt.mdx.2c6f59c…9663ebf…(differs, mutation landed on disk)[semantic] content/docs/plugins/plugin-gantt.mdx:263:3 TS2322: Type 'string' is not assignable to type 'boolean | undefined'.—Semantic phase: 542 of 542 block(s) judged, 1 failed.2c6f59c…again (matches before),git diff HEADempty,git status --porcelainemptySemantic phase: 542 of 542 block(s) judged, 0 failed.Confirms the annotation is load-bearing: a wrong-typed key on the block the gate previously compiled unchecked now reds by name and line.
Gates (final HEAD
aa42f8035, forced build first)NODE_OPTIONS=--max-old-space-size=4096 turbo run build --filter=./packages/* --concurrency=2 --force— 39/39 successful, exit 0pnpm check:doc-snippets— exit 0,Semantic phase: 542 of 542 block(s) judged, 0 failedpnpm check:doc-fences— exit 0pnpm check:doc-types— exit 0, every documented component type registerednode scripts/check-doc-links.mjs— exit 0, links valid across 17 scan rootspnpm check:doc-example-readers— exit 0pnpm check:control-bytes— exit 0 (6452 tracked text files scanned);grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]'self-scan of both pages — no hits (grep exit 1)node scripts/check-changeset-presence.mjs— exit 0, no changeset owed (docs-only, no released package's source or contract moved)node scripts/check-governed-queue-guard.mjs --test content/docs/plugins/plugin-gantt.mdx content/docs/plugins/plugin-calendar.mdx—NOT GOVERNED, 0 of 2 matchedgit grep -l "plugin-gantt\.mdx" -- '*.test.*'— 0 hits, no pin names this page.plugin-calendar.mdxis named by 3 test files (unaffected — that page has zero diff here); ran all three viapnpm exec vitest run --maxWorkers=2 <files>— 3 files / 115 tests passedOut of scope
None filed. The corpus census (36 sites) and
plugin-charts.mdx's 10 are the triage's own explicit exclusions; nothing new was found while working this card. Theplugin-calendar.mdx:160question above is a premise correction, not a new finding requiring its own card — it's a correct, already-declared fragment, not a defect.🤖 Generated with Claude Code
https://claude.ai/code/session_01FhBNJcLRZLe8M87VcUgpKr