# Next implementation sequence after R15B1

## R15B2 — live shadow generation builder

Build one generation from real provider download/test/rank output under
`/var/lib/router-egress-recovery/generations/staging/`.

It must:

- copy source pool and five selected configs into an immutable generation directory;
- snapshot current active endpoints and quarantine;
- select exactly five unique tested candidates;
- exclude active and quarantined endpoints;
- write metadata, candidates and manifest atomically;
- call the R15B1 validator;
- never run UCI, ifup/ifdown, slots apply or change policy routing.

## R15B3 — independent real-generation proof

Independently validate freshness, source/config hashes, exact slot mapping and
negative cases against the real staged generation.

## R16 — transactional activation

Only after R15B2/R15B3 PASS may an apply engine be introduced. Any failure must
rollback all five slots; partial generation activation is prohibited.
