Skip to content

finding: the registry's filePatterns declaration lives in packages/spec, not packages/metadata* — the eager-path no-dogfood disposition has no note beside it #12165

Description

@os-trump

Recording only — OBSERVATION class. Not claimed, no assignee, no domain:*, no type. Found while implementing #12075. Deduped at filing: one semantic search over open issues, no duplicate.

The measurement

#12075's triage ruled that the recorded disposition on its second question — no end-to-end dogfood is minted for the eager _loadFromFileSystem path (startup-focus default, zero measured consumers) — should be stated "beside the registry's filePatterns declaration".

Re-measured on origin/main at a11c1a57d, that declaration is in packages/spec, not in packages/metadata*:

sitewhat it does
packages/spec/src/kernel/metadata-plugin.zod.ts:220declares the field — filePatterns: z.array(z.string()).describe('Glob patterns to discover files of this type')
packages/spec/src/kernel/metadata-plugin.zod.ts:666-1122declares the values, one row per type, in DEFAULT_METADATA_TYPE_REGISTRY
packages/spec/src/api/protocol.zod.ts:203the protocol-side field declaration
packages/metadata/src/metadata-manager.ts:2486re-projects entry.filePatterns — reads, does not declare
packages/metadata-protocol/src/protocol.ts:11343reads entry?.filePatterns?.[0] for codeOnlySourceHint — reads, does not declare

So the note triage asked for lands on a packages/spec surface, which #12075's dev seat holds read-only. It was written on the CLI's own read of filePatterns instead (packages/cli/src/utils/metadata-file-name.ts, under a heading "Why filePatterns gets no end-to-end dogfood"), and this card records the half that was deliberately not written.

What a picker-up might do

⛔ Not a prescription — routing is triage's. Options: add one sentence beside DEFAULT_METADATA_TYPE_REGISTRY recording that the glob-discovery path it declares has no end-to-end dogfood and no measured consumer in this tree, pointing at #12075; or decide the CLI-side note is sufficient and close this as covered. packages/spec carries a no-business-logic rule but not a no-comments rule, so the note is admissible there on its face; whether a spec-level declaration should carry a consumer-side observation at all is the actual question.

Note for whoever routes this

The packages/spec location contradicts the ownership fence #12075 was dispatched with, which recorded packages/metadata/src/metadata-manager.ts and packages/metadata-protocol/src/protocol.ts as the non-CLI declaration sites and stated that spec was not involved. That reading was checked and did not hold — both of those files read the registry rather than declaring it. Recording the correction here so the next card starts from the measured map.

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


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions