Repository navigation
4-hourly full run: red on main (Lint & Type Check) #27319
Description
os-4-hourly-full-run-lint-type-check — 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 (Lint & Type Check)
Swept 2026-10-28T16:39:44.669Z · run log · commit d4427aedcf4c490637bdd40d850ce8344c4da4a1 · conclusion failure.
Lint & Type Check 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: 9dec05458f (run 40686729144, the last green Lint & Type Check schedule run) .. d4427aedcf — compare
8d79bbd781feat(spec): draft provenance records MCP build-door writes and the OAuth client that made them (feat(spec): draft provenance records MCP build-door writes and the OAuth client that made them #27220)fbe344b3c5feat(spec)!: the action blocks spell the destructive variantdanger, the word ActionSchema.variant uses (feat(spec)!: the action blocks spell the destructive variantdanger, the word ActionSchema.variant uses #26966)d63f24a731pm-dispatch(mailbox): one mailbox PR per seat with a closed doorbell vocabulary; seat-online/offline notices; alternate pick for multi-seat lanes (pm-dispatch(mailbox): one mailbox PR per seat with a closed doorbell vocabulary; seat-online/offline notices; alternate pick for multi-seat lanes #27143)d348707142pm-dispatch: governed is an approval tier, the lane follows the subject — rule text to skills, workflow wiring to devx (pm-dispatch: governed is an approval tier, the lane follows the subject — rule text to skills, workflow wiring to devx #27082)c5b9f5f3e7pm(labels): ensure-pm-labels.sh creates pinned and work-in-progress — stale.yml exempts both and the per-seat mailbox carries pinned (pm(labels): ensure-pm-labels.sh creates pinned and work-in-progress — stale.yml exempts both and the per-seat mailbox carries pinned #27211)9c1214006edocs(adr): ADR-0066 ⑧'swhennote names the record-scoped field projection as a third, row-aware reader (Record form: a row-conditioned field lock (when) disables the field on every row, though the write gate admits it on rows the condition does not name #26594, ruling B) (docs(adr): ADR-0066 ⑧'swhennote names the record-scoped field projection as a third, row-aware reader (#26594, ruling B) #27152)295699d51dchore(scripts): refuse a workflow expression naming a context its key cannot see (chore(scripts): refuse a workflow expression naming a context its key cannot see #27242)40320f18cffeat(formula, plugin-email, lint)!: a mail template hole whose formatter the whitelist does not name is refused by name, never rendered raw (feat(formula, plugin-email, lint)!: a mail template hole whose formatter the whitelist does not name is refused by name, never rendered raw #27217)9ff8154cf6refactor(app-shell): retire the designer string table and its parity gate (refactor(app-shell): retire the designer string table and its parity gate #27136)4d3a077f66test(driver-sqlite-wasm): run the persistence suites' temp files on /dev/shm, so a flush's fsync stops waiting on the shard's other suites (test(driver-sqlite-wasm): run the persistence suites' temp files on /dev/shm, so a flush's fsync stops waiting on the shard's other suites #27245)0cd578f726fix(spec)!: a fixed currency config needs its code — currencyConfig.defaultCurrency loses its CNY default (fix(spec)!: a fixed currency config needs its code — currencyConfig.defaultCurrency loses its CNY default #27218)c63ce2ad72feat(spec): an object declares the business order of its related lists, and 'primary' places a list (feat(spec): an object declares the business order of its related lists, and 'primary' places a list #27215)1e8e5296f3fix(ui): the page designer canvas draws an authored record:details select and location the way the record page does (fix(ui): the page designer canvas draws an authored record:details select and location the way the record page does #27253)8bb2c31bd8feat(security): the record field-access answer says whether the record itself is writable (feat(security): the record field-access answer says whether the record itself is writable #27232)c13ef04c3efix(spec)!: an action's newTabUrl is a backend path starting with /; dashboard read-refusal and citation prose (fix(spec)!: an action's newTabUrl is a backend path starting with /; dashboard read-refusal and citation prose #27252)7858c1d16bfix(app-shell): name the page block inspector's JSON editor by its label (fix(app-shell): name the page block inspector's JSON editor by its label #27254)3beb224001fix(lint): approver verdicts hand an empty slate to onEmptyApprovers instead of saying the request stalls (fix(lint): approver verdicts hand an empty slate to onEmptyApprovers instead of saying the request stalls #27248)385aa129d1fix(spec,service-automation)!: QuerySchema.fields and the get_record node's fields refuse an empty projection (fix(spec,service-automation)!: QuerySchema.fields and the get_record node's fields refuse an empty projection #27244)1287b2fa30docs(ui): generate the component reference for all 106 components from sdui.manifest.json; retire the Setup, Console and Studio pages into the metadata pages and rename the section User Interface (docs(ui): generate the component reference for all 106 components from sdui.manifest.json; retire the Setup, Console and Studio pages into the metadata pages and rename the section User Interface #27179)c082af625edocs(spec): a promoted bulk lookup param carries its field's picker settings, and the spec now says so (docs(spec): a promoted bulk lookup param carries its field's picker settings, and the spec now says so #27255)39ea1d67e5pm(post-stamped): every seat post opens with a signature lineLANE#N · ACCOUNT · SESSION, refused without one; the recognisers skip it (pm(post-stamped): every seat post opens with a signature lineLANE#N · ACCOUNT · SESSION, refused without one; the recognisers skip it #27263)3af6022ed6pm-dispatch(p0): a lane's p0 is dispatched in the same round past every cap and lower-priority work pauses; finder stops the bleed, then escalation, then triage stop-bleed; main red and deterministic queue red are p0 at first touch; full-run card filed p0 (pm-dispatch(p0): a lane's p0 is dispatched in the same round past every cap and lower-priority work pauses; finder stops the bleed, then escalation, then triage stop-bleed; main red and deterministic queue red are p0 at first touch; full-run card filed p0 #27266)0d45c0e71ffix(ui): a wizard form view keeps layout horizontal, and the form page draws it as steps (fix(ui): a wizard form view keeps layout horizontal, and the form page draws it as steps #27267)abba2c45a6docs(sdk): fold objectui.org into objectstack docs, K1 — move the Object UI SDK guide and 57 renderer-type pages into content/docs/sdk (docs(sdk): fold objectui.org into objectstack docs, K1 — move the Object UI SDK guide and 57 renderer-type pages into content/docs/sdk #27168)2302b92b1bfeat(console): ownership queues in the Console — two-source queue pickers, Claim on a queued record, an In-a-queue list filter, and the authoring guide (ADR-0142) (feat(console): ownership queues in the Console — two-source queue pickers, Claim on a queued record, an In-a-queue list filter, and the authoring guide (ADR-0142) #27264)c59b1bfa0erefactor(ui)!: retire@object-ui/plugin-aiand its three node types (refactor(ui)!: retire@object-ui/plugin-aiand its three node types #27042)e9c88f7cfadocs(adr): ADR-0145 — ui?: nevertombstones retire on the spec's one-major window (docs(adr): ADR-0145 — ui?: nevertombstones retire on the spec's one-major window #27251)38bbc2f25drefactor(plugin-view): read the three declared object-view keys without a cast (refactor(plugin-view): read the three declared object-view keys without a cast #27273)5b5cff15a5fix(service-analytics): a preset dateRange on a date field counts the reference zone's calendar days, east of UTC too (fix(service-analytics): a preset dateRange on a date field counts the reference zone's calendar days, east of UTC too #27271)6dbff8e20afeat(spec,ui)!: retire the record page's slots.tabs; a page that needs its own strip is kind: 'full' (feat(spec,ui)!: retire the record page's slots.tabs; a page that needs its own strip is kind: 'full' #27219)b88519eb30fix(spec): a book's Uncategorized group skips docs a sibling book claims (fix(spec): a book's Uncategorized group skips docs a sibling book claims #27262)bf01226b62test(i18n): give the studio zh-only key families one home (test(i18n): give the studio zh-only key families one home #27289)b44580751cfeat(formula, plugin-email, lint)!: a mail template hole whose text after the|is not a formatter name is refused by name, and mail reads every formatter part as the in-app dialect does (feat(formula, plugin-email, lint)!: a mail template hole whose text after the|is not a formatter name is refused by name, and mail reads every formatter part as the in-app dialect does #27270)fa5e7825e5pm-dispatch(batch): a slot is a RUNNING subagent or card thread — waiting PRs occupy none; the round report counts running and un-landed separately; a soft ceiling of 5 accepted Tier H PRs awaiting a human (pm-dispatch(batch): a slot is a RUNNING subagent or card thread — waiting PRs occupy none; the round report counts running and un-landed separately; a soft ceiling of 5 accepted Tier H PRs awaiting a human #27292)4c9d0d3206docs(changeset): correct the objectql release note for the set-rooted predicate delete walk (docs(changeset): correct the objectql release note for the set-rooted predicate delete walk #27288)6eaf40436bfix(spec): register the newTabUrl path refusal as an ADR-0087 D3 entry; the form label says path (fix(spec): register the newTabUrl path refusal as an ADR-0087 D3 entry; the form label says path #27282)79ed6f7da1feat(formula, plugin-email, messaging, automation, ui)!: a templatecurrencyhole with no argument formats in the organization's default currency, and with none the render refuses it (feat(formula, plugin-email, messaging, automation, ui)!: a templatecurrencyhole with no argument formats in the organization's default currency, and with none the render refuses it #27249)0e205feafftest(ui/scripts): the inputs guards and the lychee pins read the configs that run; ui/lychee.toml is deleted, ui/turbo.objectui.json stays (test(ui/scripts): the inputs guards and the lychee pins read the configs that run; ui/lychee.toml is deleted, ui/turbo.objectui.json stays #27281)65b4920811test(ui): run the kept Console live specs nightly; delete the stale and duplicated ones (test(ui): run the kept Console live specs nightly; delete the stale and duplicated ones #27294)a0aa8a1f3fpm-dispatch(contract-review): the lane reviews its own PRs, triage takes only an owed review nobody claims (drafts included); one Contract-review-claim line per head; an in-repo owed-review list (pm-dispatch(contract-review): the lane reviews its own PRs, triage takes only an owed review nobody claims (drafts included); one Contract-review-claim line per head; an in-repo owed-review list #27295)d4427aedcftest(components): pin a declared danger action on action:bar to the app-todo shape (test(components): pin a declared danger action on action:bar to the app-todo shape #27300)
Filed by.github/workflows/scheduled-full-run-card.yml. Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 28, 2026
domain:devx#1 · sunhaolin · session_017xRBcVyH9FzSkzAGmz8LNE
Claim: PM loop round 2 · 2026-10-28T17:45Z · main-red anchor (p0 at first touch; anchor exemption from the triage audit)
Session:
session_017xRBcVyH9FzSkzAGmz8LNE(devx seat 1)Account:
sunhaolin(the seat's linked user asGET /useranswers it; the card's assignee)Branch: none — no code is owed unless the re-run below fails again
Worktree: none
Domain:
domain:devxSeat:
domain:devx#1File surface: none yet. If the re-run reproduces, the root cause goes on its own card and this claim names it (stop on breach; explain in the report)
Container & model: S, seat-run diagnosis, no dev ·
mode:subagentnot used ·model: default (opus)·effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: no commit produces it. The failing step is
actions/checkoutinLint · CI, release & engine gates(job 122942082788):gitexit 128,RPC failed; HTTP 408,expected 'packfile'(check-run annotations). It is a fetch timeout before any gate ran. Every step after checkout isskipped, andLint & Repo Gatesis red only through its lane verdict | the platform path that covers it: the one re-run allowed for a job that died before any test body ran | it reachesmain's full-battery signal only; it blocks nothing (card body)Thread-read: none
Premise: holds (run 40723939011 on
d4427aedcf, conclusionfailure, read 2026-10-28T17:44Z)Serial constraints cleared: none touch this; no file is edited
Stop-bleed: no commit in the range
9dec05458f..d4427aedcfis at fault, so there is nothing to revert. Action: ONE re-run of the failed jobs of run 40723939011, on the samed4427aedcf. Green ⇒ transient, and the card closes on that evidence. A second failure is real ⇒ root-cause card, with this anchor kept open. Related evidence: #22034 (slow full-depth checkouts) is on hold; this run is a lint lane onmain, not its Test Core restart trigger, so it is cited there only if the re-run reproduces.objectstack-fleet commentedon Oct 28, 2026
domain:devx#1 · sunhaolin · session_017xRBcVyH9FzSkzAGmz8LNE
Closed
completed: the red was transient · 2026-10-28T18:12Z · claim 6476354289 fulfilled.d4427aedcf)Lint · CI, release & engine gatesfailed at its Checkout repository step:gitexit 128,RPC failed; HTTP 408,expected 'packfile'. Every gate step after it wasskipped.Lint & Repo Gateswas red only through that lane's verdict.d4427aedcf)Lint · CI, release & engine gates(job 122994805236) success.Lint & Repo Gates(job 122997966624) success. Run 40723939011 conclusionsuccess, completed 2026-10-28T17:52Z.No commit in
9dec05458f..d4427aedcfwas at fault, nothing was reverted, and no root-cause card is owed. The fetch timeout belongs to the checkout-cost class on #22034 (pm:on-hold). Its restart trigger names a Test Core shard on a product PR, not a lint lane onmain, so that card is not woken. If the next 4-hourly run is red, the workflow reopens this card or files a fresh one.