Skip to content

Commit ef67449

Browse files
claude[bot]claude
andauthored
feat(devx): gate the os package publish example set against its documented block (#15721)
* feat(devx): gate the `os package publish` example set against its documented block Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012zGPuVVX3deAx9LdjK8jCk * fix(devx): spell two self-test fixtures so they are not command-id literals `check:cli-command-ids` reads any quoted run opening with a real oclif bin name as a command-id literal, and reds when it resolves to nothing. Two fixtures in the new parity gate's self-test were deliberately-unresolvable phrases. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012zGPuVVX3deAx9LdjK8jCk * fix(devx): let the self-test's failure branch reach the verdict handshake The handshake guards a `return` that skips the verdict block, not the verdict's direction; leaving the flag false on a red printed "never finished" over a run that finished and failed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012zGPuVVX3deAx9LdjK8jCk --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 87f0ccc commit ef67449

3 files changed

Lines changed: 973 additions & 0 deletions

File tree

.github/workflows/lint.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2386,6 +2386,23 @@ jobs:
23862386
- name: CLI command-id literals resolve
23872387
run: pnpm check:cli-command-ids
23882388

2389+
# #15393. `os package publish` ships its example set TWICE — the oclif
2390+
# `examples` array in packages/cli/src/commands/package/publish.ts, printed
2391+
# verbatim under `EXAMPLES`, and a fenced block under
2392+
# `#### os package publish` in content/docs/deployment/cli.mdx. Two
2393+
# hand-maintained copies, and they drifted: the CLI line pointed at a
2394+
# directory deleted from this repo while the docs line for the same example
2395+
# was correct, for as long as it took a customer-simulation run to notice.
2396+
# ⛔ NOT an extension of check:cli-command-ids above — that gate's recorded
2397+
# refusal to reach into prose stands, and its population is 811 `os ...`
2398+
# mentions with no delimiter. This one's population is a TABLE: one fenced
2399+
# block under one exact heading against one named `examples` array. It
2400+
# compares the SET of invocations modulo the `$ ` prompt, trailing comments,
2401+
# whitespace and ORDER — the two voices may differ, the invocations may not.
2402+
# Reads two source files; no build, no install.
2403+
- name: CLI examples match the documented block
2404+
run: pnpm check:cli-examples-parity
2405+
23892406
# #4093 follow-up. Discovery tells a consumer an absent capability is
23902407
# absent AND what to install. The first half has been carefully honest
23912408
# since #2462/#4000; the second was invented from the slot name, so ten

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@
9292
"check:cli-test-child-env": "node scripts/check-cli-test-child-env.mjs --self-test && node scripts/check-cli-test-child-env.mjs",
9393
"check:vendor-version-stamps": "node scripts/check-vendor-version-stamps.mjs --self-test && node scripts/check-vendor-version-stamps.mjs",
9494
"check:cli-command-ids": "node scripts/check-cli-command-ids.mjs --self-test && node scripts/check-cli-command-ids.mjs",
95+
"check:cli-examples-parity": "node scripts/check-cli-examples-parity.mjs --self-test && node scripts/check-cli-examples-parity.mjs",
9596
"check:authz-resolver": "node scripts/check-single-authz-resolver.mjs --self-test && node scripts/check-single-authz-resolver.mjs",
9697
"check:slot-lookup": "node scripts/check-slot-lookup-ratchet.mjs --self-test && node scripts/check-slot-lookup-ratchet.mjs",
9798
"check:query-options-erasure": "node scripts/check-query-options-erasure-ratchet.mjs --self-test && node scripts/check-query-options-erasure-ratchet.mjs",

0 commit comments

Comments
 (0)