Skip to content

sweep(spec): 2-item "self-descriptions answerable to reality" sweep II — one claim, one PR, per-item checklist (#7017 #6961) #7056

Description

@os-zhuang

Sweep card per the findings-round bundling discipline (#6243 / PR #6288 precedent; #7024 / PR #7032 is the immediate predecessor of this same criterion family), packaged by the domain:spec seat under the maintainer's cloud-bundling approval (2026-08-09 「同意」, chat) and today's batch-dispatch instruction. This card is the claim object; the member cards keep pm:queue but are NOT dispatch candidates while this sweep is open — selection excludes them via this member list.

Shared criterion (what makes these one sweep)

Both members are self-descriptions that are no longer answerable to reality — prose (a liveness-ledger evidence sentence, a .describe() contract note) asserting something the code does not back, or understating something the code now delivers. Every fix re-anchors the description to a verifiable, already-measured source of truth. No acceptance-face changes anywhere in this sweep — the legal-metadata set must be byte-identical before/after (the sweep's red line; a member that turns out to need an acceptance change is DROPPED and reported, not smuggled).

Members (read each card in full before touching it; premise-first per member)

  1. spec:liveness 台账 widgets.children.chartConfig 的 evidence 措辞不实(「chart-config bag forwarded」),按 #5175 实测改写(无争议先行步) #7017packages/spec/liveness ledger entry widgets.children.chartConfig: the evidence wording ("chart-config bag forwarded") is not what was measured. Rewrite evidence/note per the DashboardWidget.chartConfig 在 dashboard 元数据面只有 showLegend 落地 —— 12 个已声明键里 11 个惰性,liveness 台账那一行高估了证据 #5175 measurements (the card marks this the uncontroversial first step — 无争议先行步). Scope is the ledger entry's prose only.
  2. spec: UserFiltersSchema.allowAddTab.describe() 从「仅承诺渲染入口」升回真实语义(#5236 A1 落地后的联动半边) #6961UserFiltersSchema.allowAddTab's .describe() still carries the downgraded "仅承诺渲染入口" wording. objectui: allowAddTab 渲染出的「新增 tab」按钮没有 click handler —— 契约刚声明的能力只交付了一半 #5236 A1 has landed and objectui#3926 is MERGED (unblock comment on the card, objectui main cf5be4ec2, two readings), so the describe is upgraded back to the real semantics. Read the objectui: allowAddTab 渲染出的「新增 tab」按钮没有 click handler —— 契约刚声明的能力只交付了一半 #5236 A1 ruling for the exact promised behavior; quote it in the PR. Note: .describe() text flows into generated JSON-schema/docs artifacts — regenerate (gen:schema / gen:docs) and commit content/docs/references deltas (PR feat(spec,service-automation): a flow variable can declare a defaultValue, so "declared" means "bound" (#4697) #6998 lesson).

Sweep rules (binding on the PR)

  • One PR, body carries a per-item checklist: one row per member — 落点 | before | after — reviewed row by row.
  • Fixes #7017 / Fixes #6961 only for members actually completed; a dropped member gets a Part of note and the reason.
  • Zero changes outside the 2 items, self-certified: git diff --stat file list must map 1:1 onto the checklist (generated-artifact deltas from gen:schema/gen:docs count as part of spec: UserFiltersSchema.allowAddTab.describe() 从「仅承诺渲染入口」升回真实语义(#5236 A1 落地后的联动半边) #6961's row).
  • Acceptance-face byte-identity asserted: existing schema acceptance tests all pass unchanged; no test expectations edited.
  • Out-of-scope discoveries are filed as separate unassigned issues (PD chore: version packages #10), never folded in.
  • A member whose premise died (main moves ~18 merges/day) is dropped with evidence — that is a good outcome, not a failure.

Refs: #6243 (sweep pilot), #7024 (criterion-family predecessor, closed today via PR #7032), #5175 (the #7017 measurement source), #5236 / objectui#3926 (the #6961 semantics source).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions