Skip to content

chore(ui-tooling): drop the dead turbo globalDependencies marker and three scripts nothing runs (slice 1 of #25920) - #26004

Merged
objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/project-thread-slsqxn
Oct 26, 2026
Merged

objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/project-thread-slsqxn

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Elon · project thread

Part of #25920 — slice 1 of the unwired-tooling cleanup. The card stays open for the slices listed at the end.

Summary

Re-measured on main 05f7758 (after the objectui merge, so every card path reads with a ui/ prefix). Of the 68 check:* / census:* names in ui/package.json, 28 are run by no root workflow; 13 of those are still referenced from the inert ui/.github/workflows (left to the ui/.github retirement), 1 is run by package build scripts, and the rest plus the test-only censuses come to about 25,000 lines of script and test. That is far over one PR, so this slice takes the dead turbo entry and the three files with no reference at all, at 1,485 changed lines (+5 / −1,480).

Per item:

  • ui/turbo.objectui.json globalDependencies → delete the entry. It named node_modules/@objectstack/spec/.spec-main-shape-gate.json, a marker only objectstack's spec injection wrote. @objectstack/spec is workspace:^ in all 33 ui manifests now and nothing in the tree writes the marker (git grep spec-main-shape outside CHANGELOGs: only this entry, one test fixture path string, and the guide paragraph). The ci-cd-pipeline guide's "What stays here" bullet, which justified the entry, is rewritten.
  • ui/scripts/eval-console.mjs → delete. A one-off Playwright probe that writes to a hard-coded path on one developer's machine. No alias, no workflow, zero references.
  • ui/scripts/release-bump.cjs → delete. A manual version bumper the changesets release lane replaced. No alias, no workflow, zero references.
  • ui/scripts/census-recorder-wait-shape.mjs + its test + fixtures/census-recorder-wait-shape/ → delete. A hand-run census (its header: "answers WHERE TO LOOK, never WHAT IS WRONG"); no alias, no workflow, nothing names it but its own test.

Nothing is wired in this PR: the triage comment on the card puts any new gate with the maintainer, so the gate-shaped scripts are listed below for a ruling instead.

Verification (head f7fda0f)

  • Exact-name git grep across the whole tree (AGENTS.md, skills, .claude, docs, every manifest) for each deleted file and alias: no hits outside the deleted files themselves. No governed text touched.
  • dispatch-gates --commands derived 18 families; all 18 run locally, all exit 0; --ran reconciliation: 18 derived, 18 run, 0 NOT MEASURED, 0 UNRUN.
  • Inventory readers: node scripts/check-ci-filter-parity.mjs exit 0 and --self-test exit 0; node scripts/pm/dispatch-gates.self-test.mjs exit 0.
  • ui suites that read the turbo config or the scripts inventory (14 files: select-type-check-scope, the five turbo-* input/output pins, turbo-task-guard-coverage, workspace-root, ci-cd-pipeline-doc, markdown-test-inputs, check-unreferenced-sources, package-scripts-vitest-projects, vitest-invocation-guard, check-dist-completeness): 14 files, 533 tests passed.
  • The 50 pnpm --dir ui run … gate commands root ci.yml runs: 43 exit 0 (check:spec-symbols, check:action-forward-parity, check:designer-field-key-parity and type-check:scripts first ran before packages/spec/dist existed and are green on a re-run after it was built). The other 7 (check:doc-examples, check:doc-json, check:doc-snippets, check:readme-exports, check:skill-examples and its --self-test, type-check:vitest-setup) stop on unbuilt @object-ui/* dist/ (each prints the missing path): NOT MEASURED locally, CI's Lint UI / Type Check UI lanes own them. None of their output names a deleted file.
  • check:commit-card-trailers --range origin/main..HEAD green.
  • No changeset: nothing under any package's published files[] changes (ui scripts, the parked turbo config and a guide page).

Remaining slices (numbers are script + test lines on 05f7758)

Delete candidates — report-only instruments no gate reads:

Script (alias) Lines Note
coverage-red-cause-census.mjs + coverage-red-cause-suspects.json 617 test-only; one markdown-test-inputs.mjs row
extract-mdx-demos.mjs 683 test-only; one-off MDX migration tool
tsconfig-test-parity-census.mjs (census:tsconfig-test-parity) 430 named as the instrument by six test comments, one tsconfig comment and ui/docs/audits/2026-09-test-tsconfig-parity-census.md; those pointers move with it
page-key-read-census.mjs (census:page-key-reads) 1,146 exit 0 by design
dollar-dialect-alias-census.mjs (census:dollar-dialect-aliases) 1,109 exit 0 by design
changeset-polarity-census.mjs (census:changeset-polarity) 3,525 exit 0 by design; includes fixtures
check-component-surface-parity.mjs (check:component-surface-parity) 2,584 exit 0 always; its header quotes a director ruling's authority order
six unbuilt CLI aliases (cli, objectui, doctor, studio, generate, g), start, site:start, test:unit, test:integration ~10 manifest lines only; build:all is already gone

Gate-shaped (exit 1 on a breach) — wire-or-delete is a maintainer ruling per the card's triage:

Script (alias) Lines
check-lint-rule-coverage.mjs 1,814
check-unused-dependencies.mjs 1,099
check-registry-bare-name-collisions.mjs 994
check-comment-mask-corpus.mjs + test-only check-hand-rolled-comment-mask.mjs 1,279 + 715
check-ui-root-lookups.mjs 785
check-pending-changeset-literals.mjs 403
body-dialect-census.mjs / body-dialect-producer-scan.mjs (ruling objectui#6771 calls the liveness reading a hard gate; imported by other scripts) 1,658 + 1,794

Kept: check:dist-completeness (run by 14 package build scripts); cross-file-line-citation-census.mjs (library of the line-citation gate). Left to the ui/.github retirement (referenced only by ui/.github/workflows): check:i18n-dead-keys, check:node-esm-load, check:published-dist, check:eager-closure, check:eager-locale-catalogues, check:sdui-registration-pins, check:governed-queue-guard, check:merge-queue-head, check:required-check-set, check:lockfile-integrity, check:lockfile-dedupe, check:changeset-claims, check:new-line-citations.

Later slice under this dispatch: the mechanical tsconfig dedupe. Not in this dispatch: the dedupe-wrapper swap (a workflow change), the vite factory, the UMD condition.

Acceptance notes

  • The ci-cd-pipeline guide's "Spec Shape Gate — moved to objectstack" section still describes spec-shape-gate.yml hourly runs that no longer exist in this repository; only the bullet this diff falsified is rewritten here.

Generated by Claude Code

🤖 Generated with Claude Code

https://claude.ai/code/session_012eXtKYmXEnCc1GExP4go12

…three scripts nothing runs

- ui/turbo.objectui.json: `globalDependencies` named
  node_modules/@objectstack/spec/.spec-main-shape-gate.json, a marker only
  objectstack's spec injection wrote. The spec is a workspace package of this
  repository now and nothing writes it; the ci-cd-pipeline guide's
  "What stays here" bullet said otherwise and is rewritten.
- ui/scripts/eval-console.mjs: a one-off Playwright probe writing to a
  hard-coded personal path; no alias, no workflow, no reference.
- ui/scripts/release-bump.cjs: a manual version bumper superseded by the
  changesets release lane; no alias, no workflow, no reference.
- ui/scripts/census-recorder-wait-shape.mjs with its test and fixtures: a
  hand-run census reachable only from its own test; nothing else names it.

Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012eXtKYmXEnCc1GExP4go12
@objectstack-fleet objectstack-fleet Bot added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Oct 26, 2026
@github-actions github-actions Bot added size/xl documentation Improvements or additions to documentation tests labels Oct 26, 2026
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

席位核对

Verdict: ACCEPT at head f7fda0f3db6725e1c2bb7b1c17e5fbc7217a1a42. It lands once CI is green, under the standing grant; it is not Tier H.

Checklist

  • PR shape: draft → main, Part of #25920 (slice 1; the card stays open for the slices the body lists). There is no closing keyword.
  • Scope: 13 files, +5/−1480. check-governed-merges --pr 26004: 0 of 13 paths hit the register, NOT governed, 1485 lines, under 3000. skip-changeset is correct: the deletions are private tooling scripts plus a docs guide paragraph, and none of it is published.
  • Contract review: not triggered. There is no packages/spec/src/**, no AGENTS.md, no skills/** and no governed text.
  • Dispatch rules kept: nothing wired (any new gate is the maintainer's call, per triage 6407915185), within the ~1500 budget, and the ui/.github-only aliases are left to that retirement.

Deletions checked against references (seat's own git grep -F at the PR head, whole tree, release notes/CHANGELOGs excluded)

  • census-recorder-wait-shape, eval-console, release-bump: 0 hits.
  • spec-main-shape-gate: one hit, ui/scripts/__tests__/select-type-check-scope.test.ts:207. It is a path string inside a fixture list for a scope selector, not a reader of the removed marker. The marker is gone and the globalDependencies entry that named it is gone.

Docs prose checked line by line (ui/content/docs/guide/ci-cd-pipeline.md)

Gates

  • CI is still converging: 12 success, 13 skipped, 13 in progress, 0 failed. I check every check on this head before flipping it ready.
  • The dev's local runs are in the report (6411972509): derived gates 18/18; ui inventory/turbo-reading suites 533/533; 7 ui gates NOT MEASURED because the dist was not built, so CI owns them.

Generated by Claude Code

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

Labels

documentation Improvements or additions to documentation size/xl skip-changeset PR has no user-facing published change; bypasses the changeset gate tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants