Skip to content

[finding] platform-objects' packages/**/*.object.ts is held on the roster by an exclusion-list literal, not by the walk that really holds it #10693

Description

@claude

Observation-class, measured while building the per-glob holder limb in PR #10690. No gate is red today, and this is not a defect — it is a green that is right for the wrong reason. Filed unassigned, no pm:queue.

Measured on 844bf29a84

The new per-glob limb asks whether each declared glob still holds something on its package's roster. @objectstack/platform-objects passes:

### @objectstack/platform-objects (escaping: 1 test(s))
roster literals: 1
HELD packages/**/*.object.ts <- packages/create-objectstack/src/templates/blank/src/objects/note.object.ts

That single roster path is a quoted literal in an exclusion list inside packages/platform-objects/src/managed-api-method-affordance-sweep.test.ts (:141), naming a template object the sweep deliberately skips. What actually holds the glob is the test's walkObjectFiles(PACKAGES_DIR) walk — which descends with readdirSync(dir) on a loop variable, so the detector resolves the escape and loses every name.

The two other packages declaring the same glob (@objectstack/spec, @objectstack/plugin-auth) have no such incidental literal, which is why they needed the heldBy witnesses PR #10690 adds and this one did not.

Why record it

The mechanical holder and the real holder are different things here. Deleting or rewording that exclusion entry — an ordinary edit, nothing to do with the radius — flips this glob to roster-invisible. The consequence is benign by construction (the gate then asks for a heldBy witness by name, which is the correct prompt), so nothing is broken; what is worth recording is that the green is currently supplied by a line whose purpose is unrelated, the same shape as #9763's "prose was holding the radius" one register down.

The cheapest treatment, if anyone wants one: declare the walker as this glob's heldBy witness alongside the other two packages, so the mechanical holder and the stated holder agree. Not done in PR #10690 on purpose — that PR declares witnesses only where the tree needs them to stay green, and widening the change to globs that already pass would have made the six load-bearing declarations harder to review.

Refs

#10566 (the limb) · PR #10690 · #10315 (derived paths a source scan cannot see) · #9763


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