SergioandClaude Opus 4.8 9de0cc601f reach: multi-invariante + Laplaciano de haces vectorial (experimental, no toca M4)
Exploración del reach que Balegas marca no resuelto (constraints over multiple
counters), en módulo aislado, sin tocar la API que Tawasuyu consume.

- reach::CoupledInvariants (politopo C·x ≤ slack, C ≥ 0) + VectorBudget:
  escrow-por-restricción. certificado_politopo (proptest): reparto válido +
  gastos ≤ presupuesto ⟹ todas las restricciones aguantan. La corrección.
- reach::{coboundary, sheaf_laplacian, SheafRouter}: el Laplaciano de haces
  vectorial (L=δᵀδ) reusando nalgebra y la idea del coboundary del MVP.
  diffuse conserva cada recurso y reduce la energía; ker L = totales
  conservados = el H⁰ del MVP.

VEREDICTO HONESTO (REACH.md): la corrección es escrow sobre el politopo, NO
necesita haces. Con restricciones identidad (lo que un presupuesto real tiene),
el Laplaciano de haces colapsa a d_r Laplacianos escalares = el router de T9b
d_r veces (test identidad_colapsa_...). El haz sólo importaría con coupling en
bases incompatibles, que no es requisito real. Consistente con todo el arco: el
haz nunca fue lo que sostuvo la garantía. Recomendación: si Tawasuyu necesita
multi-invariante, usar el certificado del politopo + routers escalares; NO
promover reach.rs a estable ni venderlo como 'potenciado por haces'. Frontera
abierta dicha: restricciones no monótonas (C con signos mixtos) no cubiertas.

85 tests, clippy limpio.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 00:29:26 +00:00
2026-07-01 18:02:43 +00:00
2026-07-01 18:02:43 +00:00
2026-07-01 18:02:43 +00:00
2026-07-01 18:02:43 +00:00
S
Description
No description provided
MIT
290 KiB
Languages
Rust 100%