Repository navigation
console: move the objectui pin 616df6598b42 → at or after 8803ca54ac (objectui PR #13233, the stored_expression toast row), so PR #24778 (#24690) can land #24928
Copy link
Copy link
Closed
Labels
area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterateThe road — create, dev, verify, publish/install, connect an agent, iteratedependenciesPull requests that update a dependency filePull requests that update a dependency filedomain:devxpriority:p2Medium: important, M3Medium: important, M3
Description
Filed by domain:spec seat 3 (seat post #18883) · baozhoutao · session session_01D6F9axfoPzR7t8G1J7Ytzz, from the #24690 dev report (6294854875). ⛔ Not a claim. Grade and routing are triage's. The lane is domain:devx, by the precedent of #24749 / PR #24829, the last pin move.
Why
- PR feat(spec,objectql): report a caller value a stored expression replaced, as DroppedFieldsEvent reason stored_expression #24778 (spec(data): once PR #24673 lands, a client value for a stored-expression field is overwritten with no report —
DroppedFieldsEvent.reasonhas no value for "written, but recomputed", soonFieldsDropped/droppedFieldsstay silent #24690) widensDroppedFieldsEvent['reason']withstored_expression. Under 「甲」 ([PM seat] triage (objectstack-wide) — 🟢 Routine · session_01AavokzJ5DndAwitDXvKy4U · trig_01NcnCtMS2tH46nUg1a5TaMJ (hourly) · state = body + the round records newer than it #60156292005854) only the loud half ships in 18.x: the overwrite is reported, and the strict-mode refusal is deferred to 19.0. - objectui's
STRIPPED_LINE(packages/app-shell/src/providers/writeWarningToast.ts) is keyed by every reason, and its test drives each one the installed spec declares. The row landed in objectui PR Widencodehelperto the object-literal stamp position — the blast radius is now measured, and 4 undischargeableunresolvedfindings are the blocker #13233 (app-shell: writeWarningToast needs astored_expressionrow before objectstack#24778 widensDroppedFieldsEvent.reason, or the pin bump turns red objectui#13178, closed) as8803ca54ac269643101f98dd0cc24ab25feb55a0, on objectuimain. - objectstack's
.objectui-shais616df6598b42(PR chore(console): move the objectui pin 12dc7b47c340 → 616df6598b42, past the filterableFields reader's removal (objectui#13169) #24829). That is 36 commits behind8803ca54ac, and it lacks the row. - So feat(spec,objectql): report a caller value a stored expression replaced, as DroppedFieldsEvent reason stored_expression #24778 must land after the pin moves, or the Console Pin Gate goes red. objectui keys the table by the spec union plus
'stored_expression', so the new pin compiles againstmain's spec both before and after feat(spec,objectql): report a caller value a stored expression replaced, as DroppedFieldsEvent reason stored_expression #24778.
Wanted (docs/releases-maintenance.md, the procedure PR #24829 followed)
scripts/bump-objectui.sh <sha>, run with8803ca54acor the newest objectuimaincommit after it that is green. It writes.objectui-shaand the@objectstack/consolechangeset.- In the same PR:
pnpm objectui:build, thennode scripts/gen-sdui-manifest-node.mjs. Commitsdui.manifest.json,scripts/sdui-manifest.record.jsonandpackages/sdui-parser/objectui-lockstep.jsonif they move.scripts/check-sdui-manifest.mjsmust be green. - The PR is not governed:
.objectui-shais not inGOVERNED_SURFACES. It is not a release act. - Once it lands, the
domain:specseat lands feat(spec,objectql): report a caller value a stored expression replaced, as DroppedFieldsEvent reason stored_expression #24778.
Dedupe
- I read the open PRs whose title names objectui or the pin: none.
- The last move was hourly full run: red on main (CI) #24749 / PR chore(console): move the objectui pin 12dc7b47c340 → 616df6598b42, past the filterableFields reader's removal (objectui#13169) #24829 (closed).
Generated by Claude Code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterateThe road — create, dev, verify, publish/install, connect an agent, iteratedependenciesPull requests that update a dependency filePull requests that update a dependency filedomain:devxpriority:p2Medium: important, M3Medium: important, M3
Activity
objectstack-fleet commentedon Oct 20, 2026
Claim: PM loop round 29 · a p2
domain:devxpin move that unblocks thedomain:speclane's PR #24778; serial dispatch under the maintainer's 「串行派发」Session:
session_01FM29ZqLTrnPNXxijioZwMpAccount:
os-warren(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/issue-24928-objectui-pinWorktree:
objectstack-issue-24928Domain:
domain:devxSeat:
domain:devx#1File surface: the files
docs/releases-maintenance.md's pin-move procedure writes:.objectui-shaand the@objectstack/consolechangeset thatscripts/bump-objectui.shwrites;sdui.manifest.json,scripts/sdui-manifest.record.jsonandpackages/sdui-parser/objectui-lockstep.json, if the regeneration moves them.The target is objectui
8803ca54ac, or the newest objectuimaincommit after it whose push run is green. ⛔ No hand edit of a generated file. ⛔ No product code. Stop on breach and explain.Container & model:
S (one pin move by the documented procedure, with its regenerated manifests),mode:subagent,model: TIER_DEFAULTClause-②: no
Responsibility:
PR #24778 (#24690) cannot land while .objectui-sha (616df6598b42) lacks objectui's stored_expression toast row, or the Console Pin Gate goes red (#24928)|none|the domain:spec lane's PR #24778, and every Console buildThread-read: none
Serial constraints cleared: no open PR touches
.objectui-shaor the SDUI manifest files. No liveClaim:names them; the one hit is this seat's discharged round-14 claim6288926919on #24579 (read at 2026-10-20T19:59Z). No dev of this session is in flight: #24926's dev has reported, and its PR #24973 is queued.Generated by Claude Code
objectstack-fleet commentedon Oct 20, 2026
os-dev-report
{ "issue": 24928, "status": "done", "branch": "claude/issue-24928-objectui-pin", "pr": "https://github.com/objectstack-ai/objectstack/pull/24982", "session": "session_01FM29ZqLTrnPNXxijioZwMp — this run's harness-stamped id (subagent of the PM seat, same session)", "premise_still_valid": true, "summary": "Moved .objectui-sha 616df6598b42 -> cf153eb2e535 (objectui main), which contains 8803ca54ac (objectui#13233, the stored_expression row in writeWarningToast.ts STRIPPED_LINE, lines 145/173). cf153eb2e535 was the newest objectui main commit at or after 8803ca54ac whose push CI run had concluded success at the move: run 39483449911, 31/31 jobs success incl. Test (coverage) and all 8 coverage shards; the two newer commits 9e1bff63ad2d / 53dea27afab5 were in_progress then and concluded success at 20:16Z / 20:21Z, after the bump (not re-chosen; see open_questions). Diff is 4 files, all generator-written: .objectui-sha, .changeset/console-cf153eb2e535.md (@objectstack/console minor, 0 breaking, so no hand-written ADR-0087 line), scripts/sdui-manifest.record.json and packages/sdui-parser/objectui-lockstep.json; sdui.manifest.json regenerated byte-identical (107 components, sha256 d1fde278ffd6) so it is not in the diff. Proof against PR #24778 (head 56cac787cb): objectui's per-reason test passes over all five reasons, and a full build-console.sh from the #24778 tree at the new pin exits 0 with 0 TS errors. Draft PR #24982 is open, assigned os-warren, no labels; its CI was in_progress at the report, and the Console Pin Gate is skipped on PRs by design (main's first full battery after merge is its CI proof). Deviations: objectui reads came from a full scratch clone (OBJECTUI_ROOT), not a worktree of the shared /home/user/objectui, because that checkout is shallow and bump-objectui.sh's default deepen would have unshallowed the shared .git; bump-objectui.sh ran with --no-commit only so the commit carries this repo's model-free trailer pair. Nothing was written to objectui; the shared /home/user/objectui worktree list and status are unchanged.", "tests": "stored_expression proof, command from the objectui worktree root at cf153eb2e535: pnpm exec vitest run --maxWorkers=2 --reporter=verbose packages/app-shell/src/providers/writeWarningToast.test.ts. Leg A, PR #24778's spec packed in via OBJECTSTACK_ROOT=PR24778_WORKTREE node scripts/objectstack-pin.mjs build (stamp sha 56cac787cb; DroppedFieldsEventSchema reason options read [readonly, readonly_when, primary_key, computed, stored_expression]): 'Tests 1 failed | 20 passed (21)', exit 1. 'gives every reason the pinned spec declares its own wording (#3935)' PASSED over all five reasons; 'words reason stored_expression as a computed value saved in place of the one sent, in en and zh (objectui#13178)' PASSED; the one failure is objectui's designed tripwire 'reminds the pin bump that carries stored_expression to retire the widening (objectui#13178)', which asserts the installed spec does NOT declare the arm and fires by design once a spec declares it (objectui's own .objectstack-sha bump retires it; objectstack's Console Pin Gate does not run objectui tests). Leg B control, this branch's spec (four reasons): 'Tests 21 passed (21)', exit 0. Console build against PR #24778's tree at the new pin: bash scripts/build-console.sh from the #24778 worktree with .objectui-sha set to cf153eb2e535 (scratch edit, restored and removed after): PR24778_BUILD_CONSOLE_EXIT=0, lock VERDICT command-exit 0, objectui deps 34/34, '8966 modules transformed', grep -c 'error TS' = 0, injection witness from #24778's own text ') written with the computed value in place of the caller', '5 of 5 injected-only descriptions are in the bundle'. Console build at this branch: client closure 36/36 then OBJECTUI_ROOT=SCRATCH_CLONE bash scripts/build-console.sh, BUILD_CONSOLE_EXIT=0, lock VERDICT command-exit 0 held 931s, objectui deps 34/34 (0 cached), '8966 modules transformed', 0 'error TS', 'Single-zod canary: exactly one zod version literal {major:4,minor:6,patch:7}' (2261 assets), 'Console bundle carries THIS tree's @objectstack/spec, and only it (vendored: ... objectstack 06cab4849a8a)', '2 of 2 injected-only descriptions', 'dist ready (65684 KB) from objectui@cf153eb2e535'. No package source changed, so no package test/typecheck is owed; test:repo is CI's (Test Core). No ablation: the diff changes no tested behaviour (pin + generated records only).", "gates": "Local, at head a1c663ae62 after a workspace build there (turbo run build --filter='!@objectstack/docs' --concurrency=2: 76/76, lock VERDICT command-exit 0); packages/runtime/.objectstack removed first; every exit captured before any pipe. node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands (no paths): 73 commands from 4 paths vs merge base 6440cf163 (three-dot); all 73 exit 0. --ran: 'Run reconciliation — 73 derived, 73 run, 0 NOT-MEASURED, 0 UNRUN' and '73 derived famil(ies) accounted for — 73 run, 0 NOT-MEASURED (a DERIVED zero ...)', exit 0. Among them: check-adr-0087-registration --base origin/main 'this PR adds no declared-breaking changeset (1 non-breaking changeset(s) seen)'; check-empty-changeset; check-sdui-manifest.mjs '... recorded at the live objectui pin cf153eb2e535'; pnpm check:sdui-lockstep 'byte-identical to objectui@cf153eb2e535 ... 214 grammar line(s) [blob 0131f27cf86d] ... 25 diagnostic code(s) ... [blob 76c18fb95d1f]'; pnpm check:console-sha 'Console dist matches the objectui pin (objectui@cf153eb2e535).'; pnpm check:console-injection; pnpm check:objectui-changeset; pnpm check:published-files; pnpm check:nul-bytes. Procedure-step readings: check:sdui-lockstep exit 1 [pin-moved] before the re-record, exit 0 after; pnpm check:objectui-bump exit 0 ('20 assertions across 5 cases'); pnpm check:console-injection --require-stamp exit 0; node scripts/pm/check-governed-merges.mjs --branch claude/issue-24928-objectui-pin exit 0 'NOT governed', +87/-6. git merge-tree --write-tree origin/main HEAD vs origin/main 3a7a60af8f: exit 0 clean (no path routed to os-regen, so local = GitHub). PR #24982 check-runs at a1c663ae62, read 2026-10-20T20:56:31Z: 38 total, 12 success, 7 skipped, 19 in_progress, 0 failure. Completed: Check Changeset success, Governed Surface Queue Guard success, Check PR Size success, Check Documentation Links success, Flag docs affected by code changes success, Dogfood Regression Gate success, Auto Label success, filter success, the three claim/closure guards success; Console Pin Gate skipped (its if: excludes pull_request and merge_group — explained in the PR body, local run is the pre-merge reading), Build Docs / Temporal Conformance / Dogfood Verify CLI / Packed-tarball smoke / 18.x upgrade harness / Dogfood shards skipped. In progress: Lint lanes, Type Check lanes and the rest — in_progress is the honest value; not waited on.", "mcp_calls": "0 — no MCP GitHub tool was called", "api_writes": "2 — two repository_dispatch strokes through the fleet relay (POST /repos/objectstack-ai/objectstack/dispatches), executed as objectstack-fleet[bot]: (1) pr_create = POST /repos/objectstack-ai/objectstack/pulls (draft) + POST /repos/objectstack-ai/objectstack/issues/24982/assignees [os-warren], read back identical (16778 bytes sent, 16778 stored); (2) this os-dev-report = POST /repos/objectstack-ai/objectstack/issues/24928/comments via scripts/pm/post-stamped.mjs. Plus 3 git pushes (not REST): the empty branch, af060f0855, a1c663ae62. Zero writes to objectui.", "open_questions": [ { "question": "Ruling 1 names the newest green push run; at the move (20:05Z) that was cf153eb2e535, and the two newer main commits 9e1bff63ad2d (run 39486510889) and 53dea27afab5 (run 39487454858, the tip the PM read) concluded success at 20:16Z and 20:21Z, before the PR opened. Keep cf153eb2e535, or re-bump to 53dea27afab5?", "options": [ "A — keep cf153eb2e535: it was the newest concluded-green at the move, as PR #24829 did ('This PR does not re-choose'); both skipped commits are app-shell patch fixes (objectui#13283, objectui#13284) PR #24778 does not need", "B — re-bump this PR to 53dea27afab5: a mechanical bump plus rebuild, regeneration, gate union and the two test legs again, about 25 min of lock, and the PR body rewritten by the seat" ], "recommendation": "A, because the ruling's purpose (a green pin carrying the stored_expression row so #24778 can land) is met and measured at cf153eb2e535, the precedent read the target at the move, and B spends a full rebuild lap for two patch fixes that the next pin move carries anyway." } ], "out_of_scope_findings": [ "carrier: #24579 (the checklist anchor) · noted, not filed — approvals.record-page-decisions cites objectui packages/app-shell/src/views/RecordDetailView.approvalDecisionActions.test.tsx in its source; the file is absent at both pins (deleted by objectui 99782f961, an ancestor of 616df6598b42, exit 0)", "checklist-cited objectui specs whose blob changes over 616df6598b42..cf153eb2e535 (ruling 5, read not edited; 89 cited objectui paths resolved, 21 of them e2e/live specs): packages/app-shell/src/views/setup/PackagedAutomationPage.test.tsx b321640a6100 -> aeb3e5f94e38 (automated.ref of automation.setup-packaged-automation-board; objectui 673a71c39 objectui#13185, 5235d6d57 objectui#13279). That is the only one; every e2e/live spec is byte-identical (e2e/live changes only ci/backend.env over the range)" ] }Generated by Claude Code
objectstack-fleet commentedon Oct 20, 2026
Landed ·
domain:devxseat 1 ·session_01FM29ZqLTrnPNXxijioZwMp· 2026-10-20T22:18Z7adfaec2a1(ACCEPT6301861627; not governed;Fixes #24928)origin/main, by content.objectui-sha(cf153eb2e535),.changeset/console-cf153eb2e535.md,scripts/sdui-manifest.record.jsonandpackages/sdui-parser/objectui-lockstep.jsonare byte-identical to the heada1c663ae62mainCIrun39504987916at7adfaec2a1, job118912910626: success. This is the reading the PR could not give, because the gate skipspull_requestandmerge_groupState change: PR #24982 closed this card through
Fixes #24928(completed).pm:dispatchedcomes off in this act.Next, the
domain:speclane's: PR #24778 (#24690) can land. The pin carries objectui'sstored_expressionrow, and abuild-console.shfrom #24778's tree at this pin exited 0 (the ACCEPT records the proof). objectui's own designed tripwire "reminds the pin bump that carries stored_expression to retire the widening" fires once objectui's.objectstack-shareaches a spec that declares the arm. That is objectui's own pin bump to retire, and no objectstack check runs it.Generated by Claude Code