> **Plain-language companion:** [v0.53.0.md](v0.53.0.md)

## v0.53.0 — Unit Test Depth Sweep

**Status: Released.**  Derived from [ROADMAP.md](../ROADMAP.md) and
[plans/PLAN_OVERALL_ASSESSMENT_11.md](../plans/PLAN_OVERALL_ASSESSMENT_11.md).

> **Release Theme**
> Fill the unit-test coverage gaps identified in the v0.51.0 overall assessment.
> Six scheduler and parser submodules had zero inline `#[cfg(test)]` blocks.
> Property-based testing is extended to the DAG engine. Two long fixed sleeps
> in the buffer-growth E2E tests are replaced with adaptive polling.

---

### Test Coverage

| ID | Title | Effort | Priority |
|----|-------|--------|----------|
| T-2 | Proptest for DAG cycle detection and topological order invariants | 0.5d | MEDIUM |
| T-4a | `dispatch.rs` unit tests — `parse_worker_extra`, `compute_adaptive_poll_ms` | 0.5d | MEDIUM |
| T-4b | `pool.rs` unit tests — `pool_size_from_config_value` | 0.25d | MEDIUM |
| T-4c | `watermark.rs` unit tests — `should_emit_holdback_warning` rate-limit logic | 0.25d | MEDIUM |
| T-4d | `citus.rs` unit tests — thread-local failure counter tracking | 0.25d | MEDIUM |
| T-4e | `scheduler_loop.rs` unit tests — structural compile-check | 0.25d | MEDIUM |
| T-6 | `dvm/parser/sublinks.rs` unit tests — pure helper functions | 0.5d | MEDIUM |
| T-8 | Replace 7-second sleep in buffer-growth test with adaptive polling | 0.25d | LOW |
| T-9 | Replace 20-second sleep in buffer-growth test with adaptive polling | 0.25d | LOW |

---

### Recommended Implementation Order

| Phase | Items | Description |
|-------|-------|-------------|
| Phase 1 | T-4a, T-4b, T-4c, T-4d, T-4e | Scheduler module unit tests (zero-coverage sweep) |
| Phase 2 | T-6 | Parser sublinks unit tests |
| Phase 3 | T-2 | Proptest extension for DAG invariants |
| Phase 4 | T-8, T-9 | Sleep removal in buffer-growth E2E tests |

---

### Implementation Status

| ID | Title | Status |
|----|-------|--------|
| T-4a | dispatch.rs: `parse_worker_extra`, `compute_adaptive_poll_ms` | ✅ Done |
| T-4b | pool.rs: `pool_size_from_config_value` | ✅ Done |
| T-4c | watermark.rs: `should_emit_holdback_warning` rate-limit | ✅ Done |
| T-4d | citus.rs: thread-local failure counter | ✅ Done |
| T-4e | scheduler_loop.rs: structural compile-check | ✅ Done |
| T-6  | sublinks.rs: pure helpers | ✅ Done |
| T-2  | dag.rs: proptest for cycle detection + topological order | ✅ Done |
| T-8  | buffer-growth 7s sleep removal | ✅ Done |
| T-9  | buffer-growth 20s sleep removal | ✅ Done |

---

### Exit Criteria

- [x] All items ✅ Done
- [x] `just test-unit` passes (new tests included)
- [x] `just lint` exits 0 with zero warnings
- [x] CHANGELOG.md entry written
- [x] ROADMAP.md v0.53.0 row marked ✅ Released
