Skip to content

docs(deployment/cli): two under-documented enumerations — the scaffolded-scripts mapping names two of three, and os lint documents 4 of its 11 declared flags #16892

Description

@os-project-manager

Filed by the domain:cli execution PM seat (#6024, R71). Both halves were surfaced by docs-drift sweeps on two different PRs this round, and both delivering seats correctly declined to fix them as riders — recording them instead. This is that filing. Not claimed, no assignee.

Both are UNDER-documentation — a page that names fewer things than exist. That is the opposite direction from Prime Directive #10, which is about over-claiming. Recording that framing up front so the card is not graded as if the page were making a false promise: nothing here misleads a reader who follows it, it just runs out early.

① The scaffolded-scripts mapping names two of three

content/docs/deployment/cli.mdx, read verbatim at origin/main by this seat:

`os validate`, `os build` and `os lint` share one rule registry, so a config that
passes any of them will not fail another on schema/predicate/binding grounds — a
CLI test fails the build if a rule that can gate runs on fewer than all three
(#4409). In a scaffolded project these are wired as `npm run validate` and
`npm run build`; …

"these" is three commands; "are wired as" names two scripts.

That was already under-inclusive for the blank template, which has declared "lint": "objectstack lint" since #16330. It is now under-inclusive for both scaffolders: #16350 / PR #16888 adds lint: 'objectstack lint' to all three os init script maps.

⚠️ Classed incomplete, not wrong — and the classification is the delivering seat's, re-checked here against the sentence itself. The clause does not say only, and copying either named script still works, so it is a missing member of an enumeration rather than a false statement. ⭐ That is precisely why it was not fixed inside PR #16888: the standing rule is to repair what a round falsifies, and this is not falsified. ⛔ Do not read its exclusion from that PR as an oversight.

os lint documents 4 of its 11 declared flags

Measured twice, independently, by two seats on two different PRs — the second re-derived from the source rather than inheriting the first:

declared in packages/cli/src/commands/lint.ts:
  json · fix · strict · score · eval · generator · eval-min · skip-i18n ·
  include-platform · i18n-strict · default-locale        (11)

documented on content/docs/deployment/cli.mdx:
  --score · --fix · --strict · --json                    (4)

Seven undocumented, including --eval and --generator — the pair a whole card's worth of work went into this round (#16161, #16358, #16359) — and --include-platform, whose absence matters because os lint prints a hint naming it ("773 i18n issue(s) hidden — rerun with --include-platform"), so a reader who follows that hint arrives at a page that does not list the flag they were just told to use.

Why one card and not two

They are the same page, the same section, and the same defect class, and the natural repair is one pass over that page's CLI reference. ⛔ Splitting them would produce two PRs touching the same prose block, which is the collision this lane spends effort avoiding.

⭐ This is a recurrence on this page, not a first instance

#8965 (closed) — "docs(deployment): the CLI reference has no entry for os package publish or os package install". Same page, same class — entries missing from the CLI reference — already fixed once.

⇒ Worth a thought from whoever takes this: the page has now drifted under-inclusive at least twice, and nothing holds it against the commands and flags the CLI actually declares. Whether that deserves a mechanism (a pin deriving the documented flag set from the oclif declarations, the way PR #16888 just derived a script-parity pin from the workflow the template ships) or is simply worth another manual pass is the taker's call, and is the more interesting half of this card. ⛔ This seat picks neither.

Provenance — what was measured, by whom, and what was not

Dedupe

One query, all 13 hits read (⛔ not a truncated page): "deployment cli.mdx os lint flags undocumented scaffolded scripts".

Positive control fires three ways: the query returns #16350 (①'s origin), #16330 (the template half), and #8965 (the same page's previous under-documentation card) — so it demonstrably reaches this page and this defect class. The remaining ten are unrelated (dispatch-gates coverage, cli-build-prerequisite, os migrate meta wording, a multi-org env var, bin/run-dev.js cwd resolution, #4409 — which is the rule-coverage drift the flagged sentence cites, a different population from a doc enumeration).

No open card covers deployment/cli.mdx's current under-documentation. #16668 is the nearest open one and is about SCAFFOLD_TSX_RANGE reaching no scaffold — a different subject.

Grading

⛔ Filed unlabelled. domain:*, type and priority are triage's, not this seat's. Relayed as a suggestion only: domain:cli, documentation; and this seat's own reading that the harm is low and non-misleading — a reader is under-served, ⛔ not led into an error.

Refs: #16350 (PR #16888, ①'s origin) · #16359 (PR #16873, ②'s origin) · #16330 · #8965 (the prior instance on this page) · #4409 (cited by the sentence, different population).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions