Skip to content

chore(objectui): move the console pin from 0707b4ae3712 to the newest green objectui main — the first pin past objectui#12957 (749ed760), the end-to-end verification of #24306 and of ruling B on objectui#12955 #24457

Closed

Description

@objectstack-fleet

Filing gate: execution of a ruling, on the maintainer's order. In objectui domain:ui seat 1's session (session_0188TsgPV8kQXfuRuKmkj2ks), the maintainer wrote, verbatim: 「你继续负责验证。.objectui-sha 可以升级到最新」. That follows 「你负责派发处理相关的issue,包括 objectstack 和 objectui 并测试确认。」 on ruling B (6248859734) on objectstack-ai/objectui#12955. This card is #24306's done-when item 5: "the .objectui-sha bump that follows is this card's verification". Filed by, and dispatched by, that seat.

domain:devx seat 1, which made the previous moves (#24283, #24134 and earlier), declared on #24306 (6249015145) that it would not move the pin past objectui#12957's merge while #24306 was open. This card makes that move, so that seat has nothing to hold.

Measured at filing

  • objectstack main's .objectui-sha is 0707b4ae37120d45d6401170666a0b76cb7a3546 (PR chore(objectui): move the console pin from 5e15928b4631 to 0707b4ae3712, the newest green objectui main #24311). That commit is before objectui 749ed760, the merge of objectui#12957.
  • objectui main was 09eadf4e1c at filing: it contains 749ed760, and is 31 commits past the pin.
  • check-governed-merges --test on the shape of the previous move (.objectui-sha, sdui.manifest.json, scripts/sdui-manifest.record.json, packages/sdui-parser/objectui-lockstep.json, one changeset): not governed.

Done when

  1. scripts/bump-objectui.sh moves .objectui-sha to the newest objectui main commit that is green, read at the move: its commits/SHA/check-runs show completed with no failure. The commit contains 749ed760. The changeset, sdui.manifest.json, scripts/sdui-manifest.record.json and packages/sdui-parser/objectui-lockstep.json are regenerated by the script, not by hand.
  2. The console build takes the new path end to end. The local equivalent of the Console Pin Gate, run as PR chore(objectui): move the console pin from f8267df93aba to 5e15928b4631 before 18.0.0-next.3 #24144 and PR chore(objectui): move the console pin from 5e15928b4631 to 0707b4ae3712, the newest green objectui main #24311 ran it, shows:
  3. CI proves it. The Console Pin Gate is full battery only. ci.yml:93-98 and the job's if: exclude pull_request and merge_group, so neither the PR nor the queue runs it. Its first run on this move is the main push run after the merge. That run is read and linked on this card. If it is red, it is a main-red this card owns: fix it, or revert the move at once.
    • If the relay can dispatch ci.yml (workflow_dispatch) on the PR branch, its full-battery run is read before ready. Otherwise mark it NOT MEASURED.
  4. ⛔ Not a release act: the Version Packages PR is not touched and no release workflow is dispatched.

Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 19, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 8 · on the maintainer's order in objectui domain:ui seat 1's session, verbatim 「你继续负责验证。.objectui-sha 可以升级到最新」, executing #24306's done-when item 5 and the end-to-end verification of ruling B (6248859734) on objectstack-ai/objectui#12955 · domain:devx card dispatched by domain:ui seat 1 on that order
    Session: session_0188TsgPV8kQXfuRuKmkj2ks
    Account: sunhaolin (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-24457-objectui-pin-past-12957
    Worktree: objectstack-issue-24457
    Domain: domain:devx (on the maintainer's order to domain:ui seat 1)
    Seat: domain:ui#1
    File surface: exactly what scripts/bump-objectui.sh writes. That is .objectui-sha, its generated changeset, sdui.manifest.json, scripts/sdui-manifest.record.json and packages/sdui-parser/objectui-lockstep.json (the shape of PR #24311).

    • Any other file that the move turns red is NOT edited here; stop and report it.
    • ⛔ Not in scope: scripts/build-console.sh, any workflow, objectstack-ai/objectui, and the Version Packages PR.

    Stop on breach; explain in the report.
    Container & model: M, mode:subagent, model: opus (default tier: a cross-repo pin move whose verification is the deliverable)
    Clause-②: no
    Clause-② reason: the move changes which objectui commit the vendored console is built from. No objectstack export, prop, key or schema moves. The @objectstack/sdui-parser lockstep record is regenerated by the bump script, as on every earlier move.
    Responsibility: n/a — not a defect card
    Thread-read: none
    Serial constraints cleared: read at objectstack main 725a5b1311.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 19, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report
    {
    "issue": 24457,
    "status": "done",
    "branch": "claude/issue-24457-objectui-pin-past-12957",
    "pr": "#24476",
    "session": "session_0188TsgPV8kQXfuRuKmkj2ks — subagent, the parent's (claim 6259854748)",
    "premise_still_valid": true,
    "summary": "Moved .objectui-sha from 0707b4ae3712 to 4016370af3c9c9dafec2bc5299afd8e8079701b8 (objectui PR #13018), objectui main's tip and the newest green commit at the move: REST check-runs, all pages, 104 completed (101 success, 3 skipped, 0 failure) at 2026-10-19T05:06:51Z, after a foreground wait for its last 20 in-progress runs; bump at 05:06:59Z with scripts/bump-objectui.sh --no-commit against a full scratch clone (OBJECTUI_ROOT; the shared ../objectui was never written). git merge-base --is-ancestor 749ed7607614 4016370af3c9 exit 0 (control, reverse, exit 1). The console build took build-console.sh's .objectstack-sha branch end to end: closure build with declarations, then OBJECTSTACK_ROOT=this tree node scripts/objectstack-pin.mjs build in the objectui checkout, then the frozen install, then objectui's tsc-first builds and the console build; all seven installed @objectstack/* dists equal packages/NAME/dist, 0 registry-resolved @objectstack keys. Everything generated came from the script and the generators (changeset renamed to the card prefix as PR #24311 did; its ADR-0087 placeholder, which the generator requires a human to answer, answered not-required against this tree). The branch was merged with origin/main twice before the PR opened, and the whole Console Pin Gate equivalent was re-run fresh at the PR head 4289f44, which carries the spec retirement #24442 (feat(spec)!): green, so no contract difference between this tree and the new pin was found.",
    "tests": "No package source changed, so no package test/typecheck is owed. CONSOLE PIN GATE LOCAL EQUIVALENT, run 3 at the PR head 4289f44 (fresh build tree and dist), each exit before any pipe: pnpm install --frozen-lockfile 0; pnpm exec turbo run build --filter=@objectstack/client... --concurrency=2 36/36, lock VERDICT command-exit 0; OBJECTUI_ROOT=SCRATCH bash scripts/build-console.sh lock VERDICT command-exit 0 (held 481 s): log order = 'installs @objectstack/client ... @objectstack/types by commit — building them here', closure 36/36, 'OBJECTSTACK_ROOT is set: packing @objectstack/* from /home/user/objectstack-issue-24457, standing in for the pin 2c9bf94', 'pack 7 package(s): 15.8s', 'Lockfile is up to date', 'Done in 6.5s', objectui deps 34/34 (12 packages tsc-first; console tsc && vite build), '8956 modules transformed', canary import/jobs present, single zod {major:4,minor:6,patch:7} over 2258 assets, 'no observable skew', 'dist ready (65352 KB) from objectui@4016370af3c9'; the ci.yml dist assertion script verbatim exit 0; pnpm check:console-sha exit 0; pnpm check:console-injection --require-stamp exit 0; node scripts/gen-sdui-manifest-node.mjs exit 0, byte-identical to the committed pair (porcelain 0 lines). ITEM 3 at 4289f44: .stamp.json source external, root = worktree, sha 4289f44, dirty false; 7 .pnpm @objectstack entries, all file+node_modules+.cache+objectstack; diff -rq installed dist vs packages/NAME/dist exit 0 for spec, core, types, client, formula, sdui-parser, lint (control spec vs core exit 1); build-tree lockfile cmp-identical to objectui's committed one, 0 registry-resolved @objectstack keys, 14 file: keys (pattern control: objectui's lockfile at 0707b4ae3712 counts 14). Two-sided assert-console-spec-injection.mjs against npm @objectstack/spec@18.0.0-next.3 on a dist copy: exit 0, 16/16 injected-only present, 1/1 published-only absent. Witnesses in the bundle: #24442's new row describes and #24427's nav-item visible describe, 1 asset each, 0 in npm next.3, 0 in packages/spec/src before each commit. ZONE 2 #2: objectui's .objectstack-sha still 2c9bf94; dependency/optional/peer NAMES of all seven identical between objectstack 2c9bf94 and this tree (versions next.3 to next.4 only); the pin script's lockfile check passed (exit 0 before the install). Runs 1 (4dd6c40, base 725a5b1, produced the committed manifest) and 2 (b089906, merged 26501ae, fresh tree) gave the same readings, all exit 0. SECOND HALF: gen-sdui-manifest-node exit 0 (107 components, sha256 c6b03966dae9; record:related_list and record:quick_actions descriptions moved, from objectui 78b07f468 and 1d3da6c1e); check-sdui-lockstep exit 1 before ([pin-moved]), OBJECTUI_ROOT=.cache/objectui-4016370af3c9 pnpm gen:sdui-lockstep exit 0, pnpm check:sdui-lockstep exit 0 (grammar blob 0131f27cf86d and predicate blob 76c18fb95d1f unchanged, no port owed); OBJECTUI_ROOT=BUILD_TREE node scripts/check-sdui-manifest.mjs exit 0 (version leg checked, @object-ui 17.7.0). No ablation: no tested behaviour changed.",
    "gates": "Local, at the PR head 4289f44: node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands (no paths; 5 paths vs merge base ec951e2, three-dot) derived 72; all 72 run, exit codes captured before any pipe: 71 exit 0; pnpm check:dual-build-cjs-loads exit 3 PREREQUISITE NOT MET (needs a whole-tree pnpm build; this diff changes no package dist), NOT MEASURED locally. --ran reconciliation: '72 derived famil(ies) accounted for — 71 run, 1 NOT-MEASURED (1 DERIVED from a recorded exit 3)', exit 0. Same 72, same result, at b089906. Added: pnpm check:objectui-bump exit 0 (20 assertions, 5 cases), pnpm check:objectui-changeset exit 0. check-governed-merges.mjs --test on the 5 paths: NOT governed (0 of 5). CI on PR #24476 at 4289f44, read 06:21Z, 23 check-runs: success = Check Documentation Links, No other open PR may claim the same issue, Part-of PR must not also close its card; skipped = Packed-tarball smoke (opt-in); in_progress, NOT MEASURED = Check Changeset, Check PR Size, Flag docs affected by code changes, Governed Surface Queue Guard, Lint (CI, release & engine gates; ESLint; PM dispatch-gates; docs & code guards; repo & tooling gates; three scoped lanes), No other open PR may claim the same single-writer path, The card this PR closes must claim this branch, Type Check (consumer gates, debt ledger, source gates, workspace), filter. Console Pin Gate: NOT MEASURED pre-merge (ci.yml THE TWO SPEEDS and the job's if: exclude pull_request and merge_group; the relay's WORKFLOW_DISPATCH_ALLOWLIST holds only shard-timings-refresh.yml and release.yml). Its first CI run is main's full battery after the merge (the .objectui-sha change misses the console-dist key, so it builds fresh); the seat reads it.",
    "mcp_calls": "0 — no MCP GitHub tool was called",
    "api_writes": "2 strokes through the fleet-write relay, each one POST /repos/objectstack-ai/objectstack/dispatches executed as objectstack-fleet[bot]: (1) pr_create = POST /repos/objectstack-ai/objectstack/pulls (draft) + POST /repos//issues/24476/assignees (sunhaolin); read back 16555 bytes sent and stored, identical, draft true, assignee sunhaolin. (2) this os-dev-report comment = POST /repos//issues/24457/comments. git push not counted. No label, card-assignee or PATCH writes.",
    "deviations": [
    "The dispatch named 'dispatch-gates.mjs --paths FINAL_FILE_LIST'; the tool has no --paths flag and the os-dev definition says to pass no paths. Ran it with no paths: it derived exactly the PR's 5 files from git (three-dot), so the list is the same.",
    "The CI job's turbo --concurrency=4 ran as 2 (container resource rule); build-console.sh ran with OBJECTUI_ROOT naming a full scratch clone where CI shallow-clones, because with OBJECTUI_ROOT unset this worktree's sibling ../objectui is the shared checkout.",
    "origin/main moved twice while measuring; the branch merged it twice before the PR opened (26501ae, then ec951e2 with the spec retirement #24442) and re-ran everything fresh each time. At the final derivation main was 4 commits further (31ce45c); not merged again, by the post-open rule (merge main only on conflict, main-caused red or queue removal).",
    "The changeset's ADR-0087 marker and its Clause-② line were written by hand: the generator emits an unanswered placeholder and states a human must answer it (ADR_0087_SCAFFOLD, objectstack#6494), as PR #24311 also did. Its list and level are the generator's, untouched.",
    "Commit trailers use AGENTS.md's model-free pair, not the harness reminder's model-named Co-Authored-By. The two merge commits carry none.",
    "Scratch removed before this comment: the objectui scratch clone, the build tree .cache (1.9 GB), packages/console/dist, the npm tarball and the dist copy; disk back to 23G free. The worktree /home/user/objectstack-issue-24457 (node_modules first) is removed after this comment."
    ],
    "open_questions": [],
    "out_of_scope_findings": [
    "承接者:无 · noted in the PR's Acceptance notes only · scripts/build-console.sh and bump-objectui.sh default to the sibling ../objectui when OBJECTUI_ROOT is unset; in the agent worktree layout that is the shared checkout, and the build adds a git worktree to it and may fetch into it (working tree and HEAD untouched). Documented sibling layout, not a defect.",
    "承接者:无 · noted only · objectui 46dbf32bf57f was passed over: two of its check-runs ended cancelled (Repo Gates, Bundle Analysis), so they never reached a verdict; read as not green.",
    "carrier: domain:ui seat 1 (#24306's report, open question 1) · noted, not filed · the console-dist cache key still covers only the spec's manifest of the seven packages now installed from this tree; not re-raised."
    ]
    }


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 19, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed · objectui domain:ui seat 1 · session_0188TsgPV8kQXfuRuKmkj2ks · 2026-10-19T08:18Z

    PR #24476 merged through the merge queue as 3b086e76ff. Its one parent is ae6bd1a696, and the merge is an ancestor of origin/main.

    probe value
    merge diff vs the reviewed diff (git patch-id --stable) identical to the ACCEPT head 4289f447b1 (6bf1555e; 5 files, +80 / −10)
    .objectui-sha on main 4016370af3c9c9dafec2bc5299afd8e8079701b8, a descendant of objectui 749ed760
    a model name in the merge commit's message 0

    The CI proof (done-when item 3). The first main run of the Console Pin Gate on a commit that carries this merge is job 117953834692, on ce2e08ee3b: success. Its log, read in full (5000 lines):

    • Cache not found for input keys: Linux-console-dist-d942c904…: a fresh build, not a restored dist;
    • shallow-cloning … objectui.git at 4016370af3c9;
    • objectui@4016370af3c9 installs @objectstack/client @objectstack/core @objectstack/formula @objectstack/lint @objectstack/sdui-parser @objectstack/spec @objectstack/types by commit — building them here;
    • OBJECTSTACK_ROOT is set: packing @objectstack/* from /home/runner/work/objectstack/objectstack, standing in for the pin 2c9bf9430a11, then pack 7 package(s): 9.0s;
    • Lockfile is up to date, resolution step is skipped, then Done in 11.2s;
    • @objectstack/console dist ready (42284 KB) from objectui@4016370af3c9, Console dist matches the objectui pin, and the spec injection check passing.

    State change:

    Records:

    • the claim 6259854748;
    • the dev's report 6261049868;
    • the ACCEPT 6261082710 (TIER_DEFAULT; not governed).

    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

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain:devxtooling

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions