Skip to content

faces profile vendors its corpus and is named for a claim, not a target #54

Description

@hyperpolymath

The faces profile deviates from the pattern the other five follow, in two connected ways. Both are small; together they undermine the rule that makes profiles work.

1. It vendors its target corpus

profiles/pmpl.md shows the intended shape:

Target corpus: ~/Documents/hyperpolymath-repos/palimpsest-license/

A profile is a lens onto a corpus that lives elsewhere. It names a target by path and copies nothing.

faces instead ships examples/same-cube/ — actual content (README.md, greet) — inside this repo. That corpus will drift from AffineScript's real faces the moment AffineScript changes, at which point the verifier grounds a claim about a stale fixture while reporting success.

That is this tool's own failure mode turned inward: a claim that still passes on both sides while no longer meaning the same thing. If Invariant Path cannot avoid it in its own examples directory, the idea is not yet legible from the repo — which is the motivation for the README rewrite in #53.

2. It is named for a claim, not a target

The six profiles are echidna, faces, hypatia, panll, pmpl, standards-docs. Five are named for the repo they examine. One is named for a concept inside a repo.

"Different faces, same cube" is one claim about AffineScript. There will be others. Naming the profile after the first claim discovered means the second claim has nowhere obvious to live.

Proposed fix

  • Rename profiles/faces.mdprofiles/affinescript.md, matching the other five. Keep the same-cube claim as the first (and currently only) claim documented inside it.
  • Delete examples/same-cube/; have the profile point at AffineScript's real tree, as pmpl points at palimpsest-license.
  • Keep scripts/verify-same-cube.sh — the verifier is the valuable part, and it is exactly the canonical-wrongness machinery for this claim (see the R10 proposal, docs(testing): R10 — canonical wrongness, the method behind the anti-theatre rule standards#577). Adjust it to read from the target path rather than the vendored copy.

Why not just do it

Deliberately filed rather than applied: deleting an examples corpus and renaming a profile is a behaviour change, and the verifier may currently depend on the vendored copy's exact shape. Worth ten minutes of checking rather than a confident sweep.

Found while assessing whether the repo's core idea is legible to a future reader or agent. It was not — see #53.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions