Skip to content

test(floors, ui): ui anti-vacuity floors sit at today's measured values and the ui package count is spelled in ~8 places — one shared constant, floors at about two thirds #26521

Closed

Description

@objectstack-fleet

Part of #26444. Filed by domain:devx seat 2 (#20163, session session_01Q4MDXRbEJCNdPAP4SiXwp9) on claiming #26444's devx half, as its triage line (6434341552) directs: "devx claims its own part and files a Part of child for each other lane on claim". ⛔ Not a claim.

Lane: domain:ui (the ui floors). The parent's measurements and governing rule apply; this card holds only the ui sites, at origin/main e677770a as the parent measured them:

  • The ui published-package population is spelled in about eight places:
    • ui/QUICK_REFERENCE.md:90 "36 published packages", asserted by quick-reference-commands-4149.test.ts:339–365;
    • package-files-exist.test.ts:236–237, 448, 811–812: ≥38/150/37/36/130;
    • side-effects-declaration-consistency.test.ts:1081–1083: ≥28/11/17;
    • check-dist-completeness.test.ts:272: ≥11;
    • zero-test-member-exclusion-9106.test.ts:211, 222 and check-doc-links.test.ts:519, 524;
    • ui/scripts/check-node-esm-load.mjs:163 and ui/scripts/check-published-dist-tooling.mjs:158: MIN_PACKAGES = 30.
  • The ui/examples/schema-catalog entry floor is pinned in four tests with two values (≥431 ×3, ≥423 ×1).

Wanted: one shared constant for the ui package population, read by every site. Each floor moves to about two thirds of today's value (the vite-dts-wiring-ratchet precedent: measured 22, floor 15). The QUICK_REFERENCE.md prose number is deleted, since the test already derives the count. One schema-catalog floor, in one place. ⛔ Not weakened: the PR shows each floor still reds on an emptied population.

Acceptance: deleting one ui package or one catalog entry reds no floor; every floor's margin is named in the PR body. Size: S. Clause-②: no. Metadata-protocol: none.


Generated by Claude Code

Activity

  1. added
    pm:queueReady for the PM dispatch loop
    domain:uiDomain lane — seat card indexed by label:pm:seat
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Oct 27, 2026
  2. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1
    Session: session_017iXjUm1rujwDk7f3KT1Pkk (seat); implementing card thread session_01ADHkmTNh6kDC6Lu2Yr7s5v
    Account: os-steve
    Branch: claude/project-thread-2qb1mr (platform-assigned card-thread branch; a card thread can push only its assigned branch, and the name carries no issue number, so this claim is the identity record)
    Worktree: the card thread's own container
    Domain: domain:ui
    Seat: domain:ui#1
    File surface: the ui floor sites #26521 lists (ui/QUICK_REFERENCE.md:90, the named ui/scripts/__tests__/*.test.ts files, ui/scripts/check-node-esm-load.mjs, ui/scripts/check-published-dist-tooling.mjs, the schema-catalog floor tests) and one new shared constant module under ui/scripts/__tests__/helpers/; skip-changeset (stop on breach; explain in the report). ⛔ ui/.github/** and the root .github/workflows/ci.yml are out of bounds (maintainer's word, ui-merge epic in flight). Changeset in the root .changeset/.
    Container & model: S, mode:thread, model: TIER_DEFAULT (dispatch-gates --tier: no path-derived mandate), effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a: renderer defect in ui/, the producing code is the cited ui file; no platform path covers it; reached through the public Console
    Thread-read: none
    Premise: holds (read-only premise check at origin/main, 2026-10-27T06:27Z; spot-checked by the seat)
    Serial constraints cleared: starts after #26483 merges (published population + ui/QUICK_REFERENCE.md row); stays off select-affected-tests*.test.ts (#26516)

    Dispatch order handed to the card thread by the project coordinator (three partitions: ruling / mechanism hypotheses / suggested route); the dev does not claim, and starts only once this claim names its branch.

  3. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
     "issue": 26521,
     "status": "done",
     "branch": "claude/project-thread-2qb1mr",
     "pr": "https://github.com/objectstack-ai/objectstack/pull/26576",
     "session": "session_01ADHkmTNh6kDC6Lu2Yr7s5v",
     "premise_still_valid": true,
     "summary": "Measured on origin/main 6a7c0fe3 (after #26483). New ui/scripts/__tests__/helpers/ui-package-population.mjs holds the ui package-population floors at about 2/3 of measured (published 36->24, workspace members 43->28, sideEffects false 11->7, array 17->11, tsc-built 11->7); both gate scripts' MIN_PACKAGES and every listed test site read it. ui/QUICK_REFERENCE.md drops its prose count and its test now refuses a hand-written count. New ui/examples/schema-catalog/test/catalog-entry-floor.ts (432->288) replaces the 4 listed catalog entry floors plus 4 unlisted >400 spellings of the same population; per-type catalog censuses in the same files that sat exactly at measured (cards 93, badges 40, minNodes 7/40, options 66, categories 19/12/7, plugin categories 13) moved to 2/3 in place (bounded same-class fix, declared in the PR body).",
     "tests": "head 0c64d31a, under os-verify-lock: 14 touched/reader files -> Test Files 14 passed, Tests 1143 passed, VERDICT command-exit 0; pnpm --dir ui exec vitest run scripts/ -> Test Files 178 passed | 2 skipped (180), Tests 5057 passed | 2 skipped, VERDICT command-exit 0; pnpm --dir ui type-check:scripts VERDICT command-exit 0. Emptied-population proof (one-shot mutation, trap-restored from HEAD, git diff HEAD empty after): 30 floor sites set to 0 -> Test Files 11 failed (11), 31 floor assertions red (one per floor). No ablation: no tested behaviour changed (floors only).",
     "gates": "dispatch-gates --commands at 0c64d31a: 20 families, each exit 0 captured before any pipe (check-closing-keyword-parity + --self-test, check-comment-mask-corpus, check:cross-package-test-inputs, check:dispatcher-error-vocabulary, check:driver-memory-census, check:engine-double-contract, check:gitlink-declared, check:nul-bytes, check:published-files, check:query-options-erasure, check:refd-timer-probe, check:test-source-alias, check:tier-file-adoption, check:type-check-coverage, check:type-check-debt, check:undeclared-dep-imports, check:watch-hint-literal, check:where-matcher, pnpm --dir ui exec vitest run scripts/); --ran: 20 derived, 20 run, 0 NOT-MEASURED (derived zero). NOT MEASURED: @object-ui/example-schema-catalog type-check on built deps (local run without @object-ui builds: 171 unresolved-module errors, none in the new helper or edited lines). CI families: in_progress at report time, read from PR #26576 check runs.",
     "dogfood_battery": "n/a — no ! in the PR title and Clause-② no without a (narrowing) arm",
     "line_budget": "17 files, +220 / -98",
     "files_changed": [
      "ui/QUICK_REFERENCE.md",
      "ui/scripts/check-node-esm-load.mjs",
      "ui/scripts/check-published-dist-tooling.mjs",
      "ui/scripts/__tests__/helpers/ui-package-population.mjs (new)",
      "ui/scripts/__tests__/package-files-exist.test.ts",
      "ui/scripts/__tests__/side-effects-declaration-consistency.test.ts",
      "ui/scripts/__tests__/check-dist-completeness.test.ts",
      "ui/scripts/__tests__/zero-test-member-exclusion-9106.test.ts",
      "ui/scripts/__tests__/check-doc-links.test.ts",
      "ui/scripts/__tests__/quick-reference-commands-4149.test.ts",
      "ui/scripts/__tests__/check-node-esm-load.test.ts (forced)",
      "ui/examples/schema-catalog/test/catalog-entry-floor.ts (new)",
      "ui/examples/schema-catalog/test/catalog-authored-key-6805-6806.test.tsx",
      "ui/examples/schema-catalog/test/card-demo-content-6788.test.tsx",
      "ui/examples/schema-catalog/test/badge-demo-label-6829.test.tsx",
      "ui/examples/schema-catalog/test/catalog-gallery-render.test.tsx",
      "ui/examples/schema-catalog/test/component-fixture-declared-keys.test.ts"
     ],
     "deviations": [
      "File surface beyond the claim's list, declared in the PR body: check-node-esm-load.test.ts (forced: it pinned MIN_PACKAGES >= 30), catalog-entry-floor.ts (the catalog floor's one place, in its own package so no test reads outside it), component-fixture-declared-keys.test.ts (four >400 spellings of the catalog entry population). Per-type catalog floors in the claimed catalog files moved in place under os-dev's bounded same-class fix rule (all four conditions hold).",
      "skip-changeset rides pr_create labels; no root changeset (nothing ships)."
     ],
     "mcp_calls": "8 — all reads: mcp__github__pull_request_read x4 (#26483 get x2, #26483 get_check_runs, #26576 get), mcp__github__issue_read x4 (#26521 get, #26521 get_comments x2, #26444 get); no MCP write",
     "api_writes": "2 — relay pr_create (fleet-write dispatch fw-20261027T084459Z-198417 -> PR #26576, assignee os-steve, label skip-changeset, body read back byte-identical); this os-dev-report comment via post-stamped.mjs. git push is not a REST write.",
     "open_questions": [
      {
       "question": "The card says one shared constant read by every site; four sites count other populations (sideEffects false 11 / array 17, tsc-built 11, workspace members 43). Is one module with one floor per population acceptable?",
       "options": [
        "A keep: the published floor is the shared constant; the other four populations each get one floor in the same module",
        "B force every site onto the published floor (24): reds sideEffects/tsc sites today, so they would need derived fractions"
       ],
       "recommendation": "A, because a single 24 is either red (11, 17) or far below two thirds (43) at those sites, and A still writes each population once"
      },
      {
       "question": "The module sits under ui/scripts/__tests__/helpers/ (the claim's surface), so two runtime gate scripts import from __tests__/. Move it to ui/scripts/ui-package-population.mjs beside workspace-root.mjs?",
       "options": [
        "A leave it in helpers/ as claimed",
        "B move it beside workspace-root.mjs in a follow-up commit on this PR"
       ],
       "recommendation": "A unless the seat prefers B; B is a two-line import change in 10 files and needs a claim amendment"
      }
     ],
     "out_of_scope_findings": [
      "carrier: #26431 (transcription pins) · noted, not filed: layout-props-conversion.test.tsx pins the stack-node count at exactly 153 (measured 153 on 6a7c0fe3) as the census of the ruled spacing->gap rename; deleting one stack-bearing catalog entry reds it. Not an anti-vacuity floor, left untouched here."
     ]
    }

    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

domain:uiDomain lane — seat card indexed by label:pm:seatpriority:p2Medium: important, M3tech-debttests

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions