Summary
These are test gaps left after #190 (observer anchor in the ingestor). They come from the independent review of head 0f4c167a: three of the reviewer's five mutants survive the whole cmd/ingestor suite. The code is believed correct. The tests just do not pin these behaviours. Low priority.
Relates to #188, #190.
Surviving mutants
| # |
Mutant |
What is unpinned |
| X1 |
A neighbour-edge build tick that fails still marks the graph as a post-build snapshot |
The backfill readiness gate (resolvedPathBackfillReady) must not treat a failed build as complete. A test should fail a tick (for example a DB error) and assert that the backfill does not advance. |
| X3 |
Rows with a NULL route_type are not skipped by the flood-only observer↔last-hop edge rule |
The builder adds the observer edge only for route types 0 and 1. A NULL route type must not create an edge. There is no test for the NULL case. |
| X4 |
The originator is not excluded in the backward chain |
resolvePathBackward should never resolve a hop to the packet's originator. No test covers it. |
Acceptance criteria
- One test per mutant. Each test is red with the mutant applied and green on the code.
- No production code change unless a test reveals a real defect. If it does, describe the defect in the PR.
Summary
These are test gaps left after #190 (observer anchor in the ingestor). They come from the independent review of head
0f4c167a: three of the reviewer's five mutants survive the wholecmd/ingestorsuite. The code is believed correct. The tests just do not pin these behaviours. Low priority.Relates to #188, #190.
Surviving mutants
resolvedPathBackfillReady) must not treat a failed build as complete. A test should fail a tick (for example a DB error) and assert that the backfill does not advance.route_typeare not skipped by the flood-only observer↔last-hop edge ruleresolvePathBackwardshould never resolve a hop to the packet's originator. No test covers it.Acceptance criteria