Skip to content

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

Description

@os-trump

Recording only — OBSERVATION class. Not claimed, no assignee, no domain:*, no type. Found while implementing #12075 (stating the precondition on metadata-file-name.ts's docblock). Deduped at filing: one semantic search over open issues, no duplicate.

Nothing is reported as broken. This records that after #12075 the repo states the same mechanism two ways in one package.

What #12075 established

MetadataPlugin.start reaches _loadFromFileSystem on exactly one branch — bootstrap is eager (the default) andoptions.artifactSource is unset. Both non-test new MetadataPlugin(...) sites in this repo (packages/runtime/src/standalone-stack.ts, and the dev-HMR site in packages/cli/src/commands/serve.ts) pass artifactSource: { mode: 'local-file', path } unconditionally, so nothing this repo boots takes that branch. Re-measured on origin/main at a11c1a57d.

The disagreement

Three sites now state the precondition:

Two sites still state the unqualified form:

  • packages/cli/src/commands/generate.ts (~line 203, inside the skill generator's template comment):

    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 (~lines 13-19 and ~48-50), twice — once in "Why 'it writes a file' is the wrong assertion" ("matches neither pattern, and then type-checks, validates and publishes with nothing anywhere saying it was skipped") and once in the os g object control note ("so all seven generators wrote into the same invisibility").

Both are historical narrative about why the #11025 per-generator override was retired, which is why #12075's triage did not name them: the decision they narrate is unaffected. But the sentences are the same over-claim the finding behind #12075 recorded, sitting in the same package as the corrected ones, and generate.ts is the file a reader arrives at from the command.

Why it is worth recording

The failure mode the original finding named is a future card reasoning "filename matches no pattern therefore silently skipped" from a docblock that states the mechanism without its precondition. Correcting three of five sites narrows the exposure but leaves the two an author of a new generator is most likely to read. Scope for a picker-up is a judgement call, not prescribed here: it may be as small as pointing both at metadata-file-name.ts rather than restating the mechanism inline.

⛔ Not claimed. #12075 is the parent measurement and is not addressed by this note.


Generated by Claude Code

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions