Skip to content

The pre-commit header describes a retired harness, and invites a SKIP the guidance forbids #679

Description

@shunk031

Context

The comment at the top of .pre-commit-config.yaml describes a harness and a scope that no longer exist:

# The in-tree skills still use the Python harness. Guidance no longer
# does: `AGENTS.evals.json` is on the Shuhari schema, which this harness
# rejects, so these two hooks are scoped to `skills/` only.

Three claims in four lines, all now false:

A reader opening this file to find out what gates a guidance change is told the wrong thing about all three.

A second problem in the same block

The shuhari-eval-instructions hook carries:

# Live model calls. Skip with
# `SKIP=shuhari-eval-instructions` when iterating on wording.

~/.agents/AGENTS.md says never to bypass repository hooks or validation with --no-verify or an equivalent, and SKIP= is an equivalent. The configuration invites what the guidance forbids, in the one place a person looks when a gate is slow.

The gate is genuinely slow, which is why the invitation is tempting and why removing it needs a real answer rather than just deletion. Measured on this machine while landing an unrelated change, one commit that touched a skill body ran for roughly 40 minutes. The concurrency is not the cause: scripts/shuhari_staged_targets.sh in shunk031/skills records that eight concurrent runs take longer than one, because the model endpoint queues per request rather than scaling throughput. The wall clock comes from serial stages, one skill at a time, each with two arms, three trials, a grader, and a comparator.

Acceptance criteria

  • The header comment describes what the hooks actually match, and names Shuhari as the only harness.
  • No comment in this repository suggests SKIP= as ordinary practice. If an escape hatch is intended, it is described where the guidance can state its conditions, not as a convenience note beside the hook.
  • If the runtime is to be reduced, the change is to the number of stages or trials, with the cost stated, rather than to whether the gate runs.

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