Skip to content

docs: CONTRIBUTING test-suite figures are stale, and AGENTS.md / .claude hook reference maintainer-only private infrastructure #230

Description

@luisleo526

Problems

1. CONTRIBUTING.md line 42 is out of date

The full test suite — 30 binaries, 29 C++ + 1 pure-C ABI sanity test — completes in under a second.

Actual at 95aeb9c:

Value
Test targets in tests/CMakeLists.txt 237
ctest cases 252
Wall time (Release, this machine) ~5.7 s

The "under a second" and "~10 s is a regression" guidance is therefore already close to the real number and should be restated.

2. AGENTS.md "Parity campaign gate" section (line 88) is not satisfiable by contributors

It says the gate "applies on EVERY harness" and instructs running:

gcloud run jobs execute pineforge-pr-gate --project gen-lang-client-0864094636 ...
lab gate record --verdict ...

That is a private GCP project and a private pineforge-workflow checkout. An external contributor cannot run it, so the instruction reads as a hard requirement they can never meet.

3. .claude/settings.json PreToolUse hook points at a local path

"command": "node --no-warnings \"$HOME/code/pineforge-workflow/campaign/hooks/pr-gate.mjs\""

On any machine without that checkout, every Bash tool call under Claude Code spawns node against a missing file and prints an error to the user. It should not be committed in the shared project settings.

Proposal

  • Update CONTRIBUTING.md with the real counts and a time budget that matches (or better: drop the exact number and say "all ctest cases finish in a few seconds; keep it that way").
  • Move the campaign-gate section from AGENTS.md / CLAUDE.md into a clearly labeled "Maintainers only" section (or a separate MAINTAINERS.md), and say that external PRs are gated by CI plus a maintainer-run corpus sweep.
  • Move the hook to .claude/settings.local.json (git-ignored) or guard it with a file-existence check so it is a silent no-op when the workflow repo is absent.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions