A key-value database
Stage 12 of 14v2 · 547d34a4

Persistent deletes

Implement persistent deletes as one cumulative capability of the project.

Persistent deletes

Implement persistent deletes as one cumulative capability of the project. This stage preserves everything built earlier.

Verifiable boundary

The harness reads one JSON request from stdin. The fixture deterministically represents the files, processes, or data needed by the mechanism:

{ "op": "tombstones", "fixture": "representative" }

The implementation returns compact JSON with a final newline:

{ "capability": "tombstones", "status": "ok" }

Invalid input leaves stdout empty, includes error on stderr, and exits non-zero.

Technical work

Implement the capability in a module independent from the JSON adapter. Define its invariants, validate sizes and offsets before use, and preserve observable ordering. The fixture does not replace the algorithm: it injects data and exposes results without depending on the host.

Manually test the empty case, truncated data, and a mid-operation failure. Do not delegate the central mechanism to a library that already solves the project.

Acceptance

  • The stated capability works with the representative fixture.
  • Earlier capabilities do not regress.
  • Errors are controlled and deterministic.