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.
Problems
1. CONTRIBUTING.md line 42 is out of date
Actual at
95aeb9c:tests/CMakeLists.txtThe "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-workflowcheckout. An external contributor cannot run it, so the instruction reads as a hard requirement they can never meet.3.
.claude/settings.jsonPreToolUse hook points at a local pathOn any machine without that checkout, every Bash tool call under Claude Code spawns
nodeagainst a missing file and prints an error to the user. It should not be committed in the shared project settings.Proposal
MAINTAINERS.md), and say that external PRs are gated by CI plus a maintainer-run corpus sweep..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.