Skip to content

docs(cli): point remaining filePatterns sites at metadata-file-name.ts - #12461

Merged
os-litant merged 1 commit into
mainfrom
claude/issue-12163-filepatterns-precondition
Aug 26, 2026
Merged

docs(cli): point remaining filePatterns sites at metadata-file-name.ts#12461
os-litant merged 1 commit into
mainfrom
claude/issue-12163-filepatterns-precondition

Conversation

@os-litant

Copy link
Copy Markdown
Collaborator

Fixes#12163

What changed

Two comments in packages/cli still restated the MetadataPlugin._loadFromFileSystem glob-discovery mechanism without the eager + no-artifactSource precondition that #12075 already stated at three sibling sites in this same package. Per the ruling on #12163 (comment), both sites now point at packages/cli/src/utils/metadata-file-name.ts (#12075) instead of restating the mechanism inline:

  • packages/cli/src/commands/generate.ts — the skill generator's template comment (the sentence that used to read "MetadataPlugin._loadFromFileSystem globs EVERY registry entry by its own filePatterns, so all seven wrote into the same invisibility").
  • packages/cli/test/generate-skill.e2e.test.ts — both sites (the "Why 'it writes a file' is the wrong assertion" section, and the #11071 "control this file also holds" section).

The historical narrative each comment carries — why the #11025 per-generator override was retired — is unchanged; only the unqualified mechanism sentence at each site is replaced by the pointer. #12075 is the parent measurement and is not re-addressed here.

Comment text only. Zero behavior change, zero assertion changes.

Verification

  • pnpm --filter '@objectstack/cli^...' build — exit 0 (dependency closure)
  • pnpm --filter @objectstack/cli build — exit 0
  • pnpm --filter @objectstack/cli typecheck — exit 0 (tsc --noEmit)
  • pnpm --filter @objectstack/cli exec vitest run test/generate-skill.e2e.test.ts test/generate-file-name-registry-parity.test.ts — 2 files, 50 tests passed
  • Targeted eslint packages/cli/src/commands/generate.ts packages/cli/test/generate-skill.e2e.test.ts --no-inline-config --format json — 0 errors, 0 warnings (2 files, per JSON output)
  • node scripts/check-nul-bytes.mjs — OK
  • Local gate families re-derived on this diff via node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack (merge-base 424f73c36) — every matched + convention-triggered family run and green: check:cli-test-child-env, check:cross-package-test-inputs, check:i18n, check:page-declaration-shape, check:published-files, check:slot-lookup, check:test-source-alias, check:type-source-resolution, check:type-check-coverage, check:engine-double-contract, check:where-matcher, check:query-options-erasure, check-comment-mask-adoption.mjs, check-plugin-teardown-shape.mjs, check-ci-filter-parity.mjs, check-affected-docs.mjs (self-test), check-drift-comment.mjs (self-test).
  • check:i18n-coverage and check:type-check-debt --re-measure came back NOT MEASURED — this fresh worktree is missing built dist/ for @objectstack/connector-mcp and @objectstack/service-knowledge respectively (pre-existing prerequisite gap, unrelated to this diff); CI builds fresh so both measure there.
  • head at push time: b13357ae7

skip-changeset: comment text only, nothing user-visible to publish.


Generated by Claude Code

Two comments in packages/cli (generate.ts's `skill` template, and both
sites in generate-skill.e2e.test.ts) still restated the
`_loadFromFileSystem` glob-discovery mechanism without the eager +
no-artifactSource precondition #12075 already stated at three sibling
sites in this package. Replace the unqualified mechanism sentence at
each site with a pointer to metadata-file-name.ts (#12075) instead of
restating it a fifth time; the surrounding historical narrative (why
the #11025 per-generator override was retired) is unchanged.
Comment text only, zero behavior change, zero assertion changes.
@os-litantos-litant added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Aug 26, 2026 — with Claude
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 1 package(s): @objectstack/cli, touching 1 documentable anchor(s).

3 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:

  • content/docs/api/data-flow.mdx(via os generate (command))
  • content/docs/deployment/cli.mdx(via os generate (command))
  • content/docs/protocol/kernel/lifecycle.mdx(via os generate (command))
What this run could not see
  • a page that states a rule by its inputs shares no identifier with the emitter that implements the rule, so an emitter-only diff cannot list it — not on this run and not on any run. Measured on fix(driver-sql): emit varchar(maxLength) for a text field a declared index keys on #11430: content/docs/protocol/objectql/types.mdx documents the text-family column mapping by the ObjectQL type names it maps FROM (text / textarea / html) while the diff changed createColumn; it went unlisted, and it was the page that diff falsified, in four places. No shared token exists to detect this on, so a rule your change carries has to be re-read by hand in the pages that restate it.

Coarse fallback — 23 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json 68c5dbaab2ecbc031e7342c9f2fc9efd6ad8bd08packageMentionDocs.

Which tree this was computed on

This run read content/docs from b966d25bea926710b3960793c1d1b7369f6cf5a2 — the merge of head b13357ae70b176cf20786343951b25a9e2816483 into base 68c5dbaab2ecbc031e7342c9f2fc9efd6ad8bd08, which is what actions/checkout gives a pull_request run. Not the PR head.

A worktree cut from an older main holds a different content/docs, so re-deriving there can legitimately return a different list — that is a different tree, not a wrong row. To answer on the same tree:

# while this PR is open — GitHub drops the merge commit once it closes
git fetch origin b966d25bea926710b3960793c1d1b7369f6cf5a2 && git checkout b966d25bea926710b3960793c1d1b7369f6cf5a2
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 68c5dbaab2ecbc031e7342c9f2fc9efd6ad8bd08 b13357ae70b176cf20786343951b25a9e2816483 && git checkout -B drift-repro 68c5dbaab2ecbc031e7342c9f2fc9efd6ad8bd08 && git merge --no-ff b13357ae70b176cf20786343951b25a9e2816483
node scripts/docs-audit/affected-docs.mjs --json 68c5dbaab2ecbc031e7342c9f2fc9efd6ad8bd08

⚠️ That checkout carried uncommitted changes, so the commit above does not fully identify what was read.

Advisory only, and a precision-first one (#9192): a page is listed because it names a
symbol, wire route or SDK method this diff touched — not because it mentions a changed
package. Each row says which anchor put it there, so a wrong row is reportable rather than
merely annoying. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs 68c5dbaab2ecbc031e7342c9f2fc9efd6ad8bd08 → pass the list as
args.docs, on the commit named under Which tree this was computed on.

@os-litant
os-litant marked this pull request as ready for review August 26, 2026 04:50
@os-litant
os-litant added this pull request to the merge queueAug 26, 2026
Merged via the queue into main with commit 032483cAug 26, 2026
37 checks passed
@os-litant
os-litant deleted the claude/issue-12163-filepatterns-precondition branch August 26, 2026 05:12
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/sskip-changesetPR has no user-facing published change; bypasses the changeset gatetests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

finding: two packages/cli sites still restate the filePatterns glob-discovery rationale without its precondition, while three siblings now carry it

2 participants

@os-litant@claude