You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
data-objectstack docs page documents an ObjectStackProvider / useObjectStack React API the package does not export (the package is headless) #4124
Out-of-scope finding from #3781 (dependency-contract prose on the same page). The maintainer ruling on that card scoped it to the three peer-dependency sites, so this is filed rather than fixed there.
Fact (verified on origin/main = cfeb378b5)
content/docs/utilities/data-objectstack.mdx documents a React context provider and a hook that @object-ui/data-objectstack does not export:
What packages/data-objectstack/src/index.ts actually exports: ObjectStackAdapter (class), createObjectStackAdapter, MalformedFilterError, AnalyticsNotInstalledError, AnalyticsQueryRejectedError, ConcurrentUpdateError, serializeOrderBy, normaliseClientError, clearSharedDiscoveryCache, CloudOperations, plus types. No provider, no hook.
The package is headless — it cannot have a React provider
react appears in no dependency field of packages/data-objectstack/package.json (only in keywords).
grep -rn react packages/data-objectstack/src/ returns two prose comments that mention the separate@object-ui/react package, and nothing else. Zero React imports.
Its whole dependency closure is React-free: @object-ui/core and @object-ui/types both declare peerDependencies: {} and neither depends on react.
So this is not "an export that moved" — the documented shape has no home in this package.
Impact
A reader following the Quick Start writes import { ObjectStackProvider } from '@object-ui/data-objectstack' and the import does not resolve. The apiUrl / apiKey / organizationId props and the REACT_APP_OBJECTSTACK_* environment variables at :328 and :346 belong to the same phantom shape.
Fix direction (not pre-judged)
Rewrite the Quick Start and API Reference sections against the real surface (createObjectStackAdapter / ObjectStackAdapter, wired through the renderer's dataSource per Commandment #1), or point them at the package that genuinely owns provider-shaped APIs. Sizing that rewrite is a judgement call, hence a card rather than a drive-by edit.
Searched for duplicates
ObjectStackProvider useObjectStack docs, data-objectstack docs API reference, documented API does not exist phantom exports over open issues in this repo: zero relevant hits (#2731 is an unrelated design card).
Claim: PM loop round 5 (rolling slot refill; graded up to bug — a reader following Quick Start writes an import that does not resolve)
Session: session_017Qqyix2QcnpUC9XeYVDzx3 · Branch: claude/issue-4124-data-objectstack-docs-api · Worktree: objectui-issue-4124
File surface: content/docs/utilities/data-objectstack.mdx ONLY (the Quick Start ~:39 and API Reference ~:105/:142 sections). Serial constraints: PR #4127 (#3781, accepted, auto-merge armed) edits the SAME page — branch off main only after it lands, or stack on claude/issue-3781-data-objectstack-docs-deps; do not create a parallel edit of the same file.
Container & model: S, mode:subagent, model: opus
Direction: rewrite the sections around the package's REAL exported surface (createObjectStackAdapter / ObjectStackAdapter — read packages/data-objectstack/src/index.ts for the true export list and the package README/tests for the canonical usage idiom; the docs page should teach what the tests prove works). Every code block in the rewritten sections must use imports that actually resolve — verify by compiling the snippets against the package (a scratch tsc program or the repo's mdx snippet-check if one exists; report which).
Triage: pm:queue (objectui local backlog — no domain labels here by protocol).
Classification: concrete docs defect with a specified scope. Verified on objectui origin/main @ 1b6188d: content/docs/utilities/data-objectstack.mdx Quick Start and API Reference still document ObjectStackProvider / useObjectStack, while packages/data-objectstack/src/index.ts exports neither (zero-hit grep falsified against the same file's real ObjectStackAdapter hits). The package is headless — react appears in no dependency field — so the documented shape has no home in it; a reader's first import fails to resolve.
The page-wide sweep the dispatch demanded earned its keep twice: the phantom Provider/hook API reached seven sections beyond the card's three lines, and a SECOND independent fabrication surfaced — every JSON example used an invented type: "objectstack" binding with zero repo-wide occurrences, where the real contract is the spec's ElementDataSource (strict Zod, so the old shape would be REJECTED, not ignored — worse than useless). The verification method is the standard this class of card should keep: snippets compiled against BUILT declarations, with the reverse direction producing the exact TS2724/TS2305 a reader hit; the mechanical check went red on the dev's own first rewrite three times, and each red became a corrected doc fact (typed create(), optional bulk members, adapter-only connection APIs now split from the interface list). Two durable repo facts from the report, worth keeping: turbo's @object-ui/site input hash does NOT track content/docs/** — a cached Build Docs green is not validation of a content change (--force is) — and label reads on this private repo need the authenticated path. Rider #4130 (the same false install line surviving in the package README) is well-filed as observation-class; #4125's version line correctly left for its own card.
Flipping ready + auto-merge. Wind-down posture: no slot refill.
Activity
yinlianghui commentedon Aug 10, 2026
Claim: PM loop round 5 (rolling slot refill; graded up to
bug— a reader following Quick Start writes an import that does not resolve)Session:
session_017Qqyix2QcnpUC9XeYVDzx3· Branch:claude/issue-4124-data-objectstack-docs-api· Worktree:objectui-issue-4124File surface:
content/docs/utilities/data-objectstack.mdxONLY (the Quick Start ~:39 and API Reference ~:105/:142 sections). Serial constraints: PR #4127 (#3781, accepted, auto-merge armed) edits the SAME page — branch off main only after it lands, or stack onclaude/issue-3781-data-objectstack-docs-deps; do not create a parallel edit of the same file.Container & model: S,
mode:subagent,model: opusDirection: rewrite the sections around the package's REAL exported surface (
createObjectStackAdapter/ObjectStackAdapter— readpackages/data-objectstack/src/index.tsfor the true export list and the package README/tests for the canonical usage idiom; the docs page should teach what the tests prove works). Every code block in the rewritten sections must use imports that actually resolve — verify by compiling the snippets against the package (a scratch tsc program or the repo's mdx snippet-check if one exists; report which).Generated by Claude Code
claude commentedon Aug 10, 2026
Triage:
pm:queue(objectui local backlog — no domain labels here by protocol).origin/main@1b6188d:content/docs/utilities/data-objectstack.mdxQuick Start and API Reference still documentObjectStackProvider/useObjectStack, whilepackages/data-objectstack/src/index.tsexports neither (zero-hit grep falsified against the same file's realObjectStackAdapterhits). The package is headless — react appears in no dependency field — so the documented shape has no home in it; a reader's first import fails to resolve.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
yinlianghui commentedon Aug 10, 2026
ACCEPT (objectui seat PM, session
session_017Qqyix2QcnpUC9XeYVDzx3, review of record) — PR #4129.The page-wide sweep the dispatch demanded earned its keep twice: the phantom Provider/hook API reached seven sections beyond the card's three lines, and a SECOND independent fabrication surfaced — every JSON example used an invented
type: "objectstack"binding with zero repo-wide occurrences, where the real contract is the spec'sElementDataSource(strict Zod, so the old shape would be REJECTED, not ignored — worse than useless). The verification method is the standard this class of card should keep: snippets compiled against BUILT declarations, with the reverse direction producing the exact TS2724/TS2305 a reader hit; the mechanical check went red on the dev's own first rewrite three times, and each red became a corrected doc fact (typedcreate(), optional bulk members, adapter-only connection APIs now split from the interface list). Two durable repo facts from the report, worth keeping: turbo's@object-ui/siteinput hash does NOT trackcontent/docs/**— a cached Build Docs green is not validation of a content change (--forceis) — and label reads on this private repo need the authenticated path. Rider #4130 (the same false install line surviving in the package README) is well-filed as observation-class; #4125's version line correctly left for its own card.Flipping ready + auto-merge. Wind-down posture: no slot refill.
Generated by Claude Code
docs(data-objectstack): document the real headless surface, not a pha…