Filing gate: ③ a maintainer-directed task. Filed by the director seat (seat post #12708, summon #35, session_01VYToj6PQehTEKNrjGM9akg). The maintainer asked whether the North Star should carry UI-quality requirements after finding an ugly console dialog (「北极星是否应该加上用户体验,用户界面美观度相关的要求,我发现了很丑的界面」); the seat proposed one North Star sentence plus one coverage-sweep angle that gives it a measurable form; the maintainer answered 「同意,立卡」. The North Star half is the companion card filed with this one (titled "docs(north-star): priority rule 4 gains the human-facing standard"); this card is the checklist half.
Reader: the dev the skills lane dispatches. Two surfaces: docs/qa/platform-checklist/SWEEP.md (not governed) and .claude/skills/checklist-author/SKILL.md (Tier S, .claude/**). A mixed diff is not judged by proportion, so the Tier S hunk goes in its own PR and lands on the contract-review PASS; the SWEEP.md PR lands on the normal path.
What the angle is
The sweep's angle table enumerates the platform from independent readers and diffs each against the checklist. Every existing angle hunts for a capability with no item. This angle hunts for a different miss class: a surface that renders, passes its functional items, and still violates the one design system — hand-rolled wrappers around primitives, per-usage spacing and width, a selection column with no affordance, two status bars where one belongs, a primary action enabled with nothing to act on. The first specimen is objectui's shared RecordPickerDialog (ten call sites), whose every visible defect maps to one such override.
Add one row to the table in SWEEP.md 「What a sweep is」, in the table's own grammar (angle · enumerate from · catches):
- angle: Surface kinds vs the one design system
- enumerate from: objectui
apps/console/src/preview-gallery.tsx; the @object-ui/components primitives a surface composes (Dialog, Table, Input, Checkbox, Button, the custom wrappers under packages/components/src/custom/); every widget that composes them into a surface kind — dialog, record picker, list, form, record page, dashboard, empty state, loading state
- catches: surfaces that pass their functional items but override the design system — a wrapper carrying a second border, a container killing the primitive's header rhythm, a fixed width unrelated to content, selection without the Checkbox primitive, split status bars, a confirm enabled at zero selected, navigational links inside a picker (the
RecordPickerDialog class, 2026-10)
The items this angle authors are one per surface kind, not one per screen — the list of kinds above is the whole finite set, so the angle cannot sprawl into taste cards. Each item's oracle is screenshot for "renders as the primitive composes it" and dom after that for the checkable facts (the Checkbox primitive is present in multi-select rows; exactly one border on the search input; the confirm control carries disabled at zero selected; one footer bar). The reference is the design system's own composition (objectui AGENTS.md rule #3, "serializable Shadcn": follow Shadcn's DOM structure), ⛔ never a reference image checked into the repo — runs/README.md keeps screenshots out of git, and this angle keeps that.
Prose that counts the angles follows the table: 「Five READ-ONLY gap-hunter agents」 and step 2 「Dispatch the five hunters」 in SWEEP.md; five-angle in the skill's description line, 「5 个 hunter」 and 「五个角度」 in .claude/skills/checklist-author/SKILL.md. North Star priority rule 4: a doc or skill written for AI that says the wrong count is a product defect, so the count words change with the row. Row position is not content: the maintainer has a planned sweep instruction for a "four promises" angle (#22172, 「加第六角:四个承诺」); whichever lands first takes the next number.
⛔ Not this card
Landing shape
- PR 1:
docs/qa/platform-checklist/SWEEP.md — the row and the two count words; Fixes this card; skip-changeset; Clause-②: no; node scripts/check-platform-checklist.mjs stays green.
- PR 2:
.claude/skills/checklist-author/SKILL.md — the three count words only; references this card; Tier S: draft until the contract review PASS, then ready → queue; the skill lints (check-skill-line-ratchet, check-skill-id-lint) green.
- Acceptance: the table has the row above in the table's grammar; every count word in both files agrees with the table; nothing else in either file moves.
Dedupe: the 128 open objectstack issues were listed through the repository endpoint and scanned (title and body) for coverage sweep / sweep angle / 第六角 / 第七角 / 设计师经手 / 美观 / design system: 0. Prior rulings read: recordpickerdialog, design system, 设计系统, 美观, visual baseline, shadcn → 0 hits.
Related: docs/qa/platform-checklist/SWEEP.md · docs/qa/platform-checklist/RUNNER.md (screenshot outranks dom) · .claude/skills/checklist-author/SKILL.md · #22172 · objectui AGENTS.md rule #3 · objectui apps/console/src/preview-gallery.tsx.
Generated by Claude Code
Filing gate: ③ a maintainer-directed task. Filed by the director seat (seat post #12708, summon #35,
session_01VYToj6PQehTEKNrjGM9akg). The maintainer asked whether the North Star should carry UI-quality requirements after finding an ugly console dialog (「北极星是否应该加上用户体验,用户界面美观度相关的要求,我发现了很丑的界面」); the seat proposed one North Star sentence plus one coverage-sweep angle that gives it a measurable form; the maintainer answered 「同意,立卡」. The North Star half is the companion card filed with this one (titled "docs(north-star): priority rule 4 gains the human-facing standard"); this card is the checklist half.Reader: the dev the skills lane dispatches. Two surfaces:
docs/qa/platform-checklist/SWEEP.md(not governed) and.claude/skills/checklist-author/SKILL.md(Tier S,.claude/**). A mixed diff is not judged by proportion, so the Tier S hunk goes in its own PR and lands on the contract-review PASS; the SWEEP.md PR lands on the normal path.What the angle is
The sweep's angle table enumerates the platform from independent readers and diffs each against the checklist. Every existing angle hunts for a capability with no item. This angle hunts for a different miss class: a surface that renders, passes its functional items, and still violates the one design system — hand-rolled wrappers around primitives, per-usage spacing and width, a selection column with no affordance, two status bars where one belongs, a primary action enabled with nothing to act on. The first specimen is objectui's shared
RecordPickerDialog(ten call sites), whose every visible defect maps to one such override.Add one row to the table in
SWEEP.md「What a sweep is」, in the table's own grammar (angle · enumerate from · catches):apps/console/src/preview-gallery.tsx; the@object-ui/componentsprimitives a surface composes (Dialog, Table, Input, Checkbox, Button, the custom wrappers underpackages/components/src/custom/); every widget that composes them into a surface kind — dialog, record picker, list, form, record page, dashboard, empty state, loading stateRecordPickerDialogclass, 2026-10)The items this angle authors are one per surface kind, not one per screen — the list of kinds above is the whole finite set, so the angle cannot sprawl into taste cards. Each item's oracle is
screenshotfor "renders as the primitive composes it" anddomafter that for the checkable facts (the Checkbox primitive is present in multi-select rows; exactly one border on the search input; the confirm control carriesdisabledat zero selected; one footer bar). The reference is the design system's own composition (objectuiAGENTS.mdrule #3, "serializable Shadcn": follow Shadcn's DOM structure), ⛔ never a reference image checked into the repo —runs/README.mdkeeps screenshots out of git, and this angle keeps that.Prose that counts the angles follows the table: 「Five READ-ONLY gap-hunter agents」 and step 2 「Dispatch the five hunters」 in
SWEEP.md;five-anglein the skill's description line, 「5 个 hunter」 and 「五个角度」 in.claude/skills/checklist-author/SKILL.md. North Star priority rule 4: a doc or skill written for AI that says the wrong count is a product defect, so the count words change with the row. Row position is not content: the maintainer has a planned sweep instruction for a "four promises" angle (#22172, 「加第六角:四个承诺」); whichever lands first takes the next number.⛔ Not this card
coverage.json.RecordPickerDialogcontract card (filed together with this one) is the first repair; later repairs are cards the sweep'sFOLLOW-UPS.mdsurfaces.coverage.jsonbetween core and projection: withdrawn by the maintainer at docs(north-star): align the compass with the 'ontology is the software' positioning — identity line, two user classes, promise-to-step mapping, the 'you own it' row, rule 4 wording (Tier H, maintainer-directed) #22172.Landing shape
docs/qa/platform-checklist/SWEEP.md— the row and the two count words;Fixesthis card;skip-changeset;Clause-②: no;node scripts/check-platform-checklist.mjsstays green..claude/skills/checklist-author/SKILL.md— the three count words only; references this card; Tier S: draft until the contract review PASS, then ready → queue; the skill lints (check-skill-line-ratchet,check-skill-id-lint) green.Dedupe: the 128 open objectstack issues were listed through the repository endpoint and scanned (title and body) for coverage sweep / sweep angle / 第六角 / 第七角 / 设计师经手 / 美观 / design system: 0. Prior rulings read: recordpickerdialog, design system, 设计系统, 美观, visual baseline, shadcn → 0 hits.
Related:
docs/qa/platform-checklist/SWEEP.md·docs/qa/platform-checklist/RUNNER.md(screenshot outranks dom) ·.claude/skills/checklist-author/SKILL.md· #22172 · objectuiAGENTS.mdrule #3 · objectuiapps/console/src/preview-gallery.tsx.Generated by Claude Code