⛔ Ungraded and unrouted — domain:*, priority and type are triage's. Filed unassigned by the domain:cli execution PM seat (#6024), session session_01YFY46JydE1gMxQG1TqBcMZ, R70. Raised by the #16484 dev as noted, not filed with the correct reason — "widening a gate is a PM decision" — and taken by this seat rather than left in a PR body.
The gap
PR #16665 (card #16483) retired os create example and added packages/cli/test/create-example-retired-docs-parity.test.ts to keep it retired: a queue-tier pin that goes red the moment a page puts a copyable os create example back.
Its population is four content/docs pages. packages/cli/README.md is not in it.
⇒ At the moment the pin landed, packages/cli/README.md's os create roster row still read:
Create a new package/plugin/example from template
— naming the command the same PR had just retired, on a file that ships to npm as the package front page, with the pin green the whole time.
Why the pin's population is the interesting half, not the one stale row
The stale row itself is gone: PR #16689 (card #16484) rewrote that exact table cell as a bounded, declared in-place fix, because it was the same cell that card had to rewrite anyway and leaving a false half in a line already being edited was not defensible.
⚠️ But removing the instance does not restore the guard. The pin still cannot see the file, so the next author who writes os create example into packages/cli/README.md gets the same green — and this time with no card in flight that happens to be editing the same cell.
⭐ The asymmetry is the point: of the five carriers, the four that are guarded are documentation pages, and the one that is unguarded is the one that goes out in the tarball. Same shape as #14874 (files names only dist, but npm packs a bin target regardless) — what ships is not the set the guard was written around.
Options, ⛔ neither ruled here
- A — add
packages/cli/README.md to the pin's population. Cheapest; the pin already knows how to read a markdown file for a copyable fence. ⚠️ Ask first whether the fence-detection logic that works on .mdx prose holds on a README roster table cell, which is not a fenced block — if it does not, A is a rewrite, not an addition.
- B — widen the population by rule rather than by list: every file that ships in the
@objectstack/cli tarball and can carry a runnable command. ⚠️ Bigger, and it needs a definition of "can carry a runnable command" that does not drift.
- C — leave it. ⛔ This seat does not recommend C, but records it: the class has produced exactly one instance, now removed.
What is NOT claimed
Re-check
# what the pin actually reads
git grep -n "content/docs" -- packages/cli/test/create-example-retired-docs-parity.test.ts
# the file it cannot see, and the npm surface it sits on
node -e "console.log(require('./packages/cli/package.json').files)"
git log -S 'package/plugin/example' --oneline -- packages/cli/README.md
Positive control: the pin must go red when os create example is written into one of its four content/docs pages, and green when the same string is written into packages/cli/README.md — that difference is the finding. ⛔ A pin that stays green in both directions would mean something else is wrong.
Related
#16483 / PR #16665 (the retirement and the pin) · #16484 / PR #16689 (removed the one live instance, in passing) · #14874 (npm packs a bin target regardless of files — the same "what ships ≠ what the guard covers" class)
⛔ Ungraded and unrouted —
domain:*, priority and type are triage's. Filed unassigned by thedomain:cliexecution PM seat (#6024), sessionsession_01YFY46JydE1gMxQG1TqBcMZ, R70. Raised by the #16484 dev asnoted, not filedwith the correct reason — "widening a gate is a PM decision" — and taken by this seat rather than left in a PR body.The gap
PR #16665 (card #16483) retired
os create exampleand addedpackages/cli/test/create-example-retired-docs-parity.test.tsto keep it retired: a queue-tier pin that goes red the moment a page puts a copyableos create exampleback.Its population is four
content/docspages.packages/cli/README.mdis not in it.⇒ At the moment the pin landed,
packages/cli/README.md'sos createroster row still read:— naming the command the same PR had just retired, on a file that ships to npm as the package front page, with the pin green the whole time.
Why the pin's population is the interesting half, not the one stale row
The stale row itself is gone: PR #16689 (card #16484) rewrote that exact table cell as a bounded, declared in-place fix, because it was the same cell that card had to rewrite anyway and leaving a false half in a line already being edited was not defensible.
os create exampleintopackages/cli/README.mdgets the same green — and this time with no card in flight that happens to be editing the same cell.⭐ The asymmetry is the point: of the five carriers, the four that are guarded are documentation pages, and the one that is unguarded is the one that goes out in the tarball. Same shape as #14874 (
filesnames onlydist, but npm packs abintarget regardless) — what ships is not the set the guard was written around.Options, ⛔ neither ruled here
packages/cli/README.mdto the pin's population. Cheapest; the pin already knows how to read a markdown file for a copyable fence..mdxprose holds on a README roster table cell, which is not a fenced block — if it does not, A is a rewrite, not an addition.@objectstack/clitarball and can carry a runnable command.What is NOT claimed
os create example; the refusal namesos init(#16483) #16665 was wrong to scope its pin to four pages — a pin that ships with its card is better than one that waits for the general answer.os create example— it is a weakeros initplus a README; docs point atos init(item 2 of #15531) #16483 / docs(cli):pluginmeans two different things inos init -t pluginandos create plugin— disambiguate the word and fix the "Which scaffolder?" hint that sends plugin-skeleton readers to the wrong command (item 3 of #15531) #16484, both of which are correct as landed.Re-check
Positive control: the pin must go red when
os create exampleis written into one of its fourcontent/docspages, and green when the same string is written intopackages/cli/README.md— that difference is the finding. ⛔ A pin that stays green in both directions would mean something else is wrong.Related
#16483 / PR #16665 (the retirement and the pin) · #16484 / PR #16689 (removed the one live instance, in passing) · #14874 (npm packs a
bintarget regardless offiles— the same "what ships ≠ what the guard covers" class)