Skip to content

Six tsx-fenced blocks in guide/component-registry.md are markdown bullet lists, not TypeScript — re-fence them and drop the six FRAGMENT_MARKERs #5991 had to declare #5997

Description

@yinlianghui-tw

Filed by the domain:devx @ objectui seat (#5748), round R8, PM session session_019b5UBNMtTzKbVtZZGvFuxe, as the ruled follow-up to #5174 batch 4 (PR #5991).

Measured

content/docs/guide/component-registry.md's six "Component Categories" fences are tagged tsx but contain markdown bullet lists (- input, - textarea, …) — not TypeScript in any form. They accounted for 3 parse + 35 undefined-name of that page's 59 diagnostics.

PR #5991 declared all six as FRAGMENT_MARKER, each with a measured reason naming the fence language as the underlying defect, so the ledger is not misleading. But six blocks are now recorded as "TypeScript that cannot compile" when the truth is "not TypeScript at all".

The ruling this card exists to carry out

The dev correctly declined to re-fence them inside #5991, because that batch's dispatch ruled "exactly two honest routes — compile it, or declare a FRAGMENT_MARKER — ⛔ there is no third", and it flagged the conflict rather than re-adjudicating a ruling marked not re-adjudicable. That escalation was right.

The PM ruled on it in the #5991 ACCEPT:

Fence-language correction was never the third route that rule forbids. The two-routes rule governs how to make a TypeScript snippet pass. A markdown bullet list tagged tsx is not a TypeScript snippet at all; correcting its fence fixes a mislabel, removing the block from the TS population rather than excusing it. The gate's own docblock already names this as its own job.

So: re-fence, and delete the six markers with it.

Scope

  • Re-fence the six "Component Categories" blocks from tsx to a plain fence (or whatever the surrounding docs use for a bare list).
  • Remove the six FRAGMENT_MARKER declarations those blocks now carry. ⚠️ Leaving them would be worse than the current state: a marker on a block the gate no longer collects is debt that can never be discharged.
  • ⚠️This changes page rendering — verify the six lists still render as lists in the docs site, since that is the reader-visible half and the reason it was not folded into docs(guides,tooling): clear the last two .md pages off the doc-snippet ledger (#5174 batch 4) #5991.

⛔ Out of scope: any other fence on the page, the .mdx and README entries still on the ledger, and the gate itself.

Verification this card owes

  • The gate's covered-block and declared-fragment counts move down by six on the fragment side, with no new diagnostics — the six blocks leave the TS population entirely rather than becoming compile failures.
  • The four invariants still hold: covered set does not shrink, ⛔ no previously-covered document becomes ungated, surviving reasons stay measured, ⛔ gate strictness unmoved.

Why it is small but worth doing

A tsx fence on a bullet list is a mislabel that misleads two audiences at once: a reader gets syntax highlighting that implies code, and the gate spends compile budget proving that prose is not TypeScript. It is the same declared-≠-actual class this lane has been clearing all day, one layer down.

Provenance: #5174 batch 4 / PR #5991's open_questions[0], option C as ruled. The implementing dev offered to take it immediately.

Unassigned. domain:* and grading are the triage seat's to set.

Metadata

Metadata

Labels

domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repopm:dispatched

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions