Skip to content

chore(objectui): bump the console pin to objectui main (past 973fc20f) before the 17.7 checklist run — carries objectui#11574, #11578, #11581 and the V1 declared-node slot #21696

Closed

Description

@objectstack-fleet

Filed by the QA lane (17.6 checklist run #21330), on the maintainer's go-ahead in session: the 17.7 pre-release checklist run must judge the Console that 17.7 will ship, so the pin moves first. ⛔ Not a release act — a .objectui-sha bump is release-adjacent work (AGENTS.md rule 15).

Measured now

Landings in the range worth naming

objectui landing commit note
objectui#11466 — a node slot and SchemaRenderer's schema take the declared-node union (V1); the dashboard envelope's object-metric retires 83e3f8377 declared breaking (!) — its ADR-0087 disposition must be answered on the bump changeset, as the previous bumps did
objectui#11574 — a grouping-field switch paints only the server's groups 2f54dca53 fixes the phantom "(empty)" groups recorded in #21625's acceptance notes
objectui#11581 / #11578 / #11576 — Create View doors share one builder; a refused save is said; chart views bind an ADR-0021 dataset b65aa5e65, f1c937966, d0097af2e view authoring
objectui#11572 / #10380 — interface / object page relay stored view config 09036173c, 068564691
objectui#11588 — grid summary footer reads currency/precision from the object field only d768c3178
objectui#11573, #11564 — AnyComponentSchema / flex child typing bdc9049ed, b10c68e58
objectui release packages b493919c7

Scope

  • Bump to objectui main at claim time, at or past 973fc20f3, with scripts/bump-objectui.sh. Re-measure each pin citation the bump moves (check:objectui-pin-citations --verify-anchors), regenerate the lockstep / SDUI manifest records, as PR chore(objectui): bump the console pin to ab1879721595 (carries objectui f624f278, b0bf413c and ab187972) #21625 did.
  • Answer the declared-breaking entries' ADR-0087 disposition on the bump changeset.
  • Browser smoke on examples/app-showcase at the new pin, including the dashboards (objectui#11466 touches the dashboard producers) and the grouping switch (objectui#11574).
  • ⛔ No objectui edit. ⛔ No ride-along code change beyond what the bump's own gates require.

Done when

The pin carries 973fc20f3 (or later objectui main) and CI + Console Pin Gate are green; the 17.7 checklist run then builds its Console from this pin.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 4, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: grade completed — priority:p1 (raised, under the release rule), area:devpath and pm:queue added. Scope confirmed

    Triage seat (objectstack-wide, seat post #6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-04T06:52Z. ⛔ Not a claim, ⛔ not a dispatch.

    Why p1, not the filed p2. This bump is the prerequisite of the 17.7 pre-release checklist run, which must judge the Console 17.7 ships, by the maintainer's go-ahead. Work the release depends on is p1.

    Scope: the card's own, confirmed.

    • Bump to objectui main at claim time, at or past 973fc20f3, through scripts/bump-objectui.sh.
    • Re-measure each citation the bump moves, and regenerate the lockstep and SDUI manifest records, as PR chore(objectui): bump the console pin to ab1879721595 (carries objectui f624f278, b0bf413c and ab187972) #21625 did.
    • objectui#11466 is declared breaking (!). Its ADR-0087 disposition is answered on the bump changeset.
    • Browser smoke on the showcase at the new pin, covering the dashboards (objectui#11466) and the grouping switch (objectui#11574).
    • ⛔ No objectui edit. ⛔ No ride-along.

    Release ordering note. objectstack's version PR #21352 is still unmerged. Whether 17.7.0 ships before or after this pin moves is the maintainer's release act. If the pin should ride 17.7.0, this bump lands before the release PR is refreshed and merged.


    Generated by Claude Code

  2. added
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    priority:p1High: required for production / M2
    and removed on Oct 4, 2026
  3. objectstack-fleet commented on Oct 4, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 52
    Session: session_01VDtqoecgES7ScQYGbFVDRv
    Branch: claude/issue-21696-objectui-pin-bump (cut from origin/main 8843505d91)
    Worktree: objectstack-issue-21696
    Domain: domain:devx
    Seat: domain:devx#1
    File surface: the card's scope, as triage confirmed it.

    Stop on a breach and explain it in the report. That includes a gate that needs a code change outside the bump's records, and a smoke that cannot run in the container. In either case, report the exact blocker, not a partial PASS.
    Container & model: M (pin bump, generated records, changeset, one browser smoke), mode:subagent, model: opus
    Clause-②: no
    Thread-read: 5977475553
    Serial constraints cleared: board read at 2026-10-04T07:51Z. No open PR touches .objectui-sha. Release ordering is the maintainer's release act, per the triage note on version PR #21352. This seat does no release act; it lands the bump and states the ordering in the landing record.

    Priority rule 3 reading: this is domain:devx's only open p1, and the 17.7 pre-release checklist run depends on it. A .changeset is a review face, so a same-form contract-review record on the landing head is owed before enqueue.


    Generated by Claude Code

  4. objectstack-fleet commented on Oct 4, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 21696,
      "status": "done",
      "branch": "claude/issue-21696-objectui-pin-bump",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/21710",
      "session": "session_01VDtqoecgES7ScQYGbFVDRv",
      "premise_still_valid": true,
      "head_sha": "a0a35cb30f9451294889f99df9d931b9d4d66d3b",
      "new_pin": "2e818d0b51ecdf8fdd9fcbf4b916bcd7fe9a9cf6",
      "range_count": 22,
      "summary": "Pin moved ab1879721595 to 2e818d0b51ec, which was objectui main at write time (past 973fc20f3, confirmed by git ls-remote just before the PR), through scripts/bump-objectui.sh with OBJECTUI_ROOT set to a read-only objectui clone; no ../objectui sibling exists in this container. The 54 asserting pin citations were re-measured by mapping every anchor through git diff -U0: the object-metric icon input in plugin-dashboard/src/index.tsx moved 269 to 281 and its registration 244 to 256, and the other cited files are byte-identical or changed away from the cited lines. The six migration entries' corpus counts were re-taken with git grep -o -F, which first reproduced every old number. The SDUI manifest record and the sdui-parser lockstep record were regenerated with the repo tooling; sdui.manifest.json itself is byte-identical (107 components, the same sha256) and the lockstep blob, codes and predicate are unchanged. The console changeset answers the ADR-0087 disposition for the range's one ! commit, objectui#11466. A browser smoke on app-showcase at the new Console found dashboards drawing, no phantom (empty) groups and no page errors. origin/main 7e0066af7a was merged through os-regen-merge.sh; it had no conflict and all 15 generated artifacts are current. No code changed outside records, citations and changesets.",
      "files_changed": [
        ".objectui-sha",
        ".changeset/console-2e818d0b51ec.md",
        ".changeset/objectui-pin-citations-2e818d0b51ec.md",
        "scripts/sdui-manifest.record.json",
        "packages/sdui-parser/objectui-lockstep.json",
        "content/docs/references/ui/view.mdx",
        "packages/spec/src/migrations/registry.ts",
        "packages/spec/src/migrations/entries/semantic/18.kernel-health-check-and-hot-reload-durations-unit-in-key.ts",
        "packages/spec/src/migrations/entries/semantic/18.kernel-runtime-config-timeout-unit-in-key.ts",
        "packages/spec/src/migrations/entries/semantic/18.logging-durations-unit-in-key.ts",
        "packages/spec/src/migrations/entries/semantic/18.system-metrics-jsdoc-durations-unit-in-key.ts",
        "packages/spec/src/migrations/entries/semantic/18.system-tracing-otel-exporter-durations-unit-in-key.ts",
        "packages/spec/src/migrations/entries/semantic/18.tenant-schema-cache-ttl-unit-in-key.ts",
        "packages/spec/src/data/api-methods-batch-conformance.test.ts",
        "packages/spec/src/kernel/functional-completeness.ts",
        "packages/spec/src/ui/action-outcome-messages.test.ts",
        "packages/spec/src/ui/action.zod.ts",
        "packages/spec/src/ui/component.test.ts",
        "packages/spec/src/ui/component.zod.ts",
        "packages/spec/src/ui/dataset.zod.ts",
        "packages/spec/src/ui/view.zod.ts"
      ],
      "breaking_entries": [
        { "objectui_pr": "objectui#11466 (PR objectui#11512)", "commit": "83e3f8377", "disposition": "not-required (no-migration-prescription): a node slot and SchemaRenderer schema prop take objectui's DeclaredNode union, a TypeScript type of objectui's own packages that no ObjectStack schema declares or references" },
        { "objectui_pr": "objectui#11466 (PR objectui#11512)", "commit": "83e3f8377", "disposition": "not-required (no-migration-prescription): an object-metric node in a dashboard widget's legacy component envelope draws the retired-format prompt; ui/dashboard.zod.ts refuses a widget's component key by name, so an ObjectStack author cannot write that form, and no example authors one" }
      ],
      "gates_run": [
        { "cmd": "node scripts/pm/dispatch-gates.mjs --commands (127 derived from the 21-path diff, the same set before and after the merge), each run", "result": "127/127 exit 0 at 378d424915 and again at a0a35cb30f; --ran: 127 derived, 127 run, 0 NOT-MEASURED, 0 UNRUN" },
        { "cmd": "OBJECTUI_ROOT=clone pnpm --filter @objectstack/spec exec tsx scripts/check-objectui-pin-citations.ts --verify-anchors", "result": "exit 0 at a0a35cb30f: 54 asserting citations match 2e818d0b5; 7 content assertions verified" },
        { "cmd": "node scripts/check-adr-0087-registration.mjs --base origin/main", "result": "exit 0: 1 declared-breaking changeset, carrying not-required (no-migration-prescription)" },
        { "cmd": "node scripts/check-changeset-no-major.mjs --base origin/main", "result": "exit 0: no major bump" },
        { "cmd": "pnpm check:objectui-bump", "result": "exit 0: 20 assertions across 5 cases" },
        { "cmd": "pnpm check:sdui-lockstep / node scripts/check-sdui-manifest.mjs / pnpm check:console-sha / pnpm check:console-injection (in the derived set)", "result": "exit 0" },
        { "cmd": "pnpm --filter @objectstack/spec check:generated (after the merge)", "result": "exit 0: all 15 artifacts current" },
        { "cmd": "pnpm --filter @objectstack/spec test", "result": "exit 0 at a0a35cb30f: 612 files, 18185 passed, 1 todo" },
        { "cmd": "pnpm --filter @objectstack/spec typecheck", "result": "exit 0" },
        { "cmd": "pnpm --filter @objectstack/sdui-parser test", "result": "exit 0: 225 passed" },
        { "cmd": "eslint --no-inline-config --format json on the 15 changed TS files", "result": "0 errors, 0 warnings. Population: eslint.config.mjs:971 **/*.{ts,...}; no type-aware linting (:328), so judgments on untouched files cannot move. Repo-wide pnpm lint is left to CI" },
        { "cmd": "Console Pin Gate local equivalent: pnpm objectui:build (build-console.sh at the pin, under os-verify-lock)", "result": "VERDICT command-exit 0; single-zod canary passed (one {major:4,minor:6,patch:5} literal); spec-injection check passed; dist ready from objectui@2e818d0b51ec" }
      ],
      "smoke": {
        "dashboards": "Four dashboards were opened at the Console built at 2e818d0b51ec. None shows a page error or a retired-format prompt. Delivery Operations: Active Projects 2, At-Risk 1, Awaiting Review 2, Total Budget 1,090,000, 4 charts; the values match REST counts on the same server (status=active 2, health=red 1, in_review 2, budget sum 1090000). Revenue Pulse: 5 tiles, 4 charts. Chart Gallery: Total Tasks 10 (matches 10 rows), 13 charts. System Overview: 4 tiles, 2 charts. Showcase object-metric page tiles also draw: My Work shows 8 / 2 / 1, Command Center shows 2 / 8 / 2 / 1 / 14 / 1.1M.",
        "grouping_switch": "Tasks list, Group, Add group field (Title), then Priority, Status, Priority. Painted groups were 10, 4 (High 3, Low 1, Medium 4, Urgent 2), 5 (2 each) and 4. Each count equals the server's groupBy query rows (10/4/5/4, all 200). (empty) groups: 0 at every step. Stuck 'Loading grid': 0. At ab1879721595 the same sequence painted 13/8/8.",
        "console_errors": "Only browser 'Failed to load resource: 404' lines for /api/v1/usage/storage (already recorded in #21625's smoke) and /favicon.ico; 0 page errors on any page.",
        "blocker": null
      },
      "sdui_lockstep_reading": "objectui packages/sdui-parser/src/validate.ts at 2e818d0b5 is byte-identical to ab1879721595. checkType (:450-466) and checkMemberTypes (:407-419) still grade type-mismatch / member-type-mismatch as severity arms.includes('enum') ? 'error' : 'warning'. This repo grades both error since PR #21678 (validate.ts :446, :506), so the #21671 gap still stands at the new pin. This repo's Known-lead note (validate.ts:336-340) names objectui's copy 'at the .objectui-sha pin' with no sha, so it stays true and needs no update; the bump route regenerates nothing there, and validate.ts was not edited.",
      "changeset": { "file": ".changeset/console-2e818d0b51ec.md (+ .changeset/objectui-pin-citations-2e818d0b51ec.md, @objectstack/spec patch)", "bump": "@objectstack/console minor (script auto level); @objectstack/spec patch" },
      "tests": "spec test 612 files / 18185 passed / 1 todo; spec typecheck exit 0; sdui-parser 225 passed; 127/127 derived gates exit 0 twice (pre- and post-merge) with --ran reconciliation clean; verify-anchors exit 0. No ablation applies: no gate or code was changed.",
      "mcp_calls": "0",
      "api_writes": "2 relay strokes: fleet-write pr_create (POST /repos/objectstack-ai/objectstack/dispatches to run 37190791940 to POST /pulls, #21710, read-back identical) and this os-dev-report comment (POST /repos/objectstack-ai/objectstack/dispatches to POST /issues/21696/comments). git push is not a REST write. No labels, no assignee, no PR body edit.",
      "open_questions": [],
      "out_of_scope_findings": [
        "carrier: none (承接者:无) - ui/component.zod.ts object-grid columns record (the warning paragraph on plugin-grid/src/useColumnSummary.ts:558-568) records a footer read that objectui#11588 (d768c3178, inside this pin) retires. It uses the historical spelling and stays true of ab1879721595. Noted in the PR's Acceptance notes, not filed.",
        "carrier: none (承接者:无) - two pin-free anchors, ObjectView.tsx:882 (view.zod.ts [#5074] block plus two view tests) and plugin-dashboard/src/index.tsx:204 (component.test.ts icon-liveness test), already read unrelated lines at ab1879721595 and shift to :936 / :214 here. They are outside the pin-citation gate's population. Unexercised drift, noted only."
      ],
      "breaches": [],
      "deviations": [
        "No PR assignee was set: the dispatch's write budget lists only pr_create, one comment and at most one body edit. A seat can mirror the card's assignee.",
        "Bump script run against a scratchpad read-only clone via OBJECTUI_ROOT (no ../objectui sibling). Lockstep regenerated from .cache/objectui-2e818d0b51ec, as #21625 did."
      ]
    }

    Generated by Claude Code

  5. objectstack-fleet commented on Oct 4, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed: PR #21710 → 100f68b77f, verified on origin/main by content at 2026-10-04T10:14Z.

    • All 21 files the PR changed are blob-identical on main to the landing head a0a35cb30f. .objectui-sha on main reads 2e818d0b51ecdf8fdd9fcbf4b916bcd7fe9a9cf6: objectui main at write time, 22 commits past ab1879721595, and past 973fc20f3.
    • Records:
      • 54 asserting pin citations were re-measured; check:objectui-pin-citations --verify-anchors passed at the new pin.
      • The six migration entries' objectui corpus counts were re-taken. objectui's tracked-file count fell from 10267 to 7579 because objectui release b493919c7 consumed 2720 changesets. The contract review confirmed this on a full clone.
      • The SDUI manifest record and the sdui-parser lockstep record were regenerated. sdui.manifest.json itself is byte-identical.
      • Every packages/spec/src hunk is comment, describe or description text.
    • Changesets:
      • @objectstack/console minor. It answers the one declared-breaking commit in the range, objectui#11466 (83e3f8377), with not-required (no-migration-prescription) for both its entries: DeclaredNode is objectui-internal, and dashboard.zod.ts refuses a widget component key by name.
      • @objectstack/spec patch, for citation text.
    • Smoke at the new Console:
      • Four dashboards draw tiles and charts, with values matching REST.
      • The grouping-field switch paints 0 "(empty)" groups; at the old pin the same sequence painted 13/8/8.
      • 0 page errors.

    Contract review (review faces: .changeset/**, non-test packages/spec/src/**, content/docs/**): PASS on landing head a0a35cb30f (5978386382).

    "Done when" is not fully met: Console Pin Gate is red, and the cause is not this PR's.

    Lockstep, for objectui's lane (#21671, not acted on): objectui's packages/sdui-parser/src/validate.ts is byte-identical across this hop. It still grades type-mismatch / member-type-mismatch by the enum arm, so the severity gap with this repo still stands.

    Release ordering: version PR #21352 is untouched. Whether 17.7.0 ships with this pin is the maintainer's release act.

    pm:dispatched removed.

    Seat domain:devx#1 · session_01VDtqoecgES7ScQYGbFVDRv


    Generated by Claude Code

  6. objectstack-fleet commented on Oct 4, 2026

    @objectstack-fleet
    ContributorAuthor

    "Done when" is now met in full. Read at 2026-10-04T11:50Z.

    This closes the one open item from the landing record above.

    Seat domain:devx#1 · session_01VDtqoecgES7ScQYGbFVDRv


    Generated by Claude Code

  7. added a commit that references this issue on Oct 7, 2026
    100f68b
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, iteratedomain:devxpriority:p1High: required for production / M2tooling

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions