procoder tests.instructions.md

A set of testing rules for procoder that requires each test to prove it would fail if a specific source-code mistake were introduced. TDD, or test-driven development, is the practice of using tests to guide code changes; these rules add an explicit failure check.

In plain words
What is it for?
Use it when writing or reviewing procoder tests, checking error paths, exercising real entry points, validating fixtures, and measuring whether tests catch meaningful code changes.
Why use it?
A passing test can still be ineffective if it never reaches the relevant code or cannot detect the intended bug. Mutation checks expose those gaps.

Instructions file for GitHub Copilot

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/azrtydxb/procoder/tests
Clone the repo
git clone --depth 1 https://github.com/azrtydxb/procoder

Made for: GitHub Copilot.

Per session 738 This file is loaded in full into every session.
When invoked 738 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00738 $0.00738
Opus 5 $0.00369 $0.00369
Sonnet 5 $0.00148 $0.00148
Haiku 4.5 $0.00074 $0.00074

Measured yesterday against content hash 54634f572c33, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

procoder tests.instructions.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.github/instructions/tests.instructions.md · 75 lines

How it starts

The opening of the file, as written. The whole thing — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Tests in procoder

A test here is not finished when it passes. It is finished when it has been watched to fail.

Every test carries its mutation

Each test has a // proved by: line naming a specific change to the source that must make it fail:

// proved by: made the unmarshal failure return nil — a crashed semgrep
// then reads as a clean SAST pass.
func TestSastUnreadableOutputIsNotRun(t *testing.T) {

Then actually apply that change, build, and run the test. Three discoveries came only from doing it, never from reading the assertion:

  • A test exercised a helper directly and never the dispatch, so deleting the call from run() left it passing. It goes through the real entry point now.
  • A P-CONTROL test ran procoder format only over files that were already formatted, so the branch that prints a rewritten file never executed — and a mutation making that branch write to disk passed. A mutation must reach the branch; check the fixture can provoke it.
  • A mutation that does not compile is not a mutation, and neither is one that produces no diff. Verify it applied.

Where two redundant mechanisms guard one behaviour, no single mutation will fail the test. Say so in the comment and name the pair, rather than claiming a proof that does not hold.

Assertions

  • Assert the verdict, not the subject. grep "unformatted <file>", not grep "<file>" — the file's name also appears in "UNCHECKED — csharpier is not installed", which reports the opposite of a finding.
  • Never assert on a word that appears either way. Checking for "deny" or "block" in a hook envelope passes on an allow, because "block" sits inside "1 blocking finding(s)". Read the decision field.
  • An assertion that cannot fail is worse than none. if before >= after passes exactly when the knob under test did nothing.

Portability

Windows runs go test ./internal/... in CI, and two habits break there:

  • exec.LookPath needs an executable extension, so an extensionless shell-script stub is invisible. Skip on Windows like the existing stubs do, or use a real binary.
  • os.Chmod(dir, 0o000) does not deny reads on Windows, so a test that provokes an unreadable-directory branch that way never enters it.
  • Never use a rooted literal such as /repo as a test repository root: macOS and Linux call it absolute and Windows does not.

Read the full file on GitHub · 75 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 75 lines · 738 tokens per session scan A 54634f572c33

Subscribe to this mod's changes

procoder tests.instructions.md is an instructions file published in the GitHub repository azrtydxb/procoder (196 stars, last pushed 2d ago), licensed Apache-2.0. It adds 738 tokens to every session, about $0.0037 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other instructions, from other repositories

sdlc-quality AGENTS.md

Instructions for zircote-plugins/sdlc-quality, covering agents.md - openai codex guidelines, project identity, quick context, agent guidelines and 1. understand the domain model.

zircote-plugins/sdlc-quality · 1,405 tokens

sdlc-quality copilot-instructions.md

Instructions for zircote-plugins/sdlc-quality, covering copilot instructions for sdlc plugin, project overview, repository structure, key conventions and rfc 2119 terminology.

zircote-plugins/sdlc-quality · 1,255 tokens

high-quality-projects-skill AGENTS.md

AGENTS.md instructions for RandyNorthrup/high-quality-projects-skill, covering agents.md, the two workflows, resolving paths, what is in here and non-negotiables when using this package.

RandyNorthrup/high-quality-projects-skill · 1,209 tokens

code-discipline-skills AGENTS.md

Instructions for eliranpv11/code-discipline-skills, covering code discipline, priority order, 1. think before coding, 2. verify reality before acting and 3. simplicity first.

eliranpv11/code-discipline-skills · 1,801 tokens

high-quality-projects-skill copilot-instructions.md

Copilot instructions for RandyNorthrup/high-quality-projects-skill: This repository provides two vendor-neutral workflows for holding a codebase to production standards.

RandyNorthrup/high-quality-projects-skill · 205 tokens

arbiterx CLAUDE.md

Instructions for NeelPrime/arbiterx, covering arbiterx engineering rules, setup, rules (always enforced), never generate and quality gate.

NeelPrime/arbiterx · 237 tokens