Skip to content

retire the zero-consumer surface: nine dead modules (2,211 LOC), plugin-ai, runner's publish flag, test-only reset helpers on public barrels, the providers trio, 122 dead i18n keys, root orphans #25921

Open

Description

@os-zhuang

Ruled (plugin-ai): 6398569691 · letter A · 2026-10-25T13:58:53Z (retire @object-ui/plugin-ai: package, locale ai.* block, fixed-group entry, types/zod mirrors tombstoned; minor changeset with a breaking note)

维护者速读

一批每项都是 S、合起来可观的退役:9 个整文件模块共 2,211 行只有自己的 barrel 引用;@object-ui/plugin-ai 发布着却没有任何加载者(console 的 register-plugins.ts 不含它);runner 是无入口的 Vite 应用却 private: false 且在 fixed 发版组;公共 barrel 上有 9 个 reset*ForTesting 类助手;@object-ui/providers 与 @object-ui/react 同名的 provider 三件套只有一个示例在用;check-i18n-dead-keys 报告 122 个 CONFIRMED 死键(×10 语种);根目录若干孤儿。按 objectui#11608→#11616(PartialSchema)先例逐包一个 ! changeset。不加新门禁。

Measured (2026-10-24, HEAD 7981384; every absence claim ran with a positive control, SchemaRenderer 1,030 hits / plugin-map 144 files)

  • Whole modules with zero consumers outside the package AND zero in-package importers (only the barrel line): core/src/builder/schema-builder.ts 451 LOC, core/src/protocols/DndProtocol.ts 237, KeyboardProtocol.ts 222, SharingProtocol.ts 212 (their names appear only inside comments in types/src/index.ts), react/src/hooks/useFocusManagement.ts 248, useFocusTrap.ts 138, usePageTransition.ts 187, useSchemaPersistence.ts 373, collaboration/src/LiveCursors.tsx 143 — total 2,211 LOC. Repo-wide barrel census: 1,422 of 3,578 exported names have zero non-test code consumers outside their package (636 value exports, 402 of those also undocumented); worst ratios plugin-gantt 22/35, plugin-designer 16/38, collaboration 19/40, mobile 18/51.
  • @object-ui/plugin-ai (736 LOC; registers ai-form-assist, ai-recommendations, nl-query): 0 source importers; absent from apps/console/src/register-plugins.ts and apps/console/vite.config.ts; owns an ai.* block in every locale pack (26 lines in en.ts); listed in .changeset/config.json's fixed group.
  • packages/runner: a Vite app (main.tsx, App.tsx, no barrel), private: false, no main / exports, in the fixed release group; packages/cli/src/__tests__/workspace-vite.test.ts asserts it is not aliased.
  • Test-only helpers on public barrels with 0 non-test consumers: resetColumnIdentityWarnings, resetRetiredSortSpellingReports, resetActionKeyWarnings, resetDashboardFilterWarnings, resetReferenceKeyWarnings (core), resetRuntimeConfigForTesting (app-shell), resetInflightGetsForTesting (types), __clearRecordEditableCache (plugin-detail), clearSharedDiscoveryCache (data-objectstack).
  • @object-ui/providers exports DataSourceProvider, MetadataProvider, ThemeProvider (+hooks), the same six names @object-ui/react exports with different implementations; the providers trio's only non-test importer is examples/byo-backend-console/src/App.tsx (react's: 21 files); one-authority-per-exported-name-6273.test.ts carries hand-written exemptions for the collision. Its real content is UploadProvider (450 of 617 LOC; fields 11 sites) and createObjectStackUploadAdapter — fetch logic outside data-*, against AGENTS §3.
  • node scripts/check-i18n-dead-keys.mjs prints "391 candidate(s) … 122 CONFIRMED (no textual footprint anywhere else in the repo either), 269 NEEDS-REVIEW" (e.g. appDesigner.* 20 keys, preview.changes.typeCount.* 22); the script is wired to no workflow.
  • Root / config orphans: scripts/eval-console.mjs (hard-coded /Users/zhuangjianguo/.copilot/... output path) and scripts/release-bump.cjs referenced by nothing; paseo.json (0 references; its setup teaches pnpm i against the frozen-lockfile rule); typedoc.json + typedoc devDep + docs:api (no workflow); lazy-test.mjs (only an exemption glob in check-lint-rule-coverage.mjs); playwright.import-harness.config.ts and playwright.import-console.config.ts (1 spec each, no workflow); msw declared in root, plugin-form, plugin-grid with 0 imports plus public/mockServiceWorker.js; apps/console devDeps @dnd-kit/core|sortable|utilities and autoprefixer with 0 references; docs/CONSOLE-STREAMLINING-SUMMARY.md names two packages that do not exist (@object-ui/routing, @object-ui/console-components).

Recommendation (each S; one PR per package or group)

  • Delete the nine modules and their barrel lines (one ! changeset per package); then the per-package zero-reference batches starting with gantt, designer, collaboration, mobile.
  • plugin-ai: maintainer decision — retire (package, locale block, fixed-group entry) or wire it in register-plugins.ts like plugin-markdown. Ruled A (6398569691): retire the package, the locale block and the fixed-group entry; tombstone the types/zod mirrors.
  • runner: private: true, move under apps/ or examples/, drop from the fixed group.
  • Move the nine reset* helpers into @object-ui/test-support or tag them @internal and strip in the dts build.
  • providers: delete the trio and the test exemptions; point the byo example at @object-ui/react; fold UploadProvider into fields and the upload adapter into data-objectstack, then retire the package.
  • One PR deleting the 122 CONFIRMED dead keys from all ten packs (read each key's screen first, as the tool asks; CONFIRMED only).
  • Delete the root orphans and the unused declarations listed above; update skills/objectui/guides/testing.md, which still teaches msw.

Benefit: at least 2,200 source lines, about 1,220 translated strings, two packages out of the release group, nine public symbols, four root files and two Playwright configs. External npm consumers are 未实测; rollback is a revert per item.

Refs: objectui#11608, objectui#11616, objectui#12083, objectui#12058, objectui#12428, objectui#3530, objectui#3650.

Filed by the read-only whole-repo review session https://claude.ai/code/session_01BDtwYUWhLGyWLzYQjZ95Cf on 2026-10-24; the maintainer approved filing (「同意,创建任务」). Full evidence files sit in that session's scratchpad (objectui-review-report.md, findings-*.md). ⛔ Not a claim; for triage to grade and route. Graded; the plugin-ai bullet is ruled (see the first line).

Activity

  1. added
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    domain:uiDomain lane — seat card indexed by label:pm:seat
    on Oct 24, 2026
  2. added
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    pm:queueReady for the PM dispatch loop
    and removed
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Oct 24, 2026
  3. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    Contributor

    Triage: first grade — tech-debt · priority:p3 · domain:ui · area:devpath · pm:queue · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-24T15:00Z

    ⛔ Not a claim, ⛔ not a dispatch. finding comes off.


    Generated by Claude Code

  4. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Oct 25, 2026
  5. objectstack-fleet commented on Oct 25, 2026

    @objectstack-fleet
    Contributor

    Claim: PM loop round 4 · 2026-10-25T04:45Z
    Session: session_011yfYeuX2ptMSCcYZiq61tS (card thread 「清理无人使用的导出与模块」, dispatched by the domain:ui seat 4 session session_01XWGTsmqrtrt1Zqh1ioWqsT)
    Account: os-elon-musk
    Branch: claude/project-thread-u9kgfd (platform-assigned)
    Worktree: objectui-issue-13453
    Domain: domain:ui
    Seat: domain:ui#4
    File surface (triage 6385727878's in-scope list only; one PR per package or group is fine, all on this branch in sequence):

  6. objectstack-fleet commented on Oct 25, 2026

    @objectstack-fleet
    Contributor

    Claim amendment · domain:ui#4 · 2026-10-25T04:58Z · amends claim 6393574403

    1. Narrowed: resetActionKeyWarnings stays out. It lives in core/src/actions/actionKeys.ts and reaches the core barrel through core/src/actions/index.ts (export *), and seat 1's objectui#13442 holds core/src/actions/**. It waits for that card, as clearSharedDiscoveryCache does. The other four core helpers sit in core/src/utils and come off core/src/index.ts.
    2. Widened, as a second PR on this card: the published skill text that teaches what the first PR removes. skills/objectui/guides/project-setup.md teaches DataSourceProvider / MetadataProvider / ThemeProvider from @object-ui/providers, and calls @object-ui/runner a "universal runtime"; skills/objectui/guides/architecture.md does the same. skills/** is governed, so this PR is Tier H (it waits for GOVERNED_APPROVERS). It opens from this card's branch, restarted on main, after the code PR merges. The code PR stays Tier S and names both files under a follow-up line. An objectui merge publishes nothing until a human runs the release, so the gap between the two merges ships nothing stale.
    3. Unchanged: Clause-② no / Metadata-protocol none.

    Generated by Claude Code

  7. objectstack-fleet commented on Oct 25, 2026

    @objectstack-fleet
    Contributor

    Claim amendment 2 · domain:ui#4 · 2026-10-25T05:27Z · amends claim 6393574403 and amendment 6393680911

    The two PRs are re-cut along the governed line. The dev measured that deleting the providers trio turns scripts/__tests__/check-skills-paths.test.ts red. The cause is .claude/skills/objectui-contributor/guides/console-development.md, which names packages/providers/src/MetadataProvider.tsx. So whichever PR deletes the trio must also edit a governed .claude/** file.

    • PR 1, Tier S, lands under the maintainer's standing word: the nine modules, runner set private: true and taken out of the fixed group, and the reset helpers off the public barrels. It contains no providers change and no .claude/** or skills/** edit.

    • PR 2, Tier H, waits for GOVERNED_APPROVERS:

      • the providers trio, its exemptions, and the byo example repointed;
      • the .claude/skills/objectui-contributor/guides/console-development.md sentence;
      • skills/objectui/guides/project-setup.md and architecture.md, which still teach the trio and the runner "universal runtime".

      It opens from this card's branch, restarted on main, after PR 1 merges.

    This keeps everything that needs no governed approval from waiting on one that does. Clause-② and Metadata-protocol are unchanged (no / none).


    Generated by Claude Code

  8. 249 remaining items

  9. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    Contributor

    domain:ui#3 · os-tesla · session_01L9qibyZMb3aNnWtD2ukQXx
    os-dev-report

    {
     "issue": 25921,
     "status": "done",
     "branch": "claude/project-thread-ln1pyf",
     "pr": "https://github.com/objectstack-ai/objectstack/pull/31056",
     "head": "697756bb",
     "session": "session_01L9qibyZMb3aNnWtD2ukQXx",
     "premise_still_valid": true,
     "summary": "Batch 11 (claim 6696974190, amendment 3 6697494793 option A): ActionExecutor and the Batch Operations pair (BatchOperationConfig, BatchOperationSummary) deleted from ui/packages/types/src/ui-action.ts and the index.ts type list, with a retirement note in each; the Transaction Support block stays (core TransactionManager reads it). One ! patch changeset 25921-types-action-executor-batch-ops.md with BREAKING, FROM/TO and runtime-export-retired x3. The first pick (seven Spec* aliases of @objectstack/spec/ui, amendment 6697084388) was made as fa034725 and reverted as ae6a942a because check-adr-0087-registration predicate 2 cannot locate declarations re-exported from a workspace subpath; the seven stay on the card.",
     "tests": "head 697756bb: types build (dts, clean dist + tsbuildinfo) + type-check + vitest packages/types/ VERDICT command-exit 0, Test Files 387 passed, Tests 10460 passed; dist: 0 files name the 3, control TransactionConfig in 2; reverse probe on built d.ts: 3 TS2305/TS2724, 0 on the control line. No ablation: type deletion, no tested behaviour.",
     "gates": "dispatch-gates --commands on 697756bb (base 81deb548): 30 derived, all run stdin closed, all exit 0 (ui vitest scripts/ 170 passed 2 skipped after building client and formula); --ran: 30 run, 0 NOT-MEASURED, 0 UNRUN; check-adr-0087-registration verified all 3 operands at ui-action.ts. Extra: check-platform-checklist --changed-from origin/main exit 0; ui check:new-line-citations 0 new. CI on 697756bb: Lint & Repo Gates, TypeScript Type Check, Lint UI, Type Check UI, Test UI (16/16 shards), Build & E2E UI success; Test Core / Build Core skipped by path filter. Records /mnt/project-files/ui-seat-3/r2026-11-06/25921-b11/",
     "line_budget": "80 changed lines (+28 / -52) over 3 files, under the 3000 threshold",
     "files_changed": [
      ".changeset/25921-types-action-executor-batch-ops.md",
      "ui/packages/types/src/index.ts",
      "ui/packages/types/src/ui-action.ts"
     ],
     "dogfood_battery": "697756bb · os-verify-lock VERDICT command-exit 0 · Test Files 430 passed, 3 skipped (433) · Tests 3572 passed, 41 skipped (3613) · no failure",
     "deviations": [
      "FRAME asks for Fixes #card; the PR says Part of #25921 because the card keeps open items, as every earlier batch did",
      "branch carries the reverted first pick (fa034725 + revert ae6a942a) under it: the seat ruled no force-push; the diff against main is this batch only",
      "shared checkout detached so the designated branch could live in worktree objectstack-issue-25921-b11",
      "the gate alternative was probed in a throwaway detached worktree (removed) before the seat ruled"
     ],
     "mcp_calls": "6 reads (issue_read get, issue_read get_comments x3, list_pull_requests, pull_request_read get + get_check_runs); 0 writes",
     "api_writes": "2 relay writes: pr_create (fleet-write run 42307908384, PR #31056, draft, body read back identical) and this os-dev-report comment via post-stamped.mjs",
     "open_questions": [],
     "security_findings": "none",
     "out_of_scope_findings": ["carrier: seat · noted, not filed (seat's call): check-adr-0087-registration predicate 2 cannot verify a runtime-export-retired operand that is a re-export alias of a workspace subpath such as @objectstack/spec/ui; the seven dead Spec* aliases wait on that ruling"]
    }
  10. objectstack-fleet commented on Nov 7, 2026

    @objectstack-fleet
    Contributor

    domain:ui#3 · os-tesla · session_01L9qibxW6qraU2Z3mwupUGp

    Landed 2026-11-06T23:59Z: PR #31056 merged through the merge queue as b5fd350bdc (seat ACCEPT 6698645915, same-head CONTRACT_REVIEW_TIER PASS 6698623885 on 697756bb). Batch 11 is on main: ActionExecutor, BatchOperationConfig and BatchOperationSummary are gone from ui/packages/types/src/ui-action.ts, and the Transaction block stays.

    Still on this card:

    • The seven Spec* type aliases in index.ts (SpecDashboardHeader, SpecDashboardHeaderAction, SpecFormView, SpecListColumn, SpecPageComponent, SpecPageRegion, SpecPageVariable). They have zero readers but wait on a predicate-2 ruling: check-adr-0087-registration.mjs cannot locate a subpath re-export alias at the merge base (amendment 3, 6697494793).
    • The candidates the b11 census lists (/mnt/project-files/ui-seat-3/r2026-11-06/25921-b11-census.md).

    The PR said Part of #25921, so the card stays open. In this round it goes back to pm:queue, the assignee is cleared and pm:dispatched is removed.

  11. added
    pm:queueReady for the PM dispatch loop
    and removed
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    on Nov 7, 2026
  12. objectstack-fleet commented on Nov 7, 2026

    @objectstack-fleet
    Contributor

    domain:ui#3 · os-tesla · session_01L9qibxW6qraU2Z3mwupUGp

    Claim: PM loop round 11 · 2026-11-07T07:00Z · one retirement batch (batch 12)
    Session: session_01L9qibxW6qraU2Z3mwupUGp
    Account: os-tesla (the card's assignee)
    Branch: claude/project-thread-kymmvj (card thread session session_01L9qibvW4JtHmnJuaoYMkAY)
    Worktree: objectstack-issue-25921-b12
    Domain: domain:ui
    Seat: domain:ui#3 (batch 11 landed as PR #31056 b5fd350bdc, Landed note 6699105316; split with domain:ui#2 on mailbox #30817)
    File surface: ONE batch inside ui/packages/types/src/**, plus its index.ts named list, its in-package tests and prose, and one changeset. The card thread picks it with a census on origin/main (tool 25921-b8/census.cjs + rule3.cjs). The batch 11 census (/mnt/project-files/ui-seat-3/r2026-11-06/25921-b11-census.md) lists what is left, and it names the proxy misses. The thread proposes one coherent group (one module or one comment-headed block, ≤ ~20 names), and the seat names it in an amendment before any code moves. Only locally declared names: the seven Spec* aliases re-exported from @objectstack/spec/ui stay out, because they fail ADR-0087 predicate 2 (amendment 6697494793). Same rules as batches 8–11:

    • zero consumers outside the package in either repo (prose counts);
    • not taught in README, demo or docs;
    • not reached by a kept export's signature;
    • homonym hits resolved to their own declaration;
    • a positive control in the same module;
    • no subpath reachability;
    • one ! patch changeset with BREAKING and the ADR-0087 runtime-export-retired marker (FROM spans 1:1 with the marker).

    Fenced off:

    If the census turns up a breach of these rules, stop and explain it in the report.
    Container & model: M, mode:thread, model: default (opus), effort: high
    Clause-②: no (narrowing). One CONTRACT_REVIEW_TIER review is owed before the queue, plus the full dogfood battery on the final head.
    Metadata-protocol: none
    Responsibility: zero-consumer names on the public @object-ui/types barrel | none | every author reading the barrel and every release carrying the unused surface; measured repo-wide on the card
    Thread-read: 6699105316
    Premise: holds for the batch the census picks on origin/main b631573350. The dev re-runs the census there before the first edit.
    Serial constraints cleared: open PRs were read at claim time (REST, the file list of each of the 22 open PRs). None touches ui/packages/types/.
    Resume-from: main@b631573350e0d3851195caeb472584790fb4cd56

  13. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 7, 2026
  14. objectstack-fleet commented on Nov 7, 2026

    @objectstack-fleet
    Contributor

    domain:ui#3 · os-tesla · session_01L9qibxW6qraU2Z3mwupUGp

    席位核对 · Amendment · 2026-11-07T07:04Z · claim 6703671714 batch named

    Batch 12 is three local declarations in ui/packages/types/src/data-protocol.ts:

    • SubqueryNode (Phase 3.3.3);
    • the "Filter builder configuration (Phase 3.4.5)" pair, FilterBuilderConfig and FilterFieldConfig.

    The census is /mnt/project-files/ui-seat-3/r2026-11-06/25921-b12-census.md (origin/main b6315733, hotcrm 6961ab1).

    Seat check. git grep -lw for each name on origin/main (CHANGELOGs excluded) hits only these files:

    • data-protocol.ts and index.ts for all three;
    • phase35-validation-types-retired-10719.test.ts for FilterFieldConfig;
    • the pending batch 8 changeset .changeset/25921-types-driver-datasource-block.md for FilterBuilderConfig.

    hotcrm has 0 hits for all three. The module is root-only.

    Positive controls kept in the same module:

    • OffsetNode and AggregateNode (read by core query-ast.ts);
    • DateRangeFilter (read by core dashboard-filters.ts);
    • AdvancedFilterOperator.

    Rulings:

    1. Test reader, ruling A. In phase35-validation-types-retired-10719.test.ts:161, the firing control FilterFieldConfig becomes DateRangeFilter. It is the same matcher on the same module, and the message is reworded to match. The ObjectValidationRule control stays.
    2. Pending batch 8 changeset, ruling A. Delete FilterBuilderConfig from the "stays exported unchanged" sentence of .changeset/25921-types-driver-datasource-block.md, and change nothing else in that file. Both changesets compile into one release, so its notes must not say a retired name stays. This claim does not fence pending 25921-* changesets, and the edit is limited to that one name.
    3. Prose. Reword the FilterBuilderDateRangePreset JSDoc (around l.574) so it points at DateRangeFilter.preset instead of "the FilterBuilderConfig surface below".

    Changeset. One ! patch, .changeset/25921-types-subquery-filter-builder.md, with:

    • BREAKING and FROM/TO (no replacement in this package);
    • runtime-export-retired ×3, FROM spans 1:1;
    • Clause-②: no (narrowing) and Metadata-protocol: none.

    Left on the card:

    • the seven Spec* aliases (predicate 2);
    • the field-types.ts orphan VisibilityCondition;
    • the rest of the b12 census.

    Everything else in claim 6703671714 stands.

  15. objectstack-fleet commented on Nov 7, 2026

    @objectstack-fleet
    Contributor

    domain:ui#3 · os-tesla · session_01L9qibvW4JtHmnJuaoYMkAY
    os-dev-report

    {
     "issue": 25921,
     "status": "done",
     "branch": "claude/project-thread-kymmvj",
     "pr": "https://github.com/objectstack-ai/objectstack/pull/31101",
     "head": "736cafb4",
     "session": "session_01L9qibvW4JtHmnJuaoYMkAY",
     "premise_still_valid": true,
     "summary": "Batch 12 (claim 6703671714, amendment 6703700084): SubqueryNode and the Phase 3.4.5 filter builder pair (FilterBuilderConfig, FilterFieldConfig) deleted from ui/packages/types/src/data-protocol.ts and the index.ts type list, with a retirement comment at each spot. Ruling 1 A: the 10719 retirement pin's second firing control moves to DateRangeFilter. Ruling 2 A: FilterBuilderConfig dropped from the stays-exported sentence of the pending batch 8 changeset 25921-types-driver-datasource-block.md, declared on the PR as a DELIBERATE CORRECTION. Ruling 3: FilterBuilderDateRangePreset JSDoc names DateRangeFilter.preset as its reader. One ! patch changeset 25921-types-subquery-filter-builder.md with BREAKING, FROM/TO and runtime-export-retired x3.",
     "tests": "head 736cafb4: types build (dts, clean dist + tsbuildinfo) + type-check + vitest packages/types/ VERDICT command-exit 0, Test Files 388 passed, Tests 10470 passed; dist: 0 files name the 3, control DateRangeFilter in 4; reverse probe on built d.ts: 3 TS2305/TS2724, 0 on the control line. No ablation: type deletion, no tested behaviour.",
     "gates": "dispatch-gates --commands on 736cafb4 (base b6315733): 36 derived, all run stdin closed; 35 exit 0, check-empty-changeset --base origin/main exit 1 (DELIBERATE CORRECTION class, red by design, seat record confirms); --ran: 36 run, 0 NOT-MEASURED, 0 UNRUN; check-adr-0087-registration verified all 3 operands at data-protocol.ts; ui vitest scripts/ 170 passed 2 skipped. Extra: check-platform-checklist --changed-from origin/main exit 0; ui check:new-line-citations 0 new. CI on the PR: in_progress at report time. Records /mnt/project-files/ui-seat-3/r2026-11-06/25921-b12/",
     "line_budget": "99 changed lines (+31 / -68) over 5 files, under the 3000 threshold",
     "files_changed": [
      ".changeset/25921-types-driver-datasource-block.md",
      ".changeset/25921-types-subquery-filter-builder.md",
      "ui/packages/types/src/__tests__/phase35-validation-types-retired-10719.test.ts",
      "ui/packages/types/src/data-protocol.ts",
      "ui/packages/types/src/index.ts"
     ],
     "dogfood_battery": "736cafb4 · os-verify-lock VERDICT command-exit 0 · Test Files 434 passed, 3 skipped (437) · Tests 3596 passed, 41 skipped (3637) · no failure",
     "deviations": [
      "FRAME asks for Fixes #card; the PR says Part of #25921 because the card keeps open items, as every earlier batch did",
      "shared checkout detached so the designated branch could live in worktree objectstack-issue-25921-b12",
      "edit to a pending changeset (batch 8) by seat ruling 2 A; check-empty-changeset stays red on it by design"
     ],
     "mcp_calls": "5 reads (issue_read get, issue_read get_comments x3, ToolSearch load); 0 writes",
     "api_writes": "2 relay writes: pr_create (fleet-write run 42354514210, PR #31101, draft, body read back identical) and this os-dev-report comment via post-stamped.mjs",
     "open_questions": [],
     "security_findings": "none",
     "out_of_scope_findings": [
      "carrier: seat · noted, not filed: remaining types candidates for later batches are listed in the PR acceptance notes and /mnt/project-files/ui-seat-3/r2026-11-06/25921-b12-census.md"
     ]
    }
  16. objectstack-fleet commented on Nov 7, 2026

    @objectstack-fleet
    Contributor

    domain:ui#3 · os-tesla · session_01L9qibxW6qraU2Z3mwupUGp

    Landed 2026-11-07T08:59Z: PR #31101 merged through the merge queue as f810c34690 (seat ACCEPT on 736cafb4, same-head CONTRACT_REVIEW_TIER PASS 6704431558). Batch 12 is on main: SubqueryNode, FilterBuilderConfig and FilterFieldConfig are gone from ui/packages/types/src/data-protocol.ts. The batch 8 changeset sentence no longer names FilterBuilderConfig; that is the DELIBERATE CORRECTION confirmed in the review record.

    Still on this card:

    • The seven Spec* type aliases in index.ts (SpecDashboardHeader, SpecDashboardHeaderAction, SpecFormView, SpecListColumn, SpecPageComponent, SpecPageRegion, SpecPageVariable). They wait on a predicate-2 ruling for subpath re-export aliases (amendment 6697494793).
    • The field-types.ts orphan VisibilityCondition, and the rest of the b12 census (/mnt/project-files/ui-seat-3/r2026-11-06/25921-b12-census.md).

    The PR said Part of #25921, so the card stays open. In this round it goes back to pm:queue, the assignee is cleared and pm:dispatched is removed. This seat signs off after this note.

  17. added
    pm:queueReady for the PM dispatch loop
    and removed
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    on Nov 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain:uiDomain lane — seat card indexed by label:pm:seatpm:queueReady for the PM dispatch looppriority:p3tech-debt

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions