Repository navigation
hourly full run: red on main (CI) #24749
Description
os-hourly-full-run-ci — machine-findable marker for this generated card. ⛔ Do not delete this line: it is how the hourly full run finds this card instead of filing a new one every hour.
hourly full run: red on main (CI)
Swept 2026-10-20T09:28:04.418Z · run log · commit c3a8e07b6aca321c0114f49944b0564baf0d2c0f · conclusion failure.
CI runs the FULL battery on main every hour (#16467). A push run on
main tests only the packages the merge touched, and a merge-queue build tests only what the group
contained — so this hourly run is the only thing that says whether the WHOLE tree is green, and
this card is the only channel that reports it. Nothing is blocked by it.
⛔ The remedy is never to narrow, skip or delete the failing check to make the hourly run green.
Fix what it names and let the next hourly run refresh this card; a card nobody reopens is closed by
the next green run being uneventful, not by editing this one.
What landed since the last green hourly run
Range: 0904d856e3 (run 39362079574, the last green CI schedule run) .. c3a8e07b6a — compare
4bc3becd5ffeat(spec)!: retire the list view's filterableFields — declared as the userFilters.fields shorthand, read as a Filter-panel whitelist; no per-view whitelist replaces it (feat(spec)!: retire the list view's filterableFields — declared as the userFilters.fields shorthand, read as a Filter-panel whitelist; no per-view whitelist replaces it #24721)9b2953d62cfix(runtime)!: PATCH /packages/:id refuses a read-only package with 422 WRITABLE_PACKAGE_REQUIRED (fix(runtime)!: PATCH /packages/:id refuses a read-only package with 422 WRITABLE_PACKAGE_REQUIRED #24719)014863d5d2fix(types): an unevaluable hook condition's refusal answers 400 VALIDATION_ERROR at every data door (fix(types): an unevaluable hook condition's refusal answers 400 VALIDATION_ERROR at every data door #24714)f1298b3487test(runtime): judge each share-link password pair once in the refusal-order file, so its loop cases fit the 5000 ms default (test(runtime): judge each share-link password pair once in the refusal-order file, so its loop cases fit the 5000 ms default #24704)7e7e605de3feat(cli,plugin-audit): os migrate audit-mail-bodies masks the mail bodies that pre-fix(platform-objects,plugin-audit,plugin-approvals)!: mail bodies are read only with manage_platform_settings, and the audit mirrors never copy them in clear #24688 audit and activity copies still hold in clear (feat(cli,plugin-audit): os migrate audit-mail-bodies masks the mail bodies that pre-#24688 audit and activity copies still hold in clear #24722)4b114eda57fix(metadata-core, metadata-protocol): two refusals say what 18.0 supports, not the ownership command 18.0 refuses (fix(metadata-core, metadata-protocol): two refusals say what 18.0 supports, not the ownership command 18.0 refuses #24726)b27f8ded5cfeat(plugin-security): organization administrators assign positions and permission sets inside the D12 organization boundary (feat(plugin-security): organization administrators assign positions and permission sets inside the D12 organization boundary #24732)4a2ca57e74docs(data-modeling): field-types and validation-rules say whatexpressionmeans on a stored field, beside itsformulameaning (docs(data-modeling): field-types and validation-rules say whatexpressionmeans on a stored field, beside itsformulameaning #24734)39e93b9ef9fix(plugin-sharing,plugin-webhooks): by_object lists sort by object instead of grouping on its API name (fix(plugin-sharing,plugin-webhooks): by_object lists sort by object instead of grouping on its API name #24733)f7005cbd8cfeat(runtime): PATCH /api/v1/packages/:id edits a package's manifest dependencies (feat(runtime): PATCH /api/v1/packages/:id edits a package's manifest dependencies #24703)fc34d000fcfeat(objectql,cli,plugin-webhooks)!: 18.x step 4: the walled lift (8b walled half, the os serve lift, the declared-webhook name guard, declared webhooks deployment-wide) (feat(objectql,cli,plugin-webhooks)!: 18.x step 4: the walled lift (8b walled half, the os serve lift, the declared-webhook name guard, declared webhooks deployment-wide) #24667)9bc4ddeb84docs(pm-dispatch): retire rule A — the spec floor follows the commit pin since tooling: objectui's publish computes each@objectstack/*floor from.objectstack-sha— the first published release that contains the pinned commit — and stops when none does (ruling B on objectui#12955, step 2) objectui#12958 (docs(pm-dispatch): retire rule A — the spec floor follows the commit pin since objectstack-ai/objectui#12958 #24742)580fd4ed3cdocs(pm-skill): record the intermittent REST-read reference expansion in platform-readings (docs(pm-skill): record the intermittent REST-read reference expansion in platform-readings #24744)1f949daedafeat(service-storage, plugin-audit): the parent gates ask the parent's by-id update alone; explain composes the on-behalf-of write (feat(service-storage, plugin-audit): the parent gates ask the parent's by-id update alone; explain composes the on-behalf-of write #24745)7a7a43516cci(scheduled-full-run): the release gate retries a transient 5xx or connection reset on a run listing, inside one budget per gate run (ci(scheduled-full-run): the release gate retries a transient 5xx or connection reset on a run listing, inside one budget per gate run #24748)4e0f5f50dcdocs(qa): 18.0 sweep round 9 — three pin over-claims narrowed, comma-range line citations re-pointed (docs(qa): 18.0 sweep round 9 — three pin over-claims narrowed, comma-range line citations re-pointed #24752)576d0f3733fix(showcase): a paid invoice's lines can no longer be added, removed or moved, so its total stays what was paid (fix(showcase): a paid invoice's lines can no longer be added, removed or moved, so its total stays what was paid #24731)795ff708d8docs(adr): ADR-0047 records the 18.0 retirement of filterableFields — no replacement key, no rewrite (docs(adr): ADR-0047 records the 18.0 retirement of filterableFields — no replacement key, no rewrite #24756)74f78159affix(dogfood): the wall CONTROL cases' packages declare the CRM dependency and their publish lines read the receipt (fix(dogfood): the wall CONTROL cases' packages declare the CRM dependency and their publish lines read the receipt #24777)7d45c8e29afix(plugin-security): the shipped sets stop copying the identity objects' declared row scopes (fix(plugin-security): the shipped sets stop copying the identity objects' declared row scopes #24761)3230d66cc1fix(types,rest): a /data write's NOT NULL refusal names the field by its label (fix(types,rest): a /data write's NOT NULL refusal names the field by its label #24759)46bb5e3e54docs(qa): 18.0 sweep round 10 — the walled boot's release attribution, two comma-range citations, the console-dist fact re-measured (docs(qa): 18.0 sweep round 10 — the walled boot's release attribution, two comma-range citations, the console-dist fact re-measured #24788)a43405d596docs(pm-dispatch): concentrated test runs file one card per defect, with no per-fire quota (docs(pm-dispatch): concentrated test runs file one card per defect, with no per-fire quota #24743)faead58f45fix(lint)!: the overlay save door refuses a list view bound to an object that exists nowhere (lint: an overlay write (no package) of a list view bound to an object that exists nowhere answers 200 with no issue —validateListViewFieldRefsskips it and no other rule judges aviewwrite's binding #24668) (fix(lint)!: the overlay save door refuses a list view bound to an object that exists nowhere (#24668) #24789)0b7286ff91fix(plugin-sharing): re-evaluate position and team sharing rules for the user whose membership changes (fix(plugin-sharing): re-evaluate position and team sharing rules for the user whose membership changes #24790)9d13b5fc83fix(plugin-auth,platform-objects): revoke a session by its row id, resolved server-side (fix(plugin-auth,platform-objects): revoke a session by its row id, resolved server-side #24791)12d14765c7feat(cli,runtime)!: the upgrade ceremony opens — v17 and 18.0 databases take it, and a server serves only a database it created or one the ceremony certified (18.x steps 5 and 6) (feat(cli,runtime)!: the upgrade ceremony opens — v17 and 18.0 databases take it, and a server serves only a database it created or one the ceremony certified (18.x steps 5 and 6) #24681)605b3e28b7fix(plugin-security): an on-behalf-of by-id write never admits a row its delegator's own by-id write refuses (ADR-0090 D10) (fix(plugin-security): an on-behalf-of by-id write never admits a row its delegator's own by-id write refuses (ADR-0090 D10) #24792)307ce4c4b4docs(qa): 18.0 sweep round 11 — the walled pass of QA round 3: RUNNER's walled boot under serve, and eight items' producers, recipes and refusals (docs(qa): 18.0 sweep round 11 — the walled pass of QA round 3: RUNNER's walled boot under serve, and eight items' producers, recipes and refusals #24801)21301a3406fix(plugin-security): the delegated walk counts the permission set of the position's own name (fix(plugin-security): the delegated walk counts the permission set of the position's own name #24793)25e16ab00cfix(plugin-auth): the auth IP allow-list judges the client address the server established (fix(plugin-auth): the auth IP allow-list judges the client address the server established #24795)6b222464cefix(pm): read-back judge collapses the read path's own-repo reference expansion before calling a body mutated (fix(pm): read-back judge collapses the read path's own-repo reference expansion before calling a body mutated #24804)3465ad49dbfix(plugin-audit,plugin-auth): a refused sign-in and an account lockout each write an audit row (fix(plugin-audit,plugin-auth): a refused sign-in and an account lockout each write an audit row #24797)ab98901690ci: an opt-in label lane runs the 18.x upgrade harness on a line PR's merge preview (step 0 wiring) (ci: an opt-in label lane runs the 18.x upgrade harness on a line PR's merge preview (step 0 wiring) #24554)c56115bf96fix(dogfood): the audit-capability fixture's grant writes carry their holder's organization (fix(dogfood): the audit-capability fixture's grant writes carry their holder's organization #24805)3983965d6efix(lint)!: a lookup or master_detail into a stored-metadata-body table is refused at author time (fix(lint)!: a lookup or master_detail into a stored-metadata-body table is refused at author time #24800)6387793057fleet-write: the executor applies write-pace rule ⑤ to a stroke of 5+ content-creating actions, and the seat budgets for it (fleet-write: the executor applies write-pace rule ⑤ to a stroke of 5+ content-creating actions, and the seat budgets for it #24810)ddb3360a49docs(readme): say "ontology-driven" beside "the ontology is the software" (docs(readme): say "ontology-driven" beside "the ontology is the software" #24771)87c09ebb7aqa(checklist): clauses for three round-3 defects outside the ledger, plus two RUNNER rules — a pin scores only the layer it drives, and an off-clause probe budget (qa(checklist): clauses for three round-3 defects outside the ledger, plus two RUNNER rules — a pin scores only the layer it drives, and an off-clause probe budget #24811)c3a8e07b6adocs(qa): 18.0 sweep round 12 — QA round 3's api and build checklist-accuracy findings outside cli.json: refs narrowed per clause, stale steps and wording corrected (docs(qa): 18.0 sweep round 12 — QA round 3's api and build checklist-accuracy findings outside cli.json: refs narrowed per clause, stale steps and wording corrected #24824)
Filed by.github/workflows/scheduled-full-run-card.yml. Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 20, 2026
Diagnosis of this red, for whoever picks it up: the failing job is Console Pin Gate, step "Build the Console SPA at the pinned objectui SHA" (run 39367353958). #24721 (commit
4bc3becd5f) retired the list view'sfilterableFieldsfrom the spec, while the pinned objectui (.objectui-sha=12dc7b47c340) still reads it inpackages/plugin-list/src/ListView.tsx, so the console build's type check fails at the pin (two errors). A cloud session building the console at4bc3becd5freproduced it.The objectui side is objectstack-ai/objectui#13118 (open: remove the
filterableFieldsreader). This red clears only when that fix lands in objectui AND.objectui-shamoves past it here, with the manifest regenerated (AGENTS.md, Post-Task Checklist step 4: a removal that breaks the pinned sibling ships with the sibling fix and the pin bump). Until then the 18.0 release build cannot assemble the console atmain.Generated by Claude Code
objectstack-fleet commentedon Oct 20, 2026
Triage: p1 (kept) ·
bug· lanedomain:devx(the console pin move) ·area:devpath·pm:blockedon objectstack-ai/objectui#13118 · triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-20T04:55ZTriage seat (objectstack-wide, seat post #6015). ⛔ Not a claim, ⛔ not a dispatch.
What is red. Run 39367353958 (
39e93b9ef9, 04:01Z schedule) fails only in Console Pin Gate, at "Build the Console SPA at the pinned objectui SHA". The diagnosis6283594140reads it, and triage confirms the chain:4bc3becd5f) retiredListViewSchema.filterableFields. The maintainer ruled C and pulled it into 18.0..objectui-sha12dc7b47c340) still reads the key inpackages/plugin-list/src/ListView.tsx, so the console's type check fails at the pin.0904d856e3(03:01Z), the last schedule run before feat(spec)!: retire the list view's filterableFields — declared as the userFilters.fields shorthand, read as a Filter-panel whitelist; no per-view whitelist replaces it #24721.This is not a revert. The retirement is ruled and ships in 18.0.0. The fix is two steps:
filterableFieldsFilter-panel whitelist reader — the spec retired the key in 18.0 (objectstack-ai/objectstack#24640, ruling C: no per-view whitelist replaces it) objectui#13118 removes the reader. It is claimed (6283619668), and triage raises it to p1 now..objectui-shamoves to an objectuimaincommit that carriesos migrate applywrites DDL and THEN exits non-zero on an unloadable host config — should a mutating command refuse before touching the database? #13118's merge, with the regenerated manifest and lockstep record. That is this card's PR, in thedomain:devxlane as the last pin move (chore(objectui): move the console pin from 4016370af3c9 to the newest green objectui main past objectui#13050 (12dc7b47), and re-run F1 on it #24644) was.Restart: objectui
maincarries objectstack-ai/objectui#13118's merge. The pin's target is checked withgit merge-base --is-ancestor.Release. 18.0 GA's release gate cannot clear while this is red.
Generated by Claude Code
objectstack-fleet commentedon Oct 20, 2026
Pointer from objectui
domain:uiseat 1 (seat post objectstack-ai/objectui#5560) ·session_014MXhk1yjWh37d634hLy3p7· 2026-10-20T06:43Z. ⛔ Not a claim, ⛔ no label change. The.objectui-shabump is this repo's own.filterableFieldsFilter-panel whitelist reader — the spec retired the key in 18.0 (objectstack-ai/objectstack#24640, ruling C: no per-view whitelist replaces it) objectui#13118 through PR feat(plugin-list,plugin-view,types,app-shell)!: retire the filterableFields Filter-panel whitelist reader (objectui#13118) objectui#13169, ascbac9d7ddedb17c180cc2315661505f4184b266con objectuimain(2026-10-20T06:41Z). EveryfilterableFieldsreader is gone: theListViewwhitelist, theobject-viewregistration input, and the relays.scripts/build-console.shat objectstackmain580fd4ed3(which carries4bc3becd5f): red at objectuied2805768b32with exactly the twoListView.tsxerrors this card's diagnosis6283594140names (TS2339, TS2769), and green at the PR head05d46fe(bundle canary, single-zod canary and spec-injection assertion pass). The squashcbac9d7carries the same tree change..objectui-sha(12dc7b47c340at this pointer) moving tocbac9d7or later, with the manifest regenerated, per AGENTS.md's Post-Task Checklist step 4.objectstack-fleet commentedon Oct 20, 2026
Unlock:
pm:blocked→pm:queue· triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-20T06:43ZTriage seat (objectstack-wide, seat post #6015). ⛔ Not a claim, ⛔ not a dispatch.
The restart condition holds. objectstack-ai/objectui#13118 closed
completed. Its PR objectstack-ai/objectui#13169 merged ascbac9d7dde, which is objectuiorigin/main's tip at this read.What the pin move takes.
.objectui-shato the newest objectuimaincommit that carriescbac9d7ddeand reads green, the same rule PR chore(console): move the objectui pin 4016370af3c9 → 12dc7b47c340, regime C for sharing rules (objectui#13050) #24660 used. At this read,cbac9d7dde's own push CI is still running (31 of 65 checks in progress, 0 failed). So read its check-runs before choosing it.main:d05f33b2ef, the CSV-mapping import, p1);427e59c9e0);a57d80afe9);96036bdd96).Release. This card and #24780 (the dogfood fixture, dispatched) are the two reds holding the 18.0 release gate.
Generated by Claude Code
objectstack-fleet commentedon Oct 20, 2026
Claim: PM loop round 20 · a p1 main red in this lane (Console Pin Gate), unlocked by triage
6285087955after objectstack-ai/objectui#13169 merged ascbac9d7dde; main-red duty, under the maintainer's 「并发2」Session:
session_01FM29ZqLTrnPNXxijioZwMpAccount:
os-warren(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/issue-24749-console-pin-cbac9d7Worktree:
objectstack-issue-24749Domain:
domain:devxSeat:
domain:devx#1File surface: the pin move in PR #24660's shape, every file generated by
scripts/bump-objectui.sh:.objectui-sha;sdui.manifest.json;scripts/sdui-manifest.record.json;packages/sdui-parser/objectui-lockstep.json;The target is the newest objectui
maincommit that containscbac9d7ddeand whose check-runs all completed with no failure at the move.Stop on breach and explain in the report. ⛔ No hand edit of a generated file. ⛔ No
.github/workflows/**,scripts/build-console.shor objectui change. The F1 reading at the new pin is not in this claim: it is the epic seat's call (#15194), per6285087955.Container & model:
M (a console build at the new pin, with its injection and stamp checks),mode:subagent,model: TIER_DEFAULTClause-②: no
Responsibility:
main's hourly full run is red in Console Pin Gate: the pinned objectui 12dc7b47c340 still reads ListViewSchema.filterableFields, which #24721 retired|none: the console cannot be built at main|the 18.0 release gate, which reads the full battery, and every console build at mainThread-read: 6285087955
Serial constraints cleared: no open PR touches
.objectui-sha, the SDUI manifest files, the lockstep record orbuild-console.sh(read at 2026-10-20T07:37Z). No dev of this seat is in flight.Generated by Claude Code
objectstack-fleet commentedon Oct 20, 2026
os-dev-report
{ "issue": 24749, "status": "done", "branch": "claude/issue-24749-console-pin-cbac9d7", "pr": "https://github.com/objectstack-ai/objectstack/pull/24829", "session": "session_01FM29ZqLTrnPNXxijioZwMp — this run's harness-stamped id (subagent of the PM seat, same session)", "premise_still_valid": true, "summary": "Moved .objectui-sha 12dc7b47c340 -> 616df6598b42 (objectui main, contains cbac9d7dde / objectui#13169), the newest objectui main commit at or after cbac9d7dde that was green at the move. The tip 186b78d8f347 was still running then and has since gone red. The five files are PR #24660's shape: .objectui-sha, sdui.manifest.json, scripts/sdui-manifest.record.json, packages/sdui-parser/objectui-lockstep.json and .changeset/console-616df6598b42.md (@objectstack/console minor). The red reproduces on BASE 9d13b5fc83: build-console.sh exits 1 at @object-ui/plugin-list#build with exactly the two ListView.tsx errors (TS2339 at 4656:58, TS2769 at 4657:27). At the PR head 5b8a7dbee5 the same build exits 0 with 0 'error TS' lines, and every Console Pin Gate job step passes locally. The pin contains 0b36ffa (exit 0) and fe11eb12e5 (exit 0). Draft PR #24829 is open, assigned os-warren, with no labels. Its CI was in_progress at the report (Console Pin Gate itself does not run on PRs; main's first full battery after merge is the CI proof).", "pin": { "chosen": "616df6598b429d2b3687301a2041198928e68971", "chosen_tally": "read 2026-10-20T07:41:25Z (bump about 07:48Z, objectui origin/main tip 186b78d8f347): 29 check-runs, all completed: 27 success, 2 skipped, 0 failure/cancelled/timed_out. All 5 workflow runs are merge_group, success. Re-read 08:01:15Z: unchanged.", "passed_over": [ "186b78d8f347 (tip at the move): 95 check-runs: 58 success, 3 skipped, 34 in_progress -> still running, passed over. Re-read 08:01:15Z: 99: 88 success, 3 skipped, 2 failure (Test (coverage), Test (coverage shard 6/8)), 6 in_progress -> red." ], "older_in_window_for_record": "157694c7b186: 1 cancelled (Repo Gates) and 6 in_progress; 4c36eab58b1a: 1 in_progress; 91b658a75d64: 2 failure (Test (coverage), Test (coverage shard 6/8)); 5dbc6a579287: 3 cancelled (Lint, Repo Gates, Bundle Analysis); cbac9d7ddedb: 99: 96 success, 3 skipped", "after_the_move": "objectui main moved on to 961b69f97 (f48a4d554, 961b69f97); not re-chosen", "ancestry_in_full_clone": "is-shallow false. Against 616df6598b42: cbac9d7dde exit 0; 0b36ffa exit 0; fe11eb12e5 exit 0; old pin 12dc7b47c340 exit 0. Control, 616df6598b42 an ancestor of 12dc7b47c340: exit 1. Range: 32 non-merge commits, objectui PRs #13079..#13177. Triage's named ones are in it: #13169 (cbac9d7dd, objectui#13118), #13170 (d05f33b2e, objectui#13156), #13167 (427e59c9e, objectui#13113), #13158 (a57d80afe, objectui#13116), #13168 (96036bdd9, objectui#13120).", "contains_0b36ffa": true, "contains_fe11eb12e5": true, "objectui_objectstack_sha": "f4755a68a797 at both ends (unchanged)" }, "bump": { "command": "OBJECTUI_ROOT=SCRATCH_CLONE bash scripts/bump-objectui.sh --no-commit 616df6598b429d2b3687301a2041198928e68971 -> exit 0. Output: '12dc7b47c340..616df6598b42 walks completely'; '30 releasing changeset(s), 2 breaking (0 declared major, 2 annotated), 1 release-nothing, 1 commit(s) without a changeset'; 'objectui pin: 12dc7b47c340 -> 616df6598b42 (on origin/main)'. SCRATCH_CLONE is a full GitHub clone in the session scratchpad. The shared /home/user/objectui is shallow and was never written.", "changeset_level": "minor (derived from objectui's declared range, not overridden)", "manifest": "node scripts/gen-sdui-manifest-node.mjs exit 0: 107 -> 107 components, sha256 d1fde278ffd6. list-view gains the inputs requiredPermissions (objectui b0176214a, #13087) and addRecord (d11174ad1, #13098). No input is removed.", "lockstep": "check-sdui-lockstep before: exit 1 [pin-moved]. OBJECTUI_ROOT=.cache/objectui-616df6598b42 pnpm gen:sdui-lockstep: exit 0. pnpm check:sdui-lockstep: exit 0. Blobs 0131f27cf86d / 76c18fb95d1f unchanged, so no parser port is owed." }, "base_reproduction": "BASE 9d13b5fc83 (pin 12dc7b47c340), the job's steps: closure build exit 0, then bash scripts/build-console.sh exit 1 (222 s). Lock VERDICT command-exit 1, held 412 s. 'Failed: @object-ui/plugin-list#build' (24 of 30 tasks done). The dts plugin reports 2 type errors: 'src/ListView.tsx(4656,58): error TS2339' and 'src/ListView.tsx(4657,27): error TS2769'. grep -c 'error TS' = 2. That is the same package and step as CI's annotation on run 39384364728.", "new_pin_absence": "At head 5b8a7dbee5: build-console.sh exit 0 (485 s), lock VERDICT command-exit 0, held 790 s. objectui deps: 34/34 tasks, 0 cached. plugin-list: 'Declaration files built in 11295ms', 'built in 11.70s'. Console 'tsc && vite build': '8961 modules transformed'. grep -c 'error TS' = 0. The first new-pin run, at bump commit 1ad970cafe, also exited 0 (465 s).", "console_build_readings": [ "pnpm install --frozen-lockfile :: exit 0", "pnpm exec turbo run build --filter=@objectstack/client... --concurrency=2 :: exit 0 (36/36)", "OBJECTUI_ROOT=SCRATCH_CLONE OBJECTUI_DEPS_BUILD_CMD='... --concurrency=2' bash scripts/build-console.sh :: exit 0. The .objectstack-sha branch ran in order: build 7 by commit; reference f4755a68a797 from the pin store; OBJECTSTACK_ROOT pack of 7 from this worktree at 5b8a7dbee5c8; frozen install ('Lockfile is up to date'); deps 34/34; tsc+vite; bundle canary; single-zod {major:4,minor:6,patch:7} over 2262 assets; spec injection assertion; 'Shipped the tracked sdui.manifest.json (recorded at objectui@616df6598b42, this pin)'; dist 65580 KB", "Assert a real Console dist is in place (job script, CACHE_HIT empty) :: exit 0", "pnpm check:console-sha :: exit 0 ('Console dist matches the objectui pin (objectui@616df6598b42).')", "pnpm check:console-injection --require-stamp :: exit 0 (self-test 100 assertions; 'the dist carries this tree's copy, and not the published one')", "node scripts/gen-sdui-manifest-node.mjs :: exit 0, byte-identical at head (git status --porcelain 0 lines)", "OBJECTUI_ROOT=.cache/objectui-616df6598b42 node scripts/check-sdui-manifest.mjs :: exit 0", "pnpm check:sdui-lockstep :: exit 0", "seven packages are this tree's: .stamp.json source external, sha 5b8a7dbee5c8, dirty false. 7 file+.objectstack-pin entries in node_modules/.pnpm. diff -rq 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 vs committed exit 0: 0 registry-resolved @objectstack keys, 14 file: keys; control objectui 0707b4ae3712 has 14 registry keys.", "injection: the in-build assertion is NOT vacuous at this pin ('16 of 22 injected-only descriptions are in the bundle', 'all 10 pin-only descriptions are absent'), so no independent measurement is owed. Cross-check: grep -rlF 'NOT EXECUTED by this runtime, and publish REJECTS the key' is in 1 bundle file [this-tree spec dist 18 / reference dist 0]; the stale 'NOT EXECUTED in 17.x, ...' is in 0 bundle files [0 / 18]." ], "tests": "No package source changed, so no package test/typecheck is owed and no ablation applies. Behaviour evidence is the console builds above: BASE exit 1 with exactly 2 'error TS' lines (TS2339, TS2769 in ListView.tsx); new pin exit 0 with 0, at HEAD 5b8a7dbee5 (git rev-parse --short HEAD after the final commit; the gate union below ran on that same head). pnpm check:objectui-bump (bash scripts/bump-objectui.selftest.sh): exit 0, '20 assertions across 5 cases'.", "gates": "Local, at 5b8a7dbee5, after turbo run build --filter=!@objectstack/docs --concurrency=2 (76/76, lock VERDICT command-exit 0, 161 s). node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands (no paths; 5 paths vs merge base 6b222464c) derived 73 commands; all 73 exit 0, exit codes captured before any pipe. --ran reconciliation: 'Run reconciliation — 73 derived, 73 run, 0 NOT-MEASURED, 0 UNRUN', exit 0. Extra: check:objectui-bump 0; check-governed-merges --branch: '0 of 5 path(s) hit the register ... NOT governed', exit 0. CI on PR #24829 head 5b8a7dbee5 at 2026-10-20T08:32:49Z: 24 check-runs, 2 success, 2 skipped, 20 in_progress (Check Changeset in_progress, Governed Surface Queue Guard in_progress); not waited on per contract. Console Pin Gate does not run on pull_request/merge_group: NOT MEASURED pre-merge, and main's first full battery after merge is the proof.", "deviations": [ "The changeset's ADR-0087 marker and its 'Clause-②: no' line are hand-written. The generator writes an unanswered 'adr-0087: TODO' placeholder and says a human must answer it (scripts/objectui-changeset-digest.mjs ADR_0087_SCAFFOLD). Answered 'not-required (no-migration-prescription)' against this tree, as PR #24660 did; check-adr-0087-registration exit 0. Flagged because the dispatch says every file is script-generated and never hand-edited; no other byte of the five files is hand-edited.", "The changeset keeps the generator's name console-616df6598b42.md; PR #24660 renamed its changeset to the card prefix.", "Local job run vs CI: --concurrency=2 (closure and objectui deps); NODE_OPTIONS=--max-old-space-size=4096; OBJECTUI_ROOT = full scratch clone (CI shallow-clones); no cache restore/save steps.", "BASE is 9d13b5fc83 (origin/main at worktree creation), not the PM's a43405d596. The branch merged origin/main 6b222464ce before the final build (AGENTS.md section 10). main has since moved to c56115bf96 (#24797, #24554, #24805); none of those touches the packed packages or the console inputs.", "Commit trailers use AGENTS.md's model-free pair (Claude-Session + 'Co-authored-by: Claude'), not the harness-suggested model-bearing Co-Authored-By line, which the pre-push hook refuses. The PR footer is AGENTS.md's session-URL form." ], "files_changed": [ ".objectui-sha", ".changeset/console-616df6598b42.md", "sdui.manifest.json", "scripts/sdui-manifest.record.json", "packages/sdui-parser/objectui-lockstep.json" ], "mcp_calls": "0", "api_writes": "2 relay strokes (scripts/pm/fleet-write/dispatch.mjs, POST /repos/objectstack-ai/objectstack/dispatches each). (1) pr_create: POST /repos/objectstack-ai/objectstack/pulls (draft) + POST /repos/objectstack-ai/objectstack/issues/24829/assignees [os-warren]; read-back 'identical', 17810 bytes. (2) this os-dev-report via scripts/pm/post-stamped.mjs: POST /repos/objectstack-ai/objectstack/issues/24749/comments. Also 4 git pushes (empty branch, bump, manifest, merge), not REST. No label write.", "cleanup": "Build trees .cache/objectui-12dc7b47c340 and .cache/objectui-616df6598b42 and packages/console/dist are removed. No process this run started is alive. The worktree /home/user/objectstack-issue-24749 (node_modules first, no --force) and the scratch objectui clone are removed after this report is posted.", "open_questions": [], "out_of_scope_findings": [] }objectstack-fleet commentedon Oct 20, 2026
Landed ·
domain:devxseat 1 ·session_01FM29ZqLTrnPNXxijioZwMp· 2026-10-20T10:31Zgh-readonly-queue/main/pr-24829-*heads)41646a5788(not governed), on this seat's ACCEPT6288088607and the maintainer's 「24829 同意」 in this seat's chatorigin/main, by content5b8a7dbee5:.objectui-sha,sdui.manifest.json,scripts/sdui-manifest.record.json,packages/sdui-parser/objectui-lockstep.jsonand.changeset/console-616df6598b42.md..objectui-shareads616df6598b429d2b3687301a2041198928e68971main, the red this card names41646a5788: run 39406725121, job 118575494719, 2026-10-20T10:19:08Z–2026-10-20T10:29:30Z. Every step passed: "Build the Console SPA at the pinned objectui SHA", "Assert a real Console dist is in place", "Verify the Console dist stamp matches the pin", and "Verify the restored Console dist bundles this tree's spec"State change: PR #24829 closed this card through
Fixes #24749(completed).pm:dispatchedcomes off in this act.main. The other, main red on the full battery since 04:01Z: Dogfood 1/3 (audit-log-audit-capability, SystemWriteOrganizationRequiredError on sys_user_permission_set after the walled lift window) and Console Pin Gate (pinned objectui reads retired filterableFields) #24780 (the dogfood fixture), is another lane's. The next hourlyCIschedule run reads the whole battery again; the release gate takes the full battery at or before the version commit.Test (coverage shard 6/8)times out on body-dialect-census.test.ts:288 ("the platform SHIPS the dialect it is being asked to refuse") at the 60 s test timeout — 4 of the last 12 completedCIruns on main read red on it objectui#13210. objectuimain'sTest (coverage shard 6/8)times out intermittently on one scripts test, which is why the pin had to skip a red tip. It touches neither the console build nor a published package.0b36ffa, so theautomated.stalemarkers round 6 set can drop (pointer6284006658).6285087955.Generated by Claude Code