Skip to content

[finding] create-objectstack's content/** rationale describes a read that moved — the glob is held by a git grep, not by doc frontmatter #10694

Description

@claude

Observation-class, measured while building the per-glob holder limb in PR #10690. No gate is red today. Filed unassigned, no pm:queue. Same class as #10565: prose in scripts/check-cross-package-test-inputs.mjs that lags the code it describes.

Measured on 844bf29a84

CROSS_PACKAGE_TEST_INPUTS['create-objectstack'] opens with:

// src/template-consistency.test.ts reads doc frontmatter by repo-relative// path to decide which templates are internal.

That sentence is the stated justification for the content/** glob. In today's packages/create-objectstack/src/template-consistency.test.ts:

  • the only thing that reaches content/ is the skills-catalog-boundary block, which runs git grep -nF 'skills add objectstack-ai/objectstack' -- content/docs skills packages/create-objectstack … (:495);
  • the frontmatterOf(path.join(repoRoot, rel)) reads are driven by git ls-files '*SKILL.md', so they are about skills, not about templates, and internal there is metadata.internal on a SKILL.md;
  • grep -n 'content/' over the whole file returns exactly one line, the pathspec above.

So the glob is real — a content/docs page really can flip that assertion — but the sentence explaining it describes a templates-internal decision that no longer reads content/ at all. Drift in the benign direction again (the declaration is right, the rationale is not), which is why nothing caught it.

Why record it rather than reword it in passing

PR #10690 was scoped to the per-glob limb plus the "two seeds" sites #10565 names, and it now states the real holder in the heldBy comment it adds right below this sentence — so the accurate reading is present in the file, beside the stale one. Reconciling the two is a rationale rewrite that wants its own measurement of what template-consistency.test.ts justifies today, not a rider.

Refs

#10565 (the sibling prose drift, same file) · #10566 · PR #10690


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions