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.
git clone --depth 1 https://github.com/briangmilnes/APAS-VERUSWrote 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.
[](https://agentmods.dev/rules/briangmilnes/apas-verus/ghost-param-sync)<a href="https://agentmods.dev/rules/briangmilnes/apas-verus/ghost-param-sync"><img src="https://agentmods.dev/badge/rules/briangmilnes/apas-verus/ghost-param-sync/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/briangmilnes/apas-verus/ghost-param-sync"><img src="https://agentmods.dev/badge/rules/briangmilnes/apas-verus/ghost-param-sync.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00308 | $0.00308 |
| Opus 5.5 | $0.00123 | $0.00123 |
| Sonnet 5.5 | $0.00062 | $0.00062 |
| Haiku 4.5 | $0.00031 | $0.00031 |
Grade A, and why
ghost-param-sync 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 1mo 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.
What it actually says
Ghost Parameter Sync
When a trait method signature includes a Ghost(...) parameter (e.g., Ghost(spec_f): Ghost<spec_fn(T, T) -> T>) and a call site in a later chapter omits it, update the call site to pass the Ghost argument.
Detection
If compilation fails with "cannot find method" or argument-count mismatch on a trait method that exists, check whether the trait added a Ghost(...) parameter that the caller doesn't supply.
Fix
Add the missing Ghost(...) argument at the call site. Example:
// ❌ Old call (before Ghost was added to trait)
<ArraySeqMtEphS<i32> as ArraySeqMtEphBaseTrait<i32>>::scan(a, &|x, y| x + y, 0)
// ✅ Updated call (matches current trait signature)
<ArraySeqMtEphS<i32> as ArraySeqMtEphBaseTrait<i32>>::scan(
a,
&|x, y| x + y,
Ghost(|x: i32, y: i32| -> i32 { (x + y) as i32 }),
0,
)
Rule
- The trait signature is the source of truth.
- Never remove or skip the Ghost parameter in the trait to accommodate old callers.
- Always update the caller to match the trait.
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.
- 1mo ago First seen · 36 lines · 308 tokens per session scan A 327acf579e3f
ghost-param-sync is a cursor rule published in the GitHub repository briangmilnes/APAS-VERUS (10 stars, last pushed 1mo ago), licensed MIT. It adds 308 tokens to every session, about $0.0012 per session on Opus 5.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-09-03.
Other cursor rules, from other repositories
rust
Why: dependability and debuggability are paid for in the type definition, not at the bug site. A panicking destructor or a Debug impl that returns "" are not noticed until production, by which point the cost of fixing is enormous.
handle-unexpected-errors-by-inspecting-the-cause
Cursor rule "handle-unexpected-errors-by-inspecting-the-cause" from PaulJPhilp/EffectPatterns, covering handle unexpected errors by inspecting the cause and example.
rust-architect
PoolAI — Rust Architect workflow: runtime stack, MSYS2, target/ disk, pre-push checks, docs sync.
roslyn-mcp-decompile
Assembly resolve, ILSpy decompile, NuGet/BCL fallback.
ivolgaql-parser-language
Project rules for building ИволгаQL, a query language and server that uses Russian commands and messages. They cover how new language features move through the lexer, parser, engine, and network protocol.
javascript-expert-performance
Profile first. Measure before and after. Never optimize without data.