From b13357ae70b176cf20786343951b25a9e2816483 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 26 Aug 2026 04:28:10 +0000 Subject: [PATCH] docs(cli): point remaining filePatterns sites at metadata-file-name.ts 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. --- packages/cli/src/commands/generate.ts | 7 ++++--- packages/cli/test/generate-skill.e2e.test.ts | 19 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/cli/src/commands/generate.ts b/packages/cli/src/commands/generate.ts index bef4718773..daabda2d4c 100644 --- a/packages/cli/src/commands/generate.ts +++ b/packages/cli/src/commands/generate.ts @@ -199,9 +199,10 @@ export default ${toCamelCase(name)}App; * * That reasoning was scoped to `skill` on the belief that the other six * types were not filesystem-discovered. #11071 measured the loader - * instead: `MetadataPlugin._loadFromFileSystem` globs EVERY registry entry - * by its own `filePatterns`, so all seven wrote into the same - * invisibility. The override is gone and the rule is the harness default. + * instead — the mechanism, and the precondition that keeps it from + * firing in this repo today, are stated once in `metadata-file-name.ts` + * (#12075), not restated here. The override is gone and the rule is the + * harness default. */ generate: (name: string) => `import { defineSkill } from '@objectstack/spec/ai'; diff --git a/packages/cli/test/generate-skill.e2e.test.ts b/packages/cli/test/generate-skill.e2e.test.ts index b1e5425e74..108a24220c 100644 --- a/packages/cli/test/generate-skill.e2e.test.ts +++ b/packages/cli/test/generate-skill.e2e.test.ts @@ -9,11 +9,11 @@ * A test asserting only that the command created something passes just as * happily when the filename matches no `filePatterns` entry — which IS the * defect. `DEFAULT_METADATA_TYPE_REGISTRY` declares `skill`'s file - * convention as `*.skill.ts` / `*.skill.yml`; - * `MetadataPlugin._loadFromFileSystem` globs each type by its own - * `filePatterns`, `MetadataManager.getTypeInfo` publishes them to every - * type-descriptor consumer, and `skill` is `allowRuntimeCreate: true` — a - * type the platform expects to discover. The harness's own convention is + * convention as `*.skill.ts` / `*.skill.yml` — the loader mechanism behind + * that convention, and the precondition that keeps this repo from meeting + * it today, are stated once in `metadata-file-name.ts` (#12075), not + * restated here. `skill` is `allowRuntimeCreate: true` — a type the + * platform expects to discover. The harness's own convention is * `NAME.ts`, so a naive skill scaffold lands as `lead_qualification.ts`, * matches neither pattern, and then type-checks, validates and publishes with * nothing anywhere saying it was skipped. That is the silent-strip shape @@ -45,10 +45,11 @@ * `os g object` is exercised here as a CONTROL, and what it controls for * changed. #11025 scoped the filename fix to `skill` and fenced the repo-wide * route, so the control pinned `customer.ts` and a `'./customer'` barrel line. - * #11071 measured the loader rather than assuming: `_loadFromFileSystem` globs - * every registry entry by its own `filePatterns`, so all seven generators wrote - * into the same invisibility, and the per-generator override was replaced by a - * default derived from the registry. The control now pins the OTHER side of + * #11071 measured the loader rather than assuming — the mechanism, and the + * precondition that keeps it from firing in this repo today, are stated once + * in `metadata-file-name.ts` (#12075), not restated here — and the + * per-generator override was replaced by a default derived from the + * registry. The control now pins the OTHER side of * that: `os g object` writes a name the `object` entry's own patterns match, * proving the derivation is wired into the real command and not just unit-true. *