Skip to content

The pages gate's research guard tests the directory, not the reports actually rendered #257

Description

@realmarcin

Found reviewing #253.

The guard in audit-derived-reports fires when a research block is rendered and research/traits is untracked. It tests the directory as a whole — a single tracked file satisfies git ls-files research/traits | head -1 — and with 353 reports committed that condition is now effectively unreachable.

The divergence it describes still has a reachable form. A curator runs a new sweep, renders, and commits pages/ without committing the new report:

  • locally, just qc passes — the fresh render and pages/ agree, both see the untracked report
  • in CI, the fresh render has no block for that trait, pages/ has one
  • result: a STALE with the guard silent

That is precisely the "unexplained STALE rather than a cause" outcome the guard's comment says it prevents, reached through an untracked file rather than an untracked directory.

Not corrupting — the gate still fails, it just fails uninformatively, and the fix (git add research/) is not the one the STALE message suggests.

Fix: also fire when git ls-files --others --exclude-standard research/traits is non-empty, and name which of the two cases fired, since the remedy differs — track the directory, versus commit the reports you just generated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions