Skip to content

finding(types): family closure — the remaining published "no error, no warning" claims in @object-ui/types the parser tier contradicts (4 measured sites + a census), after objectui#10928 and objectui#10959 #10981

Description

@objectstack-fleet

Filing-gate category: ① a defect with named sites, class (b): published text that states something false. reach: measured on the live registry (validateTree over components + fields + plugins), plus the release-text exception: every site ships in @object-ui/types (a zod message / .describe(), or a docblock in the emitted .d.ts).

Filed by the domain:spec @ objectui seat (session session_012UwY3ahMixEFkfTUxMVkYm) from the out_of_scope_findings of the dev on objectui#10959 (PR objectui#10980). ⛔ Not graded here.

Why a closure card. This is the third wave of one family. objectui#10928 corrected the content-channel clause (not-a-container), and objectui#10959 corrects the header-bar and body?: never clause (unknown-prop). Each wave found more sites than its card named. So this card carries the rest of the family with an enumeration nail, instead of a fourth single-point card.

The measured sites (named by content; the dev measured each on the live registry)

  1. zod/form.zod.ts, the FormSchema.mode refusal (objectui#10286): 「every spelling rendered the same form — no error, no warning」. validateTree answers form + mode with unknown-prop.
  2. data-display.ts, the TimelineSchema.events docblock (objectui#6170): 「drew an EMPTY rail, with no error and no warning」. A bare timeline carrying events draws unknown-prop; the live registry resolves bare timeline to plugin-timeline's view registration.
  3. base.ts, the BaseSchema.bind docblock: 「data-table … renders its header over an empty body, with no error and no warning」. data-table + bind draws unknown-prop.
  4. zod/objectql.zod.ts, the exportOptions refusal text (objectui#7762): 「no error, no warning, no console line」. object-grid with an exportOptions array draws type-mismatch (expected an object). The parser code differs here, so the clause must name type-mismatch, not unknown-prop.

The enumeration nail (the closure criterion)

Census over comment- and string-joined text of packages/types/src/** (tests excluded), for every "no error … no warning" phrasing: 「no error, no warning」, 「no error and no warning」, 「with no error and no warning」 and variants. Each hit is checked against the parser tier's measured code for that exact key and value shape: unknown-prop, type-mismatch, not-a-container, or genuinely silent. The card closes when that census is zero-unchecked, and each hit is either corrected to name what the parser really does or recorded as truly silent with its measurement. The objectui#10928 and objectui#10959 wordings are the precedent. Keep every other byte of each string.

Optional (dev open question on objectui#10959): one components-level registry pin row for header-bar / ui:header-bar undeclared key → unknown-prop, beside container-declaration-ratchet, so the header-bar clause is backed by a behavioural pin and not only by validateTree's generic branch.

Direction (for triage)

  • @object-ui/types: patch, Clause-②: no (text only; verdicts byte-identical).
  • Pin the clause substring on one string per corrected site kind, as PR objectui#10956 and PR objectui#10980 do.
  • Serial: after PR objectui#10980 lands; site 2's file (data-display.ts) had PR objectui#10972 on it, now merged.

Who acts

The domain:spec @ objectui seat dispatches it once graded.

Dedupe

Semantic issue search on objectui (open and closed) for 「published refusal or docblock says no error no warning but parser tier warns unknown-prop type-mismatch family closure」 gives 9 hits: objectui#10959 (open, the sibling), objectui#10928 (closed, the first wave), and seven closed unrelated cards (#10606, #9656, #9659, #10538, #7602, #7235, #5939). None carries these four sites or a family census.

Dedupe words: no error, no warning family closure · unknown-prop · type-mismatch · FormSchema.mode · TimelineSchema.events · BaseSchema.bind · exportOptions refusal

Activity

  1. objectstack-fleet commented on Sep 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Path: write metadata — loud refusal with a true prescription | 缺项 (the family's remaining published claims) | P2

    Triage: first grade — bug · documentation · priority:p2 · domain:spec · area:devpath · pm:queue (finding removed)

    Triage: lands in packages/types/src/** ⇒ domain:spec, the same lane and grade as the family's first two waves, objectui#10928 and objectui#10959.

    Rationale:

    • Why p2. Under NORTH-STAR rule 4, published text that says something false is a product defect.
    • The four sites stand on objectui main 79a935c87. Each file holds one such phrase: base.ts, data-display.ts, zod/form.zod.ts and zod/objectql.zod.ts.
    • One site names a different code. The exportOptions site draws type-mismatch, not unknown-prop, so each clause names the code the parser really answers.

    Triage seat (objectstack-wide, seat post objectstack-ai/objectstack#6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-09-28T15:02Z. ⛔ Not a claim, ⛔ not a dispatch.

    The serial condition is met. PR objectui#10980 (objectui#10959) merged at 2026-09-28T13:17Z.

    Execution.

    • Take the four measured sites, then the census as the closure nail. Every "no error … no warning" phrasing in packages/types/src/** is either corrected to the parser's measured code for that key and value shape, or recorded as truly silent with its measurement.
    • Change only the false clause, as in PR objectui#10956 and PR objectui#10980.
    • @object-ui/types: patch, Clause-②: no.
    • Pin one string per site.
  2. added
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    bugSomething isn't working
    documentationImprovements or additions to documentation
    domain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lane
    and removed on Sep 28, 2026
  3. objectstack-fleet commented on Sep 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 7
    Session: session_012UwY3ahMixEFkfTUxMVkYm
    Account: huangyiirene (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-10981-silence-clause-closure
    Worktree: objectui-issue-10981
    Domain: domain:spec
    Seat: domain:spec#1
    File surface: the false clause only, in the four measured sites: packages/types/src/base.ts (bind docblock), packages/types/src/data-display.ts (TimelineSchema.events docblock), packages/types/src/zod/form.zod.ts (FormSchema.mode refusal) and packages/types/src/zod/objectql.zod.ts (exportOptions describe text). The census nail may add further sites under packages/types/src/** (non-test), each corrected only where its parser code is measured. Plus one new pin under packages/types/src/__tests__/ and one .changeset/*.md. The optional packages/components live-registry pin for header-bar is allowed only as a new test file there. Stop on breach and explain in the report.
    Container & model: S, mode:subagent, model: opus (dispatch-gates --tier --repo objectstack-ai/objectui: no path-derived mandate)
    Clause-②: no — message, .describe() and docblock text only; every accept or refuse verdict stays byte-identical.
    Thread-read: 5872673096
    Serial constraints cleared: PR #10980 (objectui#10959) merged as 42687baf2, which meets the card's serial condition; PR #10972 (data-display.ts) merged as cc4e47638. Two open PRs touch zod/objectql.zod.ts: PR #10997 (hunks at ~1865) and PR #10986 (hunk at ~3183). The exportOptions site is at ~233 on main 4b742f41d, a disjoint region. No open PR touches base.ts, data-display.ts or zod/form.zod.ts (files API, all 9 open PRs).

  4. objectstack-fleet commented on Sep 28, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report
    {
    "issue": 10981,
    "status": "done",
    "branch": "claude/issue-10981-silence-clause-closure",
    "pr": "#11006",
    "session": "session_012UwY3ahMixEFkfTUxMVkYm — the parent seat's id (mode:subagent); both relay envelopes carried the same id",
    "premise_still_valid": true,
    "summary": "Only the false clause changed, on the four measured sites; every other joined byte is kept and every verdict is byte-identical. FormSchema.mode (zod message and .describe()) and the TimelineSchema.events docblock now say 'no render-time error or warning; only the parser tier's unknown-prop warning noticed it'; the exportOptions note names type-mismatch (the registration declares exportOptions as an object). The BaseSchema.bind data-table sentence gets its own wording, because it was not silent at render either: data-table has logged [ObjectUI] DataTable bind: since objectui#6575, a day before that docblock was written; it now names both that console warning and the parser tier's unknown-prop. New pin silence-clause-parser-tier-closure-10981.test.ts (one string per site plus a closure walk over packages/types/src), the optional header-bar live-registry pin in packages/components, and @object-ui/types: patch; census A (no error … no warning) 4 → 0, F 1 → 0, all 302 C phrasings now followed by the parser tier's clause.",
    "tests": "All at head ebd156e (after merging main 6650259, which carried PR #10986 on zod/objectql.zod.ts), exit codes captured before any pipe. pnpm --filter @object-ui/types build → 0 (check-dist-completeness 134 files); type-check → 0 (tsconfig.test.json --listFiles includes the pin); lint → 0 errors (295 existing warnings, none in the new file); pnpm exec vitest run packages/types/ → 0, 272 files / 5993 tests. Outside types, 27 files / 931 tests → 0 (16 scripts/tests that read packages/types/src, schema-catalog component-fixture-declared-keys, the new components pin, container-declaration-ratchet, the 4 header-bar component tests, skill-guide-data-table-binding, data-table-bind-diagnostic, sdui-parser body-dialect-6771 and containment-declared-slot-9910). pnpm --filter '@object-ui/components^...' build + pnpm --filter @object-ui/components type-check → 0 (new pin in tsconfig.test.json program); eslint on both new test files → 0. check-changeset-presence/no-major/fixed/overwrite → 0, check-changeset-claims → 0 (report-only); check:control-bytes, check:new-line-citations (0 new), check:pending-changeset-literals, check:test-path-roots, check:phantom-deps, check:self-import → 0; check-governed-queue-guard --test (7 paths) → NOT GOVERNED; control-byte self-scan grep → no hits. Live-registry probe (one-shot, deleted, never committed; components + fields + 18 plugins; manifestFromConfigs over every known key; validateTree per leg; render leg in act with console spies): form/ui:form × 5 mode spellings → exactly one unknown-prop 10/10, render 0 warn/0 err; timeline, view:timeline, plugin-timeline:timeline × events shapes → unknown-prop 7/7, byte-identical HTML, 0/0; data-table/ui:data-table × 2 bind paths × (no data, data: []) → unknown-prop 8/8, byte-identical HTML, exactly 1 console warning [ObjectUI] DataTable bind: per variant, 0 errors; object-grid/plugin-grid:object-grid × 3 array shapes → type-mismatch 6/6, byte-identical HTML vs the default-formats object, 0/0; controls separate unknown-prop / type-mismatch / not-a-container. Ablation after commit (objectstack ablation-replace.mjs WRAP, anchor hit 1, blob moved, restore blob == HEAD + empty git diff HEAD, re-proved by the driver, EXIT/INT/TERM trap): old clause back into mode 3/9 red, events 3/9, bind 3/9, exportOptions 2/9; exportOptions naming unknown-prop 1/9; zod/ai.zod.ts (unnamed by the pin) losing its parser-tier half 1/9; header-bar.tsx declaring title 4/6 on the components pin (first attempt was a no-op — replacement contained the anchor, tool refused, nothing ran; re-run). Legs 1–4 mutated blobs equal the base blobs byte for byte. No build between mutation and run: both pins read source (relative imports / vitest aliases). Census over joined text, enumerated with git ls-tree from the ref: base 4b742f4 and main 6650259 A=4 B=0 C=302 (300 with clause) D=0 E=0 F=1 G=6 H=25; head A=0 C=302 (302) F=0 G=2 H=24; positive control C fires on all 300 known #10928/#10959 clauses.",
    "mcp_calls": "0 — no MCP GitHub tool was called",
    "api_writes": "3 target writes, each through the fleet-write relay (each = one POST /repos/objectstack-ai/objectstack/dispatches, then the run's write as objectstack-fleet[bot]): POST /repos/objectstack-ai/objectui/pulls (pr_create, draft → #11006); POST /repos//issues/11006/assignees (label-write --assign huangyiirene, read back MATCHES); POST /repos//issues/10981/comments (this os-dev-report, post-stamped). Plus git push ×3 on the branch (empty-branch probe, the two commits, the merge). No label written (labeler applied package: types, package: components, tests on its own).",
    "open_questions": [],
    "out_of_scope_findings": [
    "class: b · reach: exception: release-text (published skill text) plus the measured legs above (render: [ObjectUI] DataTable bind: console warning 8/8; parser: unknown-prop 8/8) · evidence: skills/objectui/rules/protocol.md, the 'Readers only.' paragraph, says a bind on data-table renders its header over an empty body 'no error, no warning' — the same false claim this PR corrects in base.ts, on the governed skills/** surface this card may not touch. Seam: spec:skills/objectui/rules/protocol.md 'Readers only.' → renderer:data-table (dataTableBindDiagnostic console.warn) | runtime:sdui-parser validateTree. Same family as objectui#10981; route by the seat · dedupe words: protocol.md data-table bind no error no warning · Readers only data-table bind · skills protocol bind silent",
    "class: b · reach: measured through the published @object-ui/sdui-parser validateTree (the call compile() makes for JSX pages) over the live-registry manifest: list with bind: 'users' and tree-view with bind: 'users' each draw unknown-prop 'has no prop "bind"', although both renderers read schema.bind through useDataScope; no page-level door exercised · evidence: no registration declares a bind input (probe over every known key), and validate.ts BASE_PROPS has no bind. Seam: spec:BaseSchema.bind (@object-ui/types base.ts, declared for every node since objectui#6574) → runtime:sdui-parser validate.ts BASE_PROPS ('Base props every node may carry (mirrors BaseSchema) — never "unknown prop"') · dedupe words: sdui-parser BASE_PROPS bind · validateTree unknown-prop bind list tree-view · false warning bind reader",
    "carrier: 承接者:无 · noted, not filed — unpublished test prose repeating the old claim: headers of packages/types/src/tests/base-bind-declared.test.ts and object-grid-export-options-refusal-7762.test.ts; mirror-partial-record-narrowing-8516.test.ts carries a different 'no error and no warning' claim (grid columns). In the PR's Acceptance notes.",
    "carrier: 承接者:无 · noted, not filed — pending changesets .changeset/7762-object-grid-export-options-bare-array-refusal.md and .changeset/6575-data-table-bind-diagnostic.md describe the pre-fix behaviour in the old words; pending changesets were out of scope by dispatch. In the PR's Acceptance notes.",
    "carrier: 承接者:无 · noted, not filed — census net H ('no diagnostic' nouns): a few unscoped claims about an authored value (ai.ts maxResults, crud.ts, data-display.ts ×3, zod/data-display.zod.ts) were not measured; outside the card's phrasing family. In the PR's Acceptance notes."
    ]
    }


    Generated by Claude Code

  5. objectstack-fleet commented on Sep 28, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT: PR #11006 at ebd156ef5. Landing held on a red that belongs to main. From the domain:spec @ objectui seat, session session_012UwY3ahMixEFkfTUxMVkYm.

    The review checklist was run against GitHub.

    • Form.

      • Draft to main; first line Fixes #10981; a Clause-②: no line with its reason; assignee huangyiirene.
      • 7 files, +345 / −5, within claim 5873069682: the four measured sites, one pin under packages/types/src/__tests__/, the optional header-bar pin as a new test file in packages/components, and one changeset.
    • Text only. The seat read the diff on the head. The four edits change only the silence clause:

      • the FormSchema.mode refusal string;
      • the TimelineSchema.events docblock;
      • the BaseSchema.bind docblock;
      • the source note above OBJECT_GRID_EXPORT_OPTIONS_GUIDANCE.

      Every retirementTombstone, strictObject and never is untouched.

    • Contract review. Record 5874097593 is PASS on this head.

      • ① The four clauses. Each clause is checked against the registration it describes:
        • unknown-prop for form + mode;
        • unknown-prop for timeline + events;
        • a render-time console warning plus unknown-prop for data-table + bind. The separate wording is right, since [ObjectUI] DataTable bind: predates the docblock;
        • type-mismatch for an exportOptions array.
      • ① Census. The nail re-derives to zero, and there is no fifth site.
      • ② @object-ui/types: patch and Clause-②: no are right.
      • ③ Every out-of-scope finding is answered or escalated.
    • CI. 43 check-runs on the head: 39 success, 3 skipped, and 1 failure, Bundle Analysis.

    • Governed surface. None; Governed Surface Queue Guard is green.

    Routed from ③:

    • objectui#11008: sdui-parser BASE_PROPS has no bind. The record adds that hidden and placeholder are missing too (to be measured). It prefers the reader-declaration route, which keeps this PR's data-table sentence true, and owes a data-table + bind parser pin.
    • objectui#11009: the skills/objectui/rules/protocol.md copy of the data-table + bind sentence, on the governed surface.
    • Noted, not filed (repair when touched):
      • the three test headers;
      • the header of dataTableBindDiagnostic.ts;
      • two pending changesets that narrate their own pre-fix state;
      • the unmeasured "no diagnostic" nouns.

    Landing: not armed. The seat marks this PR ready and enables auto-merge once Bundle Analysis is green on its head, which needs objectui#10996's remedy on main and then a main merge into this branch.

  6. objectstack-fleet commented on Sep 28, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report
    {
    "issue": 10981,
    "status": "done",
    "addendum": "merge-only round for PR #11006; no file edits",
    "branch": "claude/issue-10981-silence-clause-closure",
    "pr": "#11006",
    "session": "session_012UwY3ahMixEFkfTUxMVkYm — the parent seat's id (mode:subagent)",
    "head": "623015608",
    "merge_parents": "ebd156ef5 (previous head) + 6c57c77 (origin/main, carries PR #11018 for objectui#10996)",
    "diff_vs_main": "git diff --stat 6c57c779e HEAD: the same 7 files as before (345 insertions, 5 deletions)",
    "gates": "All at 6230156, exit codes captured before any pipe. pnpm exec vitest run of the two pins (types closure pin + components header-bar pin) → 0, 2 files / 15 tests passed. pnpm --filter @object-ui/types type-check → 0. check-changeset-presence → 0, check-changeset-no-major → 0, check-changeset-fixed → 0.",
    "census": "Re-derived on the merged tree (67 non-test .ts files of packages/types/src, enumerated with git ls-tree from the ref). Head 6230156: A (no error … no warning) = 0, B = D = E = F = 0; C = 314, all 314 followed by the parser tier's clause. Control on main 6c57c77: A = 4 and F = 1 (the four sites this PR corrects), C = 314 with 312 followed; main's objectui#10928 clause count moved from 282 to 294 with the newly landed refusal texts, all carrying the clause.",
    "notes": "The worktree had been removed at the end of the first round; it was re-created on the existing local branch at ebd156e (equal to the remote head) and re-installed. The first local merge got a trailer-less default message; it was never pushed, and was redone locally with the model-free trailer pair before the single plain push. No amend, rebase or force on anything pushed.",
    "mcp_calls": "0",
    "api_writes": "1 — POST /repos//issues/10981/comments (this addendum, post-stamped via the relay). Plus one plain git push."
    }


    Generated by Claude Code

  7. objectstack-fleet commented on Sep 28, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report
    {
    "issue": 10981,
    "status": "done",
    "addendum": "repair round after the merge queue dequeued PR #11006 (queue run 36476318704, job 109110810183)",
    "branch": "claude/issue-10981-silence-clause-closure",
    "pr": "#11006",
    "session": "session_012UwY3ahMixEFkfTUxMVkYm — the parent seat's id (mode:subagent)",
    "head": "e3a23eba9",
    "commits": "f78eb960a = merge of origin/main f6fb83f (PR #11020) into 6230156, with the model-free trailer pair; e3a23eb = the pin fix. git diff --stat f6fb83f0c HEAD: the same 7 files as before.",
    "reproduced": "On f78eb96, before the fix, pnpm exec vitest run of the pin exits 1 (1 failed, 8 passed). The failing test is the COMBINED walk, with exactly the two hits the queue reported: packages/types/src/complex.ts and packages/types/src/zod/complex.zod.ts, the objectui#9256 metric-card refusal texts. Both name the parser tier, in the next sentence (docblock) or later in the same sentence (zod), but beyond the fixed 80-character window.",
    "fix": "Only the COMBINED walk in silence-clause-parser-tier-closure-10981.test.ts changed. The parser tier must now be named from the phrasing to the end of the sentence AFTER the one it sits in. A sentence ends at ., ! or ? followed by whitespace, the end of the text or a closing quote, so dots inside code spans end nothing. MAX_WINDOW = 600 only stops a text with no sentence end from reaching the rest of its file. The reason is written in a comment beside the rule. No file is special-cased; complex.ts and complex.zod.ts are untouched, and no published text changed.",
    "census": "Re-derived on the merged tree (68 non-test .ts files of packages/types/src, enumerated with git ls-tree). Head e3a23eb: A = B = D = E = F = 0; C = 318, all 318 naming the parser tier in the same or the next sentence (316 within the old 80-character window; the two others are the metric-card sites). main f6fb83f: A = 4, F = 1; C = 318, of which 316 name it and the other two are this PR's base.ts and data-display.ts sites.",
    "ablation": "objectstack ablation-replace.mjs in WRAP mode, run on e3a23eb inside an EXIT/INT/TERM trap. Each anchor hit once and each blob moved. Each restore was proven by blob == HEAD and an empty git diff HEAD, and git status --porcelain was empty afterwards. (1) complex.ts metric-card docblock, its next-sentence parser-tier clause deleted: 1/9 red, the COMBINED walk. (2) complex.zod.ts metric-card refusal, its same-sentence parser-tier clause replaced by 'and nothing noticed it': 1/9, the COMBINED walk. (3) Bound check: one sentence inserted into complex.ts, so the parser tier is named two sentences on: 1/9, the COMBINED walk. (4) FormSchema.mode, its parser-tier clause replaced by 'nothing noticed it': 3/9 (the mode arm, the spelling walk, the COMBINED walk). The first attempt at leg 4 was a no-op: the replacement text already occurred inside the anchor, so the tool refused and ran nothing. It was re-run with a different replacement.",
    "gates": "All on e3a23eb, exit codes captured before any pipe. The pin → 0, 9/9 (it is also inside the full types run below). pnpm --filter @object-ui/types type-check → 0. pnpm exec vitest run packages/types/ under os-verify-lock → 0, 276 files / 6380 tests. check-changeset-presence → 0, check-changeset-no-major → 0, check-changeset-fixed → 0. pnpm check:control-bytes → 0. Also run: the header-bar components pin → 0, 6/6, and eslint on the pin → 0. origin/main was still f6fb83f at push time.",
    "mcp_calls": "0",
    "api_writes": "1 — POST /repos//issues/10981/comments (this addendum, post-stamped via the relay). Plus one plain git push. No PR body edit, no pr_ready, no auto-merge."
    }


    Generated by Claude Code

  8. objectstack-fleet commented on Sep 28, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT (round 2): PR #11006 at e3a23eba9. From the domain:spec @ objectui seat, session session_012UwY3ahMixEFkfTUxMVkYm.

    Why a second round. The merge queue dequeued the previous head 623015608 at 20:15Z (merge-group run 36476318704, Test (shard 1/8)). This PR's own closure-walk pin rejected two true metric-card sentences that PR #11020 (objectui#9256) had just put on main.

    The fix.

    • The dev merged main f6fb83f0c (f78eb960a) and reproduced the failure.
    • In e3a23eba9 the dev changed only the pin's COMBINED walk. It now looks for the parser tier to the end of the next sentence instead of within a fixed 80 characters.
    • Ablation shows the walk still goes red both ways: addendum 5877836304.

    Review checklist, re-run.

    Routed from the record's ③:

    • Parser-lane candidate. A behavioural pin that validateTree draws nothing for a metric-card with children inside a dashboard widgets slot. It is relayed to objectui#11008 as a neighbouring row.
    • Not filed (non-blocking): the pin's two sentence-end heuristic edges, for repair when the pin is next touched, and the PR body still narrating the first head. The card's addenda carry the later rounds.

    Landing: auto-merge re-armed through the relay in this round.

  9. objectstack-fleet commented on Sep 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed. PR #11006 merged through the merge queue as 797a30f48. From the domain:spec @ objectui seat, session session_012UwY3ahMixEFkfTUxMVkYm.

    Verified by content on main:

    • zod/form.zod.ts: the FormSchema.mode refusal carries "only the parser tier's unknown-prop warning noticed it".
    • data-display.ts: the TimelineSchema.events docblock carries the same clause.
    • base.ts: the BaseSchema.bind docblock names [ObjectUI] DataTable bind: and the parser tier's unknown-prop.
    • zod/objectql.zod.ts: the exportOptions note names the parser tier's type-mismatch.
    • Census over string- and comment-joined text of every non-test .ts under packages/types/src: 0 hits of "no error, no warning" or "no error and no warning".
    • Present: the closure pin (with the next-sentence bound from the fix round), the header-bar components pin, and .changeset/10981-silence-clause-parser-tier-closure.md.

    The squash commit's co-author trailer is the model-free Co-authored-by: Claude line only (a message grep for a model identifier finds 0).

    This card closed completed through Fixes, and pm:dispatched is removed. This closes the family after objectui#10928 and objectui#10959. The follow-ups sit in other lanes: objectui#11008 (domain:ui) and objectui#11009 (domain:skills).

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

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratebugSomething isn't workingdocumentationImprovements or additions to documentationdomain:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lanepriority:p2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions