Not installable yet

Coldstart has not been released. Its current cleanup entrance reports and proposes structural fixes. It does not approve an uncertain deletion for you.

Before the export decision, the session created an adapter that turns screen-shaped rows back into export values. After the person steering the product chooses a raw-data route, the adapter looks unnecessary. “Looks unnecessary” is not enough reason to delete it.

Safe subtraction separates two decisions: does the available evidence show that the candidate is dead, and does this session own permission to remove it?

The ordinary alternative

After a pivot, a developer can search for the abandoned code, remove anything clearly unused, and rely on version control if the judgment was wrong. That is often enough for code created minutes ago inside one small change.

The risk grows with older code. A file can have no ordinary caller and still be a route, command, hook, fixture, public export, configured plugin, or external entry point.

Three checks for deadness

A candidate passes only when all three checks hold:

  1. No live references. Code, tests, configuration, and documentation no longer name it.
  2. Not an entry point. It is not started directly as a route, command, hook, public API, fixture, or test.
  3. Not dynamically reached. Registration, configuration, reflection, or a string key cannot still select it.
ResultDisposition
All three are establishedContinue to the ownership decision
One check failsKeep the candidate
One check is uncertainKeep it and record a queue item or checkpoint

A search returning zero proves only what that search could see.

Dead does not mean yours to delete

The adapter created by this session solely for the rejected display-row route has clear provenance. The session knows why it exists, what replaced it, and which change introduced it. If all three deadness checks pass, the method permits removal, an outcome note, and version control as recovery.

An older export module is different. Even with no direct reference, the current session may not know its history or external consumers. The evidence goes to a person; the file stays until ownership is clear.

That asymmetry is deliberate. The session can clean up its own abandoned attempt more confidently than it can interpret somebody else's silence as permission.

A concrete comparison

CandidateDeadness evidenceOwnershipResult
New display-row adapterNo references, entry point, or dynamic routeCreated here only for the rejected pathRemove and record
Older export moduleNo direct reference, but entry-point role is uncertainPredates this sessionKeep and ask

Version control makes a focused deletion recoverable. It does not reveal hidden consumers before they break, so it supports the decision without replacing the checks.

The current cleanup command keeps the same boundary: it runs checks, reads open work, and proposes structural repairs. It is not an automatic garbage collector.

Next

After the change, check that the harness still says exactly what it can prove: Upkeep.