Repository navigation
4-hourly full run: red on main (CI) #26457
Description
os-4-hourly-full-run-ci — machine-findable marker for this generated card. ⛔ Do not delete this line: it is how the 4-hourly full run finds this card instead of filing a new one every 4 hours.
4-hourly full run: red on main (CI)
Swept 2026-10-27T04:19:52.772Z · run log · commit 26e7c75e9ae232237ae5f7caf6c23164652853b5 · conclusion failure.
CI runs the FULL battery on main every 4 hours (#16467, #25771). 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 scheduled 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 4-hourly run green.
Fix what it names and let the next 4-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 4-hourly run
Range: e843b5b320 (run 40424746941, the last green CI schedule run) .. 26e7c75e9a — compare
6a2866af71feat(plugin-approvals,rest,client): a record-anchored approval lock read,{ locked }for every caller who can read the record (feat(plugin-approvals,rest,client): a record-anchored approval lock read,{ locked }for every caller who can read the record #26361)6390fe52cefix(plugin-grid): the bulk confirm sentence formats numbers and dates in the display locale (fix(plugin-grid): the bulk confirm sentence formats numbers and dates in the display locale #26358)f02e644343fix(plugin-detail): related list withactions: []no longer draws the built-in New (fix(plugin-detail): related list withactions: []no longer draws the built-in New #26277)d677879cd6refactor(metadata-protocol): move the metadata-service code-layer read out of protocol.ts into protocol-metadata-service-read.ts ([maintainer] refactor(metadata-protocol): splitsrc/protocol.ts(33,065 lines, +10,169 in 30 days) along itsObjectStackProtocolImplementationseams, one move-only slice per PR #25467 cut 20) (refactor(metadata-protocol): move the metadata-service code-layer read out of protocol.ts into protocol-metadata-service-read.ts (#25467 cut 20) #26366)61c079862adocs(site): objectstack.ai becomes the developer site — one-line positioning, start command, docs entry points, "Run it" strip; blog redirects to objectos.ai (docs(site): objectstack.ai becomes the developer site — one-line positioning, start command, docs entry points, "Run it" strip; blog redirects to objectos.ai #26165)2e7127bc3arefactor(objectql): move the driver options and engine posture bodies out of engine.ts into engine-driver-options.ts ([maintainer] refactor(objectql): splitsrc/engine.ts(23,903 lines, +7,501 in 30 days) along itsObjectQLseams, one move-only slice per PR #25522 cut 12) (refactor(objectql): move the driver options and engine posture bodies out of engine.ts into engine-driver-options.ts (#25522 cut 12) #26371)3acbefffb7refactor(app-shell): move ObjectView's list toolbar affordances into a sibling hook (slice 7) (refactor(app-shell): move ObjectView's list toolbar affordances into a sibling hook (slice 7) #26374)fa5d72e11cci(workflows): measured timeout-minutes on 17 jobs, PR-only concurrency on 11 workflows, a paths filter on check-links (ci(workflows): measured timeout-minutes on 17 jobs, PR-only concurrency on 11 workflows, a paths filter on check-links #26376)71c620a379fix(app-shell): pass the package binding to the delegated-admin companion list explicitly (fix(app-shell): pass the package binding to the delegated-admin companion list explicitly #26372)756220c4a7docs(contributing): add a Human Minimum section and a pull request template (docs(contributing): add a Human Minimum section and a pull request template #26375)e931621a13ci(sdui): retire the per-package SDUI manifest records; CI's regeneration holds freshness (devx(sdui): CI regenerates the sdui manifest and compares it to the committed artefact, so ui PRs conflict only on real contract changes and the merge queue catches combined effects #26137 PR B) (ci(sdui): retire the per-package SDUI manifest records; CI's regeneration holds freshness (#26137 PR B) #26367)2163e80629feat(spec,metadata-protocol,service-storage,runtime,cli)!: a seed record can carry a file the package ships, seedFile(path) (feat(spec,metadata-protocol,service-storage,runtime,cli)!: a seed record can carry a file the package ships, seedFile(path) #26244)abb9046057refactor(driver-sql): move the cross-field and now-anchored comparison compile out of sql-driver.ts into sql-driver-cross-field-comparison.ts ([maintainer] refactor(driver-sql): splitsrc/sql-driver.ts(22,096 lines, +2,533 in 30 days) along itsSqlDriverseams, one move-only slice per PR #25521 cut 13) (refactor(driver-sql): move the cross-field and now-anchored comparison compile out of sql-driver.ts into sql-driver-cross-field-comparison.ts (#25521 cut 13) #26377)3b480e0cecdocs: TypeScript legacy node10 resolution is unsupported for the 15 packages with subpath exports (docs: TypeScript legacy node10 resolution is unsupported for the 15 packages with subpath exports #26378)13136f73b7fix(lint): liveness author warnings and the status census read ledger rows at every depth (fix(lint): liveness author warnings and the status census read ledger rows at every depth #26379)b33dd25b2edocs(pm-dispatch,os-dev): a PR whose metadata-protocol kind is not none, or whose Clause-② carries (narrowing), owes a Skills-docs line (docs(pm-dispatch,os-dev): a PR whose metadata-protocol kind is not none, or whose Clause-② carries (narrowing), owes a Skills-docs line #26381)671df265caMove the three untested inline workflow step bodies into scripts/ci with self-tests (Move the three untested inline workflow step bodies into scripts/ci with self-tests #26386)7c70f91ce1docs(skills): objectstack-data teaches the field permissionwhenand when to pick it over a validation rule (docs(skills): objectstack-data teaches the field permissionwhenand when to pick it over a validation rule #26393)a66c9ff423skills(objectstack-api): teach importapplyOn, readFLOW_FAILED'sinnerRefusal, and the anonymous-form file refusal (skills(objectstack-api): teach importapplyOn, readFLOW_FAILED'sinnerRefusal, and the anonymous-form file refusal #26392)80f267d43drefactor(ui)!: the renderer runs @objectstack/sdui-parser; delete @object-ui/sdui-parser (tooling(ui-merge): governance in-repo — liveness evidence and spec tests stop citing objectui by commit, one sdui-parser, AGENTS.md / pm scripts dropobjectui#,ui/AGENTS.mdnests, 18 governance workflows merged or retired (parent #25677, 4b/6) #25712 2g PR 2) (refactor(ui)!: the renderer runs @objectstack/sdui-parser; delete @object-ui/sdui-parser (#25712 2g PR 2) #26343)885209979fci(test-core): start only the Test Core shards whose bin holds work (ci(test-core): start only the Test Core shards whose bin holds work #26391)014b968427ci(release): retire the rc channel — delete cut-rc.yml, remove the retired rc dist-tag (ci(release): retire the rc channel — delete cut-rc.yml, remove the retired rc dist-tag #26394)48a9d9db9bfix(app-shell): a member takes back their own comment reaction through the unreact door (fix(app-shell): a member takes back their own comment reaction through the unreact door #26384)c51aed4f9dfix(plugin-approvals): an approval notification names the record by its title, as the recipient may read it (fix(plugin-approvals): an approval notification names the record by its title, as the recipient may read it #26389)13e5c0e77afix(cli): an os create --in-repo plugin passes its own typecheck and build (fix(cli): an os create --in-repo plugin passes its own typecheck and build #26395)b7b04e5d8cfix(plugin-approvals,plugin-sharing): the approver a pending step waits on reads the record its request is about (fix(plugin-approvals,plugin-sharing): the approver a pending step waits on reads the record its request is about #26397)92a0073b86fix(plugin-email)!: retire renderTemplate, the render export that takes an email template body with no save moment (fix(plugin-email)!: retire renderTemplate, the render export that takes an email template body with no save moment #26399)0e7be7e10ffix(react,components,app-shell): a delegated admin's out-of-scope save shows the server's reason (fix(react,components,app-shell): a delegated admin's out-of-scope save shows the server's reason #26363)e677770ae0refactor(app-shell): move ObjectView's header toolbar and list URL state into sibling hooks (slice 8) (refactor(app-shell): move ObjectView's header toolbar and list URL state into sibling hooks (slice 8) #26396)57ab06bd16fix(components)!: the filter builder's list value holds the spec list's entries, so a boolean switched to In is a rule the spec accepts (fix(components)!: the filter builder's list value holds the spec list's entries, so a boolean switched to In is a rule the spec accepts #26380)b7f8a2ebdbrefactor(objectql): move the migration-flag and attestation bodies out of engine.ts into engine-migration-flags.ts ([maintainer] refactor(objectql): splitsrc/engine.ts(23,903 lines, +7,501 in 30 days) along itsObjectQLseams, one move-only slice per PR #25522 cut 13) (refactor(objectql): move the migration-flag and attestation bodies out of engine.ts into engine-migration-flags.ts (#25522 cut 13) #26403)9c3097eb96fix(fields,plugin-grid): a grid date column reads in one absolute face (fix(fields,plugin-grid): a grid date column reads in one absolute face #26341)591a796a4eskills(objectstack-ui): teach list-view grouping andorderBy, the duration measure, action copy holes, and a flow action'sonSuccess(skills(objectstack-ui): teach list-view grouping andorderBy, the duration measure, action copy holes, and a flow action'sonSuccess#26385)5507225e3ddocs(skills): objectstack-i18n lists every top-level translation group and the nested form, tab and approval keys (docs(skills): objectstack-i18n lists every top-level translation group and the nested form, tab and approval keys #26388)436d284069feat(spec)!: retire PackageDependency.optional and AppManifest.dependencies, the two unread dependency spellings (ADR-0141 D8) (feat(spec)!: retire PackageDependency.optional and AppManifest.dependencies, the two unread dependency spellings (ADR-0141 D8) #26401)dada291a52refactor(metadata-protocol): move the sealed overlay boot report out of protocol.ts into protocol-sealed-overlay-report.ts ([maintainer] refactor(metadata-protocol): splitsrc/protocol.ts(33,065 lines, +10,169 in 30 days) along itsObjectStackProtocolImplementationseams, one move-only slice per PR #25467 cut 21) (refactor(metadata-protocol): move the sealed overlay boot report out of protocol.ts into protocol-sealed-overlay-report.ts (#25467 cut 21) #26404)56b0a586ectest(dogfood): re-measure the authz census for the approval record-lock read (test(dogfood): re-measure the authz census for the approval record-lock read #26406)96f1258582docs(skills): objectstack-automation teaches the emailField recipient, flow requiredPermissions, excludeSubmitter and the screen file field (docs(skills): objectstack-automation teaches the emailField recipient, flow requiredPermissions, excludeSubmitter and the screen file field #26390)e0d6317440Run seven lint gates through their root check:* alias instead of a copied command (Run seven lint gates through their root check:* alias instead of a copied command #26409)9a0108cdc2fix(app-shell): a record locked by an approval is shown locked to a reader outside that approval (fix(app-shell): a record locked by an approval is shown locked to a reader outside that approval #26402)d1a2e71a32refactor(driver-sql): move the upsert conflict-target path out of sql-driver.ts into sql-driver-upsert-conflict-target.ts ([maintainer] refactor(driver-sql): splitsrc/sql-driver.ts(22,096 lines, +2,533 in 30 days) along itsSqlDriverseams, one move-only slice per PR #25521 cut 14) (refactor(driver-sql): move the upsert conflict-target path out of sql-driver.ts into sql-driver-upsert-conflict-target.ts (#25521 cut 14) #26408)9494dd874ffeat(spec)!: retire PositionGrantVia 'name' and the Setup by-name grant readers (feat(spec)!: retire PositionGrantVia 'name' and the Setup by-name grant readers #26398)d15f99d72fci: one setup-workspace composite action replaces the setup steps copied into 38 jobs, and pull requests stop saving the pnpm store (ci: one setup-workspace composite action replaces the setup steps copied into 38 jobs, and pull requests stop saving the pnpm store #26419)411fc00fc8fix(plugin-detail): reveal the inline-edit pencil on keyboard focus (fix(plugin-detail): reveal the inline-edit pencil on keyboard focus #26325)08ed7e295frefactor(app-shell): move ObjectView's view tab strip, plugin schema and header chrome into sibling hooks (slice 9) (refactor(app-shell): move ObjectView's view tab strip, plugin schema and header chrome into sibling hooks (slice 9) #26412)75afeffdf5skills(objectstack-platform): teachdemoStaffand when to pick it overdevLogins(skills(objectstack-platform): teachdemoStaffand when to pick it overdevLogins#26420)26e7c75e9afix(app-shell): a narrow-window toast beside the record drawer no longer covers the record's Edit and more buttons (fix(app-shell): a narrow-window toast beside the record drawer no longer covers the record's Edit and more buttons #26426)
Filed by.github/workflows/scheduled-full-run-card.yml. Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 27, 2026
devx seat 2 · reading, not a claim. The red in run 40447801748 (schedule, head
26e7c75e) is one job,Test UI (1/16): the twodoc-version-claimsnode-version:count assertions (expected 1 >= 15). That is the.nvmrcfallout of #26419, fixed by #26432 (#26421), which merged at 04:12Z as67461403, after this run's head. On67461403the push CI run 40448487170 and the merge-group run 40447450044 are green, Test UI 16/16. No fix to dispatch. This card closes when the next 4-hourly scheduled CI run onmain(about 08:05Z) is green; seat 2 watches it, and if that run is red for anything else, the card is dispatched as an ordinary devx card. It does not block 18.2:release.yml's full-battery gate reads the newest schedule or push CI run at or before the version commit.Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
Triage:
pm:on-holduntil the next 4-hourly run · triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-27T04:54Z⛔ Not a claim.
Test UI(1/16), thedoc-version-claimscount from ci: one setup-workspace composite action replaces the setup steps copied into 38 jobs, and pull requests stop saving the pnpm store #26419. The fix (ui/scripts:doc-version-claimsanchors the docs' Node version on literalnode-version:lines in .github/workflows, so #26419 (Node read from.nvmrc) turns it red #26421, PR test(ui): doc-version-claims anchors CI's Node on .nvmrc as well as literal node-version lines #26432,67461403) merged at 04:12Z, after this run's head. Push and merge-group CI on67461403are green (devx seat 2's reading, 6433856821). This card holds until the next scheduled run.area:devpathadded.Restart-when: the next 4-hourly
CIschedule run (about 08:05Z) is red. If it is green, that run closes this card.Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
The 08:05Z scheduled full run on
mainis green: CI 40471268406 onab3c776a, 39 of 39 jobs success, including all 16 Test UI shards and Test Core. The red this card tracked was #26419's.nvmrcmove, fixed by #26432 (reading 6433856821). Closed by devx seat 2 (#20163).Generated by Claude Code