redhat-et / redhat-et/ripwire

The scale rung — find ripwire's next super-linear path on the largest public codebases

Open
#151 0 comments 0 reactions 0 assignees View on GitHub
help wanted
Dominant language
C++
Stars
2.1k
Forks
125
Avg merge
5h 42m
Merged PRs (30d)
136

Description

## What is missing

Some of ripwire's worst defects cannot be seen below a certain tree size. Nobody in this project
routinely runs it on the Linux kernel, Chromium or a large monorepo, so those defects go unmeasured
until someone stumbles into one. The job is to run the ladder deliberately: measure cold and warm
CPU carefully, profile what bends, and reduce each finding to a generated fixture with a red-first
ratio arm.

## The evidence

Two defects of exactly this shape have already been found and fixed, and neither was visible on a
standard corpus:

- **#127**: indexed tree-sitter child walks were O(children²). They cost llvm-project **a fifth of
its cold parse**.
- **#83**: a single quadratic dedup took **143 of 154 seconds** in one phase of an llvm `--grep`.

A carefully measured ladder that finds nothing is a valuable result too, and the kit says so.

The kit also carries the instrument-artifact checklist drawn from the 2026-09-10 audit's own
mistakes — a cache that evicted itself and faked super-linearity, and a cap sweep run over a
population of zero — because a measurement that fools its own author is the common failure here, not
a missed defect.

## Size

**Medium**, mostly machine time:

- **One rung measured and reported**: small to medium.
- **A defect found, with a fixture, a red-first ratio arm and a byte-identical fix**: medium.

The rungs are independent, so several people can take different trees.

## Prerequisites

Disk and cores — llvm-project alone is 2.9 GB, and Linux and Chromium are larger. A sampling
profiler (`perf` on Linux; `sample` or Instruments on macOS). For fixes: comfort reading C++ and
tree-sitter walks, and the ASan build.

## Where to start

`prompts/help-wanted/find-the-next-superlinear.md` is a self-contained prompt for a coding agent. It
carries the measurement protocol (pinned corpora, cold kept apart from warm, CPU rather than wall,
interleaved arms, a placebo arm, output identity, a quiet process table), how to find a super-linear
path (per-unit cost across a corpus ladder, a fixture that grows one dimension, an isolation pair),
how to rule out instrument artifacts, the no-timing-budget constraint, and a fill-in report format.
Like every prompt in `prompts/`, **it ends by writing a plan and stopping** — a maintainer agrees
the plan before any code is written.

Post the ladder report even if nothing bends.

Comment here to claim it, naming the corpora and host available.

Contributor guide

Open the contributing guide

Research direction

Read prompts/help-wanted/find-the-next-superlinear.md first. Choose an available corpus and host, follow its cold/warm CPU measurement and artifact-checking protocol, then write the required ladder report. Done means a measured rung is reported, whether or not it reveals a super-linear path; any defect additionally needs a generated fixture, red-first ratio arm, and byte-identical fix.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
devtools, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.