Carry the "every reference is accounted for" law to inheritance, doc mentions, HAS-A and the last blast-radius verbs
- Dominant language
- C++
- Stars
- 2.1k
- Forks
- 125
- Avg merge
- 5h 42m
- Merged PRs (30d)
- 136
Description
## What is missing
PR #136 gave ripwire's call resolver a conservation law: every call reference now ends in exactly
one named disposition, and a forgotten exit trips an alert instead of vanishing. Three places are
still silent about it.
- The **inheritance, doc-mention and HAS-A** loops drop references without counting them.
- `file_scope`, `other_root` and `self` are counted in the census but never reach an answer.
- `--edit-check` and `--safe-delete` do not carry `declined_calls=`, so on a declined method
`--safe-delete` still reports `risk="none-found"`.
The point is that an "is it safe to change X?" answer must not silently under-count.
## The evidence
The law paid for itself before #136 even merged: it caught PR #134's `std::` guard dropping calls
uncounted — **1,495 on this repository, 4,966 on memgraph**.
The reproductions in the kit were checked on today's `main`; #136 merged at `d752d953`, so every
file pointer in the prompt resolves there.
## Size
**Large** overall, split into three independently landable parts:
- **(c)** `--edit-check` / `--safe-delete` plus the MCP `edit_check` twin — the smallest, reusing
#136's helpers;
- **(a)** the three non-call loops, their three census lines, and one answer surface (`--lego`) that
needs a new disclosure — medium;
- **(b)** the census-only buckets reaching answers — this needs a decision per answer, per bucket,
before any code.
Parts (a) and (c) touch different files and can run in parallel.
## Prerequisites
PR #136, merged into `main` at `d752d953`. This work extends its `CallDisposition` enum, its
`# dispositions` census line and its `declined_calls=` helpers. Comfort reading C++23 and bash
gates; read `CONTRIBUTING.md` §3 and `docs/METHODOLOGY.md` §9 first.
There is no known-gap arm here — the red-first arms the prompt describes are part of the work.
## Where to start
`prompts/help-wanted/conservation-everywhere.md` is a self-contained prompt for a coding agent. It
carries why this matters, file pointers into the code #136 merged, the reproductions, the design
space and constraints, the acceptance criteria, the known traps, and what the PR description should
contain. Like every prompt in `prompts/`, **it ends by writing a plan and stopping** — a maintainer
agrees the plan before any code is written.
Comment here to claim it, naming which of the three parts is being taken.
Contributor guide
Research direction
Read CONTRIBUTING.md §3 and docs/METHODOLOGY.md §9, then open prompts/help-wanted/conservation-everywhere.md. Use its file pointers, reproductions, constraints, and acceptance criteria to choose one of parts (a), (b), or (c); write the required plan and stop for maintainer agreement before coding.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, cpp
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100