Evidence Retention¶
This reference defines how generated workspace evidence is classified before it
is archived, indexed, or cleaned. It applies to generated files under
workspaces\workspace\state and does not change source, docs, or release
package retention.
Retention Tiers¶
| Tier | Purpose | Default Handling |
|---|---|---|
release-proof |
Active release, RC, artifact, or release-blocking evidence. | Keep until superseded and recorded. |
campaign-proof |
Broad regression, certification, live E2E, and overnight evidence. | Keep recent runs; prune superseded payloads. |
debug-profile |
ETW, procdump, UMDH, pageheap, CPU spike, memory, and crash output. | Keep while active; preserve summaries. |
nightly |
Automated nightly build or test evidence. | Keep latest successful and failed runs per stream. |
scratch |
Local experiments, command logs, caches, and transient progress notes. | Disposable after conclusions are promoted. |
State Directory Expectations¶
state\test-reportsandstate\test-artifactsmay contain both compact summaries and very heavy payloads. Heavy payloads should be indexed before cleanup.state\diagnosticsis for active debug/profiling evidence. It should not be treated as long-term release proof unless a release audit explicitly cites a specific run.state\release,state\certification, and release-campaign summaries may hold release-proof or campaign-proof evidence. Cleanup must be more conservative there than in scratch/debug folders.state\preserved-evidenceis the only generated state folder intended to outlive routine cleanup. Use it for selected representative payloads, not for full unbounded dump sets.- Root-level progress Markdown files under
stateare scratch notes. They are disposable once any durable conclusion has moved intodocs\active,docs\history, a GitHub issue, or a release audit.
Promotion Rule¶
Generated evidence becomes durable only when a maintained document names it and records why it matters. Otherwise, it remains cleanup-eligible generated state.
Cleanup Rule¶
Prefer targeted cleanup scopes over broad recursive deletion:
- routine cleanup for caches, path anomalies, and old lightweight payloads
- profiling cleanup for ETW, dump, UMDH, pageheap, and CPU spike output
- product-family output cleanup for
node_modules, Rusttarget, and dist folders - build-output cleanup for native build products and package staging
Before deleting large evidence sets, generate or refresh the heavy-evidence index so the decision is visible.