Skip to content

Conversation

@fermga
Copy link
Owner

@fermga fermga commented Aug 27, 2025

No description provided.

@netlify
Copy link

netlify bot commented Aug 27, 2025

Deploy Preview for stunning-zabaione-f1f1ef failed. Why did it fail? →

Name Link
🔨 Latest commit 48451a6
🔍 Latest deploy log https://app.netlify.com/projects/stunning-zabaione-f1f1ef/deploys/68af5521b940e50008c05684

@fermga fermga merged commit e23e982 into main Aug 27, 2025
0 of 4 checks passed
@fermga fermga deleted the revert-3-codex/update-comment-for-_epi_hist-preparation branch August 27, 2025 19:11
fermga added a commit that referenced this pull request Oct 19, 2025
Operators involved: [Coherencia|Resonancia|Recursividad]
Affected invariants: [#1, #4, #8, #9, #10]
Key changes:
- Documented TNFR architecture overview and invariant enforcement map in README
- Added architecture conventions and references for contributors
Expected risks/dissonances: Low; documentation alignment only
Metrics: Documentation-only change (no runtime metrics)
Equivalence map: N/A
fermga added a commit that referenced this pull request Oct 19, 2025
Operators involved: []
Affected invariants: [#1, #4, #5, #8, #9, #10]
Key changes: Added TNFR Architecture Guide; linked guide from README/CONTRIBUTING
Expected risks/dissonances: None; documentation only
Metrics: Not applicable
Equivalence map: Not applicable
fermga added a commit that referenced this pull request Oct 23, 2025
Operators involved: [Emission, Reception, Coherence, Resonance, Silence, Self-organization, Transition]
Affected invariants: [#9, #10]
Key changes:
- Delete tests/legacy_tokens.py and stop exposing it through tests package.
- Inline English-only placeholder identifiers across CLI, public API, metrics, alias, and structural tests.
- Update remesh and node alias tests to use new deprecated tokens and maintain rejection assertions.
Expected risks/dissonances: Low risk; changes confined to tests verifying legacy token rejection.
Metrics: pytest -o addopts='' tests/integration/test_cli.py tests/integration/test_public_api.py tests/unit/dynamics/test_operator_names.py tests/unit/metrics/test_diagnosis_state.py tests/unit/metrics/test_si_helpers.py tests/unit/alias/test_theta_compat.py tests/unit/config/test_presets.py tests/unit/structural/test_node_aliases.py tests/unit/structural/test_remesh.py && pytest -o addopts='' tests/unit/structural/test_structural.py tests/unit/structural/test_observers.py
Equivalence map: Replaced shared legacy token imports with local DEPRECATED_* constants.
fermga pushed a commit that referenced this pull request Nov 11, 2025
…mework

Operators involved: Coherence (IL), Self-organization (THOL)
Affected invariants: #9 (structural metrics), #10 (domain neutrality)

Key changes:
- Promoted Φ_s to CANONICAL status with 2,400+ experiments validation
- Added comprehensive TNFR_FORCES_EMERGENCE.md documenting phase fields research
- Documented research fields (|∇φ|, K_φ, ξ_C) with promotion criteria
- Consolidated grammar documentation structure
- Enhanced AGENTS.md with structural fields section
- Added U6 experimental results and analysis tools
- Implemented physics fields module (fields.py, liouville.py)
- Added cross-domain validation framework

Expected risks/dissonances: None - documentation strengthens theoretical coherence

Metrics: Documentation C(t) ↑ (increased consistency and traceability)
Phase tracking: Research fields remain phase-compatible (Invariant #5 preserved)

Structural potential: corr(Δ Φ_s, ΔC) = -0.822 validates canonical promotion
Research fields: |corr| < 0.15 (below threshold), remain RESEARCH status
fermga pushed a commit that referenced this pull request Nov 11, 2025
…storing structural integrity)

Operators involved: Coherence (IL) - Stabilizes module structure through negative feedback

Affected invariants:
- #4 (Operator Closure): Preserved API compatibility via re-exports
- #8 (Controlled Determinism): Deterministic import resolution
- #10 (Domain Neutrality): No domain-specific assumptions introduced

Key changes:
- Created src/tnfr/validation/base.py: Isolated ValidationOutcome, Validator, SubjectT
- Updated src/tnfr/validation/runtime.py: Import from .base instead of .
- Updated src/tnfr/validation/__init__.py: Re-export from .base (removed duplicates)
- Updated src/tnfr/validation/spectral.py: Import from .base
- Added test_circular_import_fix.py: Verification test for complete import chain

Expected risks/dissonances: None - structure strengthened, API preserved

Metrics:
- C(t): ↑ (module structure now coherent)
- ΔNFR: ↓ (circular dependency eliminated)
- Si: ↑ (stable import resolution)

Equivalence map:
- ValidationOutcome: validation.__init__ → validation.base → validation.__init__ (re-exported)
- Validator: validation.__init__ → validation.base → validation.__init__ (re-exported)
- API surface unchanged for external consumers

Fixes #2926 circular import blocking CI/CD
fermga pushed a commit that referenced this pull request Nov 14, 2025
Intent: Improve maintainability by dividing large 2,146-line metrics module
Operators involved: Code organization (no runtime operators affected)
Affected invariants: #10 (Domain Neutrality - modular organization)

Key changes:
- Split src/tnfr/operators/metrics.py (2,146 lines) into 5 modules:
  * metrics_core.py: Shared utilities and helpers (89 lines)
  * metrics_basic.py: emission, reception, coherence, dissonance (500 lines)
  * metrics_network.py: coupling, resonance, silence + 4 helpers (693 lines)
  * metrics_structural.py: expansion, contraction, self_organization,
    mutation, transition, recursivity + helper (1,089 lines)
  * metrics.py: Facade for backward compatibility (61 lines)
- Created scripts/split_metrics.py for automated refactoring
- Preserved all public APIs (100% backward compatible)
- Exported private helpers (_compute_*, _detect_*) for test compatibility

Module organization:
- Core: get_node_attr() + alias system + constants
- Basic: Single-node structural operators (4 functions)
- Network: Multi-node coupling/propagation operators (3 functions + 4 helpers)
- Structural: Complex transformation operators (6 functions + 1 helper)
- Facade: Re-exports all + U6 experimental telemetry

Testing validation:
- test_operator_enhancements.py: 23/23 passed ✅
- test_sha_extended_metrics.py: 33/33 passed ✅
- test_thol_metrics.py: Passed ✅
- test_nul_densification.py: Passed ✅
- test_mutation_metrics_comprehensive.py: Passed ✅
- Total: 99+ tests verified

Benefits:
- Improved navigation: Find operator metrics by category
- Reduced cognitive load: ~400-700 lines per module vs 2,146
- Better testability: Can test modules independently
- Clearer dependencies: Explicit imports between modules
- Maintainability: Changes isolated to relevant module

Expected risks/dissonances: None - all tests passing, APIs preserved

Metrics before/after:
- Src files: 255 → 259 (+4 new modules, 1 facade)
- Test files: 492 (unchanged)
- Health: 100/100 → 100/100 (maintained) ✅
- Imports: All backward compatible
- Line distribution: 2,146 → 89+500+693+1,089+61 = 2,432 total
  (includes docstrings, __all__, imports in each module)

Backup files:
- metrics.py.backup: Pre-split copy
- metrics.py.old: Renamed original after split

TNFR Canonicity: Strengthens Invariant #10 (modular organization)
without changing structural behavior.

Task completion: Phase 1, Task 4 (4h, medium risk) ✅
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants