Skip to content

Write the reclaim contract into docs/cleanup.md #455

Description

@blooop

Work

Write the reclaim contract down: one table in docs/cleanup.md naming every artifact devlaunch causes to exist, what reclaims it, and what proves removal safe.

This is the map's destination artifact and the reason it is a map rather than a bug list. Today the answer is spread across docs/cleanup.md's prose, flows/lifecycle.rs's module header, the volume paragraphs, and three review reports, and the only way to find out that nothing reclaims an artifact is to fill a disk.

One row per artifact, and the rows are the union of what these tickets settled: workspace clones, .bare object stores, agent worktrees and the .pixi/envs copies inside them, the shared pixi download cache, devpod workspaces, docker images, the build cache, named volumes, orphaned volumes, metadata records, the completion cache, and clones outside repos_dir.

Each row states: what creates it, what reclaims it, what proves removal safe, and where the bytes were last measured. A row whose reclaim column says nothing, deliberately is a legitimate outcome and must carry its reason, because that is the difference between a decision and an oversight, and principle 2 permits the former only.

Constraints: docs/ prose carries no em or en dashes (test_docs_prose.py), and this page must not start saying "this README" (same guard). If a section moves between files, the guard that reads it moves in the same change. Consider whether this table wants a guard of its own asserting every artifact named in the code appears as a row, so the next artifact devlaunch invents cannot be added silently.

Blocked by every decision on the map, because a contract written before the decisions is a summary of guesses.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions