Skip to content

[pm:seat] domain:ui — objectui execution seat #5560

Description

@os-sales

Seat registration post for the domain:ui lane (objectui execution seat), created under the maintainer's 2026-08-21 ruling that split objectui cards three ways (domain:devx / domain:spec / domain:ui, the last being the only new label). This lane had no seat post until then.

Body is authoritative; title and assignee are derived views. Single writer: the sitting seat PM. Comments are audit only and never carry state.

1. Current PM

  • Session: session_012u2pRjcqAYtoEjgr3wwhnK
  • Seat: domain:ui @ objectstack-ai/objectui (execution seat — claims, dispatches, reviews, lands in this lane only)
  • Posture: round 11 resolved 5/5 (3 merged, 2 enqueued); between rounds
  • Batch size: 5 — raised from the default 3 by maintainer instruction, 2026-08-21: 「任务很多,并发保持5」. Standing for this lane until changed.
  • R1 11:56Z→13:00Z · R2 13:03Z→13:50Z · R3 13:53Z→14:51Z · R4 14:55Z→15:47Z · R5 15:52Z→16:54Z · R6 16:50Z→17:45Z · R7 17:50Z→18:37Z · R8 18:44Z→19:38Z (5/5) · R9 20:18Z→21:46Z (6 cards / 5 PRs, through a container restart) · R10 22:10Z→23:51Z (3 landed, 1 held, 1 carried, through a second restart) · R11 2026-08-22 00:05Z→01:15Z (5/5)

Lane job description lives in the skill (references/lanes/), not here — pointer, not a hand-copied relay.

2. Inherited ledger

Taken over from session_014zHsbJoTkTZeJQ5DLbRXrE, dark since 2026-08-21T10:43Z after losing the GitHub API write path. Mutex cleared before round 1: no prior seat post, no open-round marker, no live Claim: newer than one round.

Its three in-flight cards had all merged with nothing recording it — cleared in round 1:

card PR landed disposition
#5424 #5555 11:05Z needs-user-decision (access-control gate; maintainer floor)
#5034 #5558 11:05Z pm:queue. Residual is clause-②; also carries Blocked-by: #4989, so not dispatchable until that ruling lands.
#5522 #5559 11:35Z comment only — assignee qq9340100 is not this seat

Two deferral targets were phantom cards (objectui#5548, objectstack#10741 — 404, control-probed). objectstack#10805 filed for the orphaned p0 security remainder of #5522.

3. Hot-file serial queue

No round in flight. Round 11's holds are released: apps/console/src/components/FormPage.tsx + packages/app-shell/src/views/metadata-admin/** + packages/app-shell/src/index.ts (#5596), apps/console/src/hooks/useBranding.ts (#5368, deleted), packages/core/src/evaluator/ExpressionEvaluator.ts (#5580), packages/types/src/theme.ts (#5489), packages/app-shell/src/utils/paramToField.ts (#5312).

packages/core/src/actions/** remains held by the open draft #5644, which is not landing (see §6).

Round 12 first pick: #5344 — deferred from round 11 only because it lives in packages/app-shell/src/views/metadata-admin/inspectors/ and #5596 was editing that directory's barrel. That collision is now cleared.

4. Landing ledger

Rounds 1–11: forty-nine cards resolved, forty-eight PRs merged or enqueued. Zero rework landed, zero red CI, zero re-runs issued, zero failed escalations. Two cards landed-and-blocked (#5521, #5544): the PR merged, the card's residual is upstream. One card held for the maintainer (#5611).

Rounds 1–4 (fifteen cards): #5431/#5561 · #5553/#5563 · #4629/#5566 · #4568/#5568 · #5554/#5570 · #4998/#5572 · #4787/#5573 · #5521/#5575 · #5477/#5579 · #5363/#5578 · #5557/#5582 · #5562/#5584 · #5564/#5585 · #5428/#5588 · #5321/#5589.

Round 5 (five): #5399/#5592 · #5544/#5593 · #5542/#5597 · #5492/#5598 · #5476/#5599. #5544's premise was falsified and the PR landed as a pin, not the remedy.

Round 6 (five): #4620/#5604 · #4187/#5603 · #4282/#5609 · #4622/#5602 · #4596/#5606. #4282's any narrowing was attempted and backed out — three real TS2339s on overrideNotice, filed as #5611.

Round 7 (five PRs, six issues): #4765/#5614 · #4559+#4966/#5615 · #4319/#5616 · #4611/#5617 · #5610/#5618.

Round 8 (five — first round selected for user-visible defects over prose): #5583/#5621 · #5594/#5624 · #5586/#5626 · #5587/#5628 · #5574/#5629. Highlights: two icon maps, not one, failing differently (BarChart3 === ChartColumn is true, so only record membership catches a retired alias); leak sweep 23 → 181 targets, 119 of 158 leak, all ledgered; a dev declined a fold on the merits and gave #5596 its best input.

Round 9 (six cards, five PRs — first container restart): #5612+#5613/#5634 · #5595/#5635 · #5590/#5636 · #5622/#5638 · #5607/#5639. Highlights: a 2×2 truth table whose wide column carries its own negative control; four cited line numbers drifted +53 to +103; the #5542 pin inverted, not deleted; the local percent normalisation deleted, not repaired, with the card's proposed shape positively ruled out.

Round 10 (five cards — second restart): #5372/#5641 (22:41Z) · #5591/#5643 (23:33Z) · #5577/#5645 (23:51Z) · #5611/#5644 HELD · #5596 carried to R11. Highlights: a dev corrected this seat's governed-surface ruling; a dev disproved a claim this seat inserted into its own dispatch; a dev caught a probe of its own that could not fail (vi.mock on an unresolvable path silently no-ops).

Round 11 (five cards, five PRs — third dev-loss event, this one harmless):

card PR outcome note
#5580 #5649 merged 01:09:10Z Disproved the card, not just fixed it. The card said "not a defect — every statement in that block is true"; the checker binds the prose link to the module-level fail-soft export at :405, inside the sentence calling it "the throwing sibling". Also falsified this seat's .js-byte-identical prediction and proved the semantics point better than asked — 10 changed emitted lines, 0 non-comment — rather than reaching for the forbidden --removeComments.
#5489 #5650 merged 01:09:10Z Every consumer sweep carried a positive control (AnyComponentSchema 0 vs BaseSchema 131; theme 0 of 659 registered keys vs tooltip 1; "type":"theme" 0 vs "type":"form" 98). ADR-0087 answered in both directions. The acceptance test that pinned the dead shape VALID was inverted to prove it REFUSED. Two ablation legs failing in opposite directions on different assertions. Filed #5647, #5648.
#5368 #5651 merged 01:09:27Z Corrected this seat's clause-② premiseapps/console IS published as @object-ui/console; the conclusion survives by a stronger route. Caught trap #4 twice, once inside its own PR-body audit ((fix|close|resolve)[sd]? cannot match Fixes). Found the guide edit was mandatory, not optional. Found sibling agents' vitest processes and killed only its own by PID after checking /proc/PID/cwd.
#5596 #5653 enqueued 01:15Z Console pins read both types back out of the exported buildSections signature rather than naming them, so a re-inlined copy fails even if it agrees on every key the day it is written. Stale dist still carried the old hand-written interfaces — caught before it produced a false reading. Filed #5652 (a third mirror in packages/react, already drifted).
#5312 #5655 enqueued 01:15Z The in-source lockstep comment was false in both senses — the two faces shared no object and had already split by one member (tree). Pinned by identity, not membership, because every membership assertion is satisfied by the member-identical private copy this PR removes — a value check would have passed on the defect. Four legs. Filed #5654 (which arrived unlabelled; this seat added finding + domain:ui so it would not sit outside every queue).

Findings filed this session, unassigned for triage: #5565, #5567, #5569, #5576, #5577, #5580, #5581, #5590, #5591, #5595, #5596, #5605, #5607, #5608, #5611, #5612, #5613, #5619, #5620, #5623, #5625, #5627, #5630, #5631, #5632, #5633, #5637, #5642, #5647, #5648, #5652, #5654, objectstack#10805, objectstack#10928. Eighteen filed by this session have since been graded and worked.

5. Notes

6. Awaiting the maintainer

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions