Run the full audit — on ripwire itself, or with ripwire on another large repository
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 141
- Avg merge
- 5h 28m
- Merged PRs (30d)
- 163
Description
## What this is
`prompts/full-audit.md` is the orchestrator prompt that drives a severity-ranked audit of ripwire
across six lenses: bugs and hostile inputs, measured performance at the scale rung, verb-to-moment
matching, token efficiency, an ecosystem scan of papers and repositories with real momentum, and the
honesty of the output. It has been rewritten from its 2026-08-08 version to fold in what the last
audit learned. Anyone can run it. Running ripwire against a large repository the maintainers do not
have is the most valuable version of it, because that tree is an instrument this project lacks.
## The evidence
The 2026-09-10 audit and its follow-ups (#127–#136) found real problems:
- an O(C²) walk costing llvm-project a fifth of its cold parse;
- a cache that evicted its own working root's data;
- resolver declines that answered "no callers" while **22% of one corpus's call references** were
dropped without a count;
- a vendored scanner that could abort on one deeply nested file.
That same audit was **fooled three times by its own instruments** — cache eviction faking
super-linearity, a cap sweep over a population of zero, and an ISA probe the compiler folded to
scalar. The rewritten prompt puts the control for each of those *before* any lens: measure the
instrument first.
Also new since the previous version: Lens 1 covers hostile inputs and counting every omission; Lens
2 adds the scale rung (one llvm-sized run per audit), the interleaving and placebo protocol, and
red-first isolation arms instead of timing budgets; Lens 3 adds the adversarial-prose-set lesson;
Lens 6 (honesty of the output) is new; and the process section adds three rules, including
regenerating generated artifacts on the merged tree after a clean merge, because the population may
still be wrong.
## Size
**Scales with scope.** One lens on one repository is small — that is a genuinely useful
contribution on its own. All six lenses with a gated plan is large. The two most valuable coming
from outside the project are Lens 1's hostile inputs and Lens 2 on an unfamiliar large tree.
## Prerequisites
A coding agent that can orchestrate sub-agents in worktrees, or the patience to run the lenses one
at a time. Plain and ASan builds of ripwire. Optionally but valuably: a large repository and a
sampling profiler.
## Where to start
`prompts/full-audit.md` is self-contained. Like every prompt in `prompts/`, **it ends by writing a
severity-ranked plan and stopping** — a maintainer agrees the plan before any code is written.
File one issue per finding, each with the argv, the corpus and its commit, expected versus actual
output, the control run, and the severity.
Comment here to claim it, naming the lens and the tree.
Contributor guide
Research direction
Start with prompts/full-audit.md and run its instrument controls before applying any lens. Use a plain and ASan build, and optionally a large repository and sampling profiler; begin with Lens 1 or Lens 2 on a named tree. Done means a severity-ranked plan, with each finding recording argv, corpus and commit, expected versus actual output, and the control run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli, performance, testing-qa, tooling
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100