Status: tracking / needs design. Detailed scope to be added after Phases 1–4 land — this captures the intent + the open design question so it isn't lost.
Goal
Expose a command to delete data a previous dataset push created — the inverse of push. Already anticipated in code (newDatasetCmd doc: "Future verbs (dataset list, dataset rm) hang off this parent in v0.2.").
What a push creates (so what delete must tear down)
- MySQL table —
training_test_datasets.<table>.
- PVC files —
/data/shared/<table> (final dest) + any /data/shared/.tracebloc-staging/<table> leftovers.
- Central backend catalog entry — the "edge label metadata" the ingestor syncs.
Open design question (why this needs its own pass)
- CLI-direct teardown — mint token → ephemeral pod that drops the table +
rms the PVC dir (mirrors the stage-pod pattern), plus a backend API call to remove the catalog entry. No server change, but the CLI owns destructive cluster ops.
- vs. a jobs-manager
delete-ingestion endpoint — mirrors submit-ingestion-run; keeps destructive logic server-side and is cleaner, but needs new work in tracebloc/client + tracebloc/data-ingestors (cross-repo coordination).
Likely shape (subject to the design pass)
tracebloc dataset rm <table> with --dry-run (show exactly what would be deleted), interactive confirmation (Phase 3), --yes/--force, and a before/after summary (Phases 1–2).
- Probably pairs with a
dataset list to see what's deletable.
Acceptance criteria (this issue)
Notes
- Destructive → leans on the interactive-confirm (#PHASE3) + summary (#PHASE1/#PHASE2) foundation, which is why it's sequenced after the first batch.
Part of the UX/interactive epic.
🤖 Generated with Claude Code
Goal
Expose a command to delete data a previous
dataset pushcreated — the inverse ofpush. Already anticipated in code (newDatasetCmddoc: "Future verbs (dataset list,dataset rm) hang off this parent in v0.2.").What a push creates (so what delete must tear down)
training_test_datasets.<table>./data/shared/<table>(final dest) + any/data/shared/.tracebloc-staging/<table>leftovers.Open design question (why this needs its own pass)
rms the PVC dir (mirrors the stage-pod pattern), plus a backend API call to remove the catalog entry. No server change, but the CLI owns destructive cluster ops.delete-ingestionendpoint — mirrorssubmit-ingestion-run; keeps destructive logic server-side and is cleaner, but needs new work intracebloc/client+tracebloc/data-ingestors(cross-repo coordination).Likely shape (subject to the design pass)
tracebloc dataset rm <table>with--dry-run(show exactly what would be deleted), interactive confirmation (Phase 3),--yes/--force, and a before/after summary (Phases 1–2).dataset listto see what's deletable.Acceptance criteria (this issue)
Notes
Part of the UX/interactive epic.
🤖 Generated with Claude Code