|
2 | 2 |
|
3 | 3 | All notable changes to this project will be documented in this file. |
4 | 4 |
|
| 5 | +## [0.0.3] - 2026-03-05 |
| 6 | + |
| 7 | +### Structural Conservation Theorem |
| 8 | + |
| 9 | +- **conservation.py**: Complete structural conservation module implementing Noether-like conservation law derived from grammar symmetry (U1-U6) |
| 10 | +- **Charge density** ρ, **current divergence** div(J), **Noether charge** Q, **energy functional** E, **Ward identities**, **Lyapunov stability**, and **spectral decomposition** |
| 11 | +- Two-sector structure: Potential (Φ_s ↔ J_ΔNFR) and Geometric (K_φ ↔ J_φ) coupled through Ψ = K_φ + i·J_φ |
| 12 | +- 62 validation tests, charge drift < 0.03% across topologies |
| 13 | + |
| 14 | +### Dissipative Conservation |
| 15 | + |
| 16 | +- **dissipative_conservation.py**: GPU-accelerated dissipative conservation analysis with PyTorch backend |
| 17 | +- Phase field computation, dissipation rate tracking, and energy budget monitoring |
| 18 | + |
| 19 | +### Closed-Loop Integrity Monitor |
| 20 | + |
| 21 | +- **integrity.py**: `StructuralIntegrityMonitor` with complete postconditions for all 13 canonical operators |
| 22 | +- Each operator (AL, EN, IL, OZ, UM, RA, SHA, VAL, NUL, THOL, ZHIR, NAV, REMESH) has verified pre/postcondition contracts |
| 23 | +- Automatic violation detection and reporting |
| 24 | + |
| 25 | +### Grammar-Aware Dynamics |
| 26 | + |
| 27 | +- **grammar_dynamics.py**: Bridge between grammar validation (U1-U6) and dynamic operator selection |
| 28 | +- Incremental U1-U6 checks: `validate_candidate()`, `filter_candidates()`, `suggest_alternative()`, `enforce_grammar_on_glyph()` |
| 29 | +- Priority-based operator substitution with fallback logic |
| 30 | +- **grammar_application.py**: Pre-validation in `apply_glyph_with_grammar()` for grammar enforcement before operator application |
| 31 | +- **selectors.py**: `_soft_grammar_prefilter()` wired with grammar_dynamics for operator filtering |
| 32 | + |
| 33 | +### Shared Test Infrastructure |
| 34 | + |
| 35 | +- **tests/conftest.py**: Centralized test fixtures (`make_ring_graph`, `make_node_data`, `ring3`, `ring5`, `small_graph`) |
| 36 | +- DRY reduction across 16+ test files that previously duplicated `_make_graph` helpers |
| 37 | + |
| 38 | +### Code Quality |
| 39 | + |
| 40 | +- Fixed bare `except:` clauses in grammar_dynamics.py (now `except Exception:`) |
| 41 | +- NAV bypass fix for grammar validation edge case |
| 42 | +- Redundancy elimination across physics helpers |
| 43 | +- Rich operator postconditions (13/13 coverage) |
| 44 | + |
| 45 | +### Cross-Codebase Constant Unification (Round 1) |
| 46 | + |
| 47 | +- **grammar_types.py**: Eliminated duplicate operator sets (single canonical definition) |
| 48 | +- **THOL_MIN_COLLECTIVE_COHERENCE**: Unified to canonical 0.2413 (was 0.3) |
| 49 | +- **MIN_BUSINESS_COHERENCE**: Centralized to canonical formula (e×φ)/(π+e) ≈ 0.7506 |
| 50 | +- **health_analyzer.py / self_organization.py**: Aligned fallback values to canonical |
| 51 | + |
| 52 | +### Phase Gradient Threshold Unification |
| 53 | + |
| 54 | +- **Canonical value**: γ/π ≈ 0.1837 (Kuramoto critical coupling in TNFR units) |
| 55 | +- **Unified across 9 code files**: Replaced competing values (0.2904, 0.2886, 0.2915, 0.38) with single canonical derivation |
| 56 | +- **Updated 8 documentation files**: Consistent threshold references throughout |
| 57 | + |
| 58 | +### Cross-Codebase Constant Unification (Round 2) |
| 59 | + |
| 60 | +- **compute_structural_potential_field**: Added alias in physics/fields.py (was silently missing, imported in 2 files) |
| 61 | +- **SHA_VF_FACTOR comment**: Fixed from ≈ 0.8476 to correct ≈ 0.9015 in defaults_core.py |
| 62 | +- **Operator fallback values**: SHA (0.85→0.9015), NUL (0.85→0.9015), VAL (1.05→1.0676) aligned to canonical |
| 63 | +- **K_φ hotspot formula**: Fixed in conservation.py from 2π/√5 ≈ 2.8099 to canonical 0.9×π ≈ 2.8274 |
| 64 | +- **grammar_core.py K_φ default**: Fixed from 3.0 to canonical 2.8274 |
| 65 | +- **telemetry/constants.py**: Removed dead try/except ImportError fallback; direct canonical imports |
| 66 | +- **config.py**: Structural field thresholds now derive from constants.canonical (was hardcoded) |
| 67 | +- **pyproject.toml**: Added mpmath to core dependencies (was required but unlisted) |
| 68 | +- **Documentation sync**: Updated 7 doc files with correct threshold values and test counts |
| 69 | + |
| 70 | +### Test Suite |
| 71 | + |
| 72 | +- **471 passing tests**, 9 skipped, 0 failing |
| 73 | +- Coverage spans operators, physics, dynamics, grammar, conservation, integrity, and factorization |
| 74 | + |
5 | 75 | ## [0.0.2] - 2025-11-29 |
6 | 76 |
|
7 | 77 | ### TNFR Development Doctrine Establishment |
|
0 commit comments