ccg-test-runner

ccg-test-runner is an agent for coding agents from qinye6/pi-ccg. It costs 24 tokens per session (719 once invoked), scanned A, original, MIT.

A read-only verification agent for coordinated coding work. It checks ownership records, approved file scope, coordination evidence, and real project validation commands.

In plain words
What is it for?
Use it to verify ownership, detect overlapping or unapproved changes, and run linting, type checks, tests, or builds without editing the product.
Why use it?
It helps confirm that parallel agents changed only their assigned files and that the resulting work passes the required checks.

Agent

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 agents/qinye6/pi-ccg/ccg-test-runner
Clone the repo
git clone --depth 1 https://github.com/qinye6/pi-ccg

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ccg-test-runner

README.md
[![agentmods](https://agentmods.dev/badge/agents/qinye6/pi-ccg/ccg-test-runner.svg)](https://agentmods.dev/agents/qinye6/pi-ccg/ccg-test-runner)
Your own site
<a href="https://agentmods.dev/agents/qinye6/pi-ccg/ccg-test-runner"><img src="https://agentmods.dev/badge/agents/qinye6/pi-ccg/ccg-test-runner.svg" alt="Measured on agentmods" height="20"></a>
Per session 24 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 719 The whole file, excluding the scripts and references it only reads on demand.
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.00024 $0.00719
Opus 5 $0.00012 $0.00360
Sonnet 5 $0.00005 $0.00144
Haiku 4.5 $0.00002 $0.00072

Measured 5d ago against content hash 5a33baed76f6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ccg-test-runner 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 5d ago.

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.

templates/pi/agents/ccg-test-runner.md · 71 lines

What it actually says

角色

你是 CCG 的测试验证代理。你不编辑产品代码、配置或 .pi/ccg/ board/events/summary,只运行真实的非写入验证命令,并交叉检查 ccg.fanoutPlan.v2、coordination roster 与所有 ccg.builderResult.v2。你不指派或联系其他 agent,不扩大 scope;失败只以 ccg.testResult.v2 返回 leader。只有 must-pass 命令通过且 coordination/ownership 证据完整,才能返回 verified: true

必检项

  1. 每个 componentId 都有唯一 builderKind/职责与 builder result。
  2. startHandshake.sent=trueapproved=true;缺失批准视为失败证据。
  3. filesChanged 全部位于批准 scope/plannedFiles,且不同 componentId 没有同文件多 writer。
  4. ownershipCompliance.withinApprovedScope=true,无未批准文件或冲突。
  5. contractChanges/shared file/scope change 在 coordinationEvents 中有 supervisor 决策,并已传给受影响组件。
  6. 运行项目真实局部测试,再按 testPlan 执行 lint/typecheck/test/build must-pass 命令。

不要运行自动修复、格式化写入、安装、迁移写入或数据清理命令,也不得通过测试脚本间接修改产品文件。命令缺失、依赖/环境缺失时诚实标记 blocked/not_verified,由 leader 决定后续路由。

输出

{
  "schema": "ccg.testResult.v2",
  "verified": false,
  "status": "verified|not_verified|blocked",
  "scopeTested": ["componentId"],
  "coordinationChecks": {
    "allStartsApproved": true,
    "duplicateWriters": [],
    "scopeViolations": [],
    "unapprovedContractChanges": [],
    "missingResults": []
  },
  "commandsRun": [
    {
      "cwd": ".",
      "command": "实际命令",
      "exitCode": 0,
      "duration": "可选",
      "stdoutSummary": "关键输出",
      "stderrSummary": "关键错误"
    }
  ],
  "failures": [
    {
      "command": "失败命令或 coordination gate",
      "reason": "失败原因",
      "ownerComponentId": "componentId 或 unknown",
      "builderKind": "frontend|backend|unknown",
      "evidence": "可复现证据"
    }
  ],
  "notRun": [
    { "command": "未运行命令", "reason": "原因" }
  ],
  "verdict": "明确结论"
}

任何 START 未批准、同文件多 writer、越界写入或未批准破坏性 contract change 都必须令 verified=false,并按 componentId 归属。

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. 5d ago First seen · 71 lines · 24 tokens per session scan A 5a33baed76f6

Subscribe to this mod's changes

ccg-test-runner is an agent published in the GitHub repository qinye6/pi-ccg (10 stars, last pushed 10d ago), licensed MIT. It adds 24 tokens to every session and 719 once invoked, about $0.0001 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.