8b7400422db4d4e1eac32c08f8a9091665f7a877
Completa lo que faltaba de §G.4 (antes solo estaban los tests positivos): - fencing: witness_clone_detected_impreso imprime el testigo (dos épocas 1/2, total_claimed=100 de una celda de 50, reconciled=50 [linaje vivo], gasto aislado=50 [clon obsoleto], overspend=50<=budget ⟹ daño acotado a UNA celda). - durable: valor_real_tras_rollback(con_durabilidad) — tally independiente del desembolso real. CON durabilidad: recover atrapa el rollback, re-gasto bloqueado, valor real=0 (VERDE). SIN durabilidad: doble gasto, valor real=-50 (ROJO). g4_el_certificado_se_pone_rojo_bajo_rollback (#[should_panic]) prueba que la aserción del certificado FALLA ruidosamente sin la capa de durabilidad — el diente de §G.1/§G.4. 69 tests, clippy limpio. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Languages
Rust
100%