You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Seat registration — domain:devx @ objectui, seat 2. Lane scope and standing duties live in the pm-dispatch skill (references/lanes/devx.md in objectstack). This post carries current state only. Readers: body + comments later than the body's last edit. Seat 1 of this lane is objectui#5748; each seat keeps its own post, and claims carry Seat: domain:devx#2.
1 · Current PM
🟢 seated (R5, a maintainer direct dispatch): session session_01TdiauJaVCHuj45EzZGUxHh, account huangyiirene, re-seated 2026-09-30T13:43Z (marker 5912527248).
Scope: objectui#11070 and objectui#6152, both domain:spec cards, plus the child cards their handling files, and this lane's own queue.
The orders, verbatim: 「11070 6152 如果没人在处理你也接管派发」 and 「并发保持3」.
The domain:spec seat objectui#10217 confirmed on objectui#6152 (5923416136) that these cards stay with this seat.
R1–R4 closed with the briefs 5903852385 and 5910406510.
Landed in R5 (14 PRs, each with an at-tier PASS naming its landing head, or no review face):
Concurrency: 「并发保持3」, as of 2026-10-01T08:48Z. Every dev runs under memory discipline: the verify lock, a 4 GB heap, 2 vitest workers, and a watchdog at 2.5 GB.
In flight: 1. objectui#11070 round 8 (claim 5927734710): the grid widget's field-level keys (reorder, total, and four undeclared reads), plus the carried formula.mdx evaluator check.
The domain:devx queue is EMPTY, so two slots have nothing to take. objectui#4806 carries no state label and objectui#3592 is pm:on-hold. The seat refills the moment a domain:devx + pm:queue card appears.
Owed by this seat:
objectui#11174: the first scheduled Half-State Patrol run after its landing (cron 37 1,7,13,19 UTC; the 13:37 run today) is read and recorded on the card.
BASELINE.squashMerge for 4acbea07 = 993f27e rides objectstack#20646.
Decision box: empty. objectui#11228 was ruled C (5921018991). Its adjacent defect is filed as objectstack#20960 (domain:spec).
R4 (05:53Z to close), under the maintainer's three direct orders (「#18471 和 objectui#5867: 负责人都超过 24 小时没回应,你负责接手处理」, 「objectstack 20824 你也接手处理完」, then the close):
Landed, 2 PRs:
objectstack#20798 → PR objectstack#20812 (79114850f): the half-state-patrol action's declared anchor-optional input (decision A of objectstack#20793).
objectstack#19278 → PR objectstack#20824 (30839063b): Test Core's slice carried in a task-declared OS_TEST_SHARD, so the slice hash sees its closure.
Filed: objectui#11174; objectstack#20786 (repo:cloud) and #20787 (repo:hotcrm); objectstack#20793 (decision, ruled A and closed); objectstack#20798 (closed).
Released:
objectstack#18471 is pm:blocked on its three children, unassigned (Release: on the card).
objectui#11174 is pm:queue, unassigned. Its handover pins a main sha that contains 79114850f and passes anchor-optional: true.
#11174 carries its handover record. #11101 carries the owed BASELINE.squashMerge back-fill.
pm:dispatched
objectui#5867 (p3)
The stay-behind above. PR #11176 is draft, 17 blocks on 8 pages.
pm:blocked
objectui#5250 (p2)
Blocked on objectui#11070 + objectui#6152 (domain:spec). PR #11069 is parked. Un-park steps: 5887006513 + 5903643992.
pm:on-hold / no state
objectui#3592 / objectui#4806
unchanged
Decision box: none open. Lane findings: 0 filed. Two carried, not filed, are on objectstack#19278's landing record: a stale ci.yml run listing in select-shard-timings-run, and the partitioner reading cli UNSLICED on a main-side dataset.
3 · Hot-file serial queue
file / family
holder
note
packages/types/src/field-types.ts (GridFieldMetadata) · packages/fields/src/widgets/GridField.tsx · plugin-form/src/MasterDetailForm.tsx / LineItemsPanel.tsx (the grid config) · fields-grid fixtures · grid.mdx · formula.mdx (only if its check fails)
Seat registration —
domain:devx@objectui, seat 2. Lane scope and standing duties live in the pm-dispatch skill (references/lanes/devx.mdin objectstack). This post carries current state only. Readers: body + comments later than the body's last edit. Seat 1 of this lane is objectui#5748; each seat keeps its own post, and claims carrySeat: domain:devx#2.1 · Current PM
session_01TdiauJaVCHuj45EzZGUxHh, accounthuangyiirene, re-seated 2026-09-30T13:43Z (marker5912527248).domain:speccards, plus the child cards their handling files, and this lane's own queue.domain:specseat objectui#10217 confirmed on objectui#6152 (5923416136) that these cards stay with this seat.5903852385and5910406510.c021b35), round 3 → PR feat(types,fields): formula and summary widgets read the spec's returnType and summaryOperations; field metadata retires the snake spellings (objectui#11070, round 3) #11240 (615346d), round 4 → PR feat(types,core,fields,app-shell,plugins)!: reference is the only relational-target spelling objectui writes or reads; reference_to retires (objectui#11070, round 4) #11264 (f61dab1), round 5 → PR feat(types,components,fields,plugin-form,plugin-dashboard)!: the text family reads the spec's minLength / maxLength alone; auto_compute, auto_update and FieldMeta.display_field retire (objectui#11070, round 5) #11307 (dd5ff19), round 6 → PR feat(types,plugin-form,plugin-charts,app-shell)!: dashboard widgets bind a dataset in the catalog and docs; FormulaFieldMetadata takes the spec's expression; three display-pointer readers read displayField alone (objectui#11070, round 6) #11333 (19f484f), round 7 → PR feat(types,fields)!: the grid field's columns and object-chart's dataSource are the spec's, by reference; GridColumnDefinition retires (objectui#11070, round 7) #11352 (75dcc81).0c95d3d), round 4 → PR feat(types,components)!: retire four zero-read or third-spelling keys, mirror two chatbot keys, file eighteen runtime slots by name (objectui#6152, round 4) #11285 (3e4fa2c), round 5 → PR feat(types,components)!: retire data-table selectionStyle and chatbot floatingConfig on both faces, file data-table's inline-edit flags by name (objectui#6152, round 5) #11320 (b5b928a).993f27e); objectui#11174 → PR ci(half-state-patrol): call objectstack's composite action pinned to a sha, with the no-anchor opt-in (objectui#11174) #11332 (2c274e3); objectui#11165 → PR docs(guide): slotted-pages header example keeps only PageHeaderProps keys; pin it (objectui#11165) #11339 (743181a).92bcc82), batch 8 → PR docs: re-fence the complex, disclosure, layout, navigation and overlay remainder of objectui#5867 as ts, 31 blocks across 31 component pages (batch 8) #11346 (846342b).main— objectui's half of objectstack-ai/objectstack#18471 (ruling 只做②) #11174, docs(guide): slotted-pages' "customize only the header" example writeseyebrowandiconon apage:header, which the contract refuses #11165, and finding(docs): TypeScript examples fenced as plaintext escape check-doc-snippet-types — 211 blocks in 122 files, and #5044 proved one of them taught a type error under a gate that reports the file as covered #5867 (completed at batch 8;5927959633).pm:queuefor thedomain:speclane (Release:and handover5924497123). Its next item,ObjectGridSchema's keys, sits inobjectql.ts, which open PRs feat(plugin-tree,plugin-map,types): object-tree and object-map are judged and publish the keys their renderers honour (objectui#11168 slice 3) #11335 and fix(plugin-grid,core): the selection bar asks the one declared-gate definition, so a whitespace or empty-source visible gate shows there as on rows and toolbars (objectui#11322) #11350 hold.5927734710): the grid widget's field-level keys (reorder, total, and four undeclared reads), plus the carriedformula.mdxevaluator check.domain:devxqueue is EMPTY, so two slots have nothing to take. objectui#4806 carries no state label and objectui#3592 ispm:on-hold. The seat refills the moment adomain:devx+pm:queuecard appears.37 1,7,13,19UTC; the 13:37 run today) is read and recorded on the card.BASELINE.squashMergefor4acbea07=993f27erides objectstack#20646.5921018991). Its adjacent defect is filed as objectstack#20960 (domain:spec).objectui validategoes strict (objectui#5250) #11070: it blocks objectui#5250 (Blocked-by:), and so PR feat(cli):objectui validateandobjectui checkjudge through the strict authoring face (objectui#5250, slice A) #11069. Whether finding: JSON doc snippets are checked by nothing — the ts/tsx gate cannot see them, andBaseSchema.passthrough()makesobjectui validateaccept arbitrary undeclared keys #5250 needs all of 121 declared-but-unmirrored keys across 16 schema pairs — the lane #6058's new UnmirroredDeclared ledger made visible #6152 or only M3's class (iii) pairs is re-measured when spec(types): 32 keys the renderers read are refused by the strict authoring face — declare each or rule it runtime-only, the ruled precondition beforeobjectui validategoes strict (objectui#5250) #11070 closes.2 · Handover ledger (read 2026-09-30T11:36Z)
R4 (05:53Z to close), under the maintainer's three direct orders (「#18471 和 objectui#5867: 负责人都超过 24 小时没回应,你负责接手处理」, 「objectstack 20824 你也接手处理完」, then the close):
79114850f): the half-state-patrol action's declaredanchor-optionalinput (decision A of objectstack#20793).30839063b): Test Core's slice carried in a task-declaredOS_TEST_SHARD, so the slice hash sees its closure.repo:cloud) and #20787 (repo:hotcrm); objectstack#20793 (decision, ruled A and closed); objectstack#20798 (closed).pm:blockedon its three children, unassigned (Release:on the card).pm:queue, unassigned. Its handover pins amainsha that contains79114850fand passesanchor-optional: true.5903852385.Queue snapshot (objectui
domain:devx, open):pm:queue, dispatchableBASELINE.squashMergeback-fill.pm:dispatchedpm:blockeddomain:spec). PR #11069 is parked. Un-park steps:5887006513+5903643992.pm:on-hold/ no stateDecision box: none open. Lane
findings: 0 filed. Two carried, not filed, are on objectstack#19278's landing record: a staleci.ymlrun listing inselect-shard-timings-run, and the partitioner reading cli UNSLICED on amain-side dataset.3 · Hot-file serial queue
packages/types/src/field-types.ts(GridFieldMetadata) ·packages/fields/src/widgets/GridField.tsx·plugin-form/src/MasterDetailForm.tsx/LineItemsPanel.tsx(the grid config) ·fields-gridfixtures ·grid.mdx·formula.mdx(only if its check fails)form.ts/form.zod.ts(PR #11360),objectql.tsandplugin-grid(PRs #11335, #11350)packages/cli/src/commands/validate.ts·check.ts·utils/authoring-face.tsSerial rows are a cache: re-measure
GET /pulls/{n}/filesover all open PRs at dispatch time, every time.4 · Notes (standing facts, carried and re-read)
changeset-release.ymlrefreshes objectui#5400 only on the SCHEDULED lane.scripts/pm/check-half-states.mjsagainst this board (since PR chore(tooling): retire the objectstack tooling port — PM scripts run from objectstack with PM_SWEEP_REPO; hooks become plain copies (objectui#10208) #10458).PUT /pulls/{n}/update-branchhas no relay op.get_job_logs), or declare them NOT MEASURED.post-stampedrefuses a stamp on a body's opening line, and a bare stamp beside{{NOW}}. A label write chained after it must be gated on its exit code.label-writeunassigns with--unassign LOGIN.check-governed-merges.mjsfor objectui: use--branch origin/<ref> --root /path/to/objectui, or--pr objectstack-ai/objectui#N.objectui validateandobjectui checkjudge through the strict authoring face (objectui#5250, slice A) #11069's M1/M3).scripts/measure-strict-authoring-face.mjsover-reports.actions_run_trigger(rerun_failed_jobs).CONTRACT_REVIEW_TIERisclaude-fable-5-1. A PR touching no review face and sayingClause-②: noowes no record (contract-review.md).