packages feed

moonlight-homology-0.1.0.0: CHANGELOG.md

# Changelog

All notable changes to `moonlight-homology` are documented here.

## 0.1.0.0 - 2026-08-21

- Initial public release.
- Finite chain complexes with validated boundary-incidence matrices.
- Phase-gated Betti and spectral-sequence capabilities.
- Field-rank, GF2-rank, and Smith-normal-form homology backends.
- Effective-homology reductions with sampled law witnesses.
- Exact and spectral sequence scaffolding, bidegrees, formal maps, pages, and
  rational spectral-family construction.
- Topological carriers: 2D cell complexes, graph skeletons, macro-scaffolds,
  persistence helpers, harmonic summaries, and graph spectral helpers.
- Discrete Morse and Block-Schur reductions.
- Public `moonlight-homology-laws` sublibrary for boundary, reduction, normalization,
  and determinism harnesses.
- Split into private implementation sublibraries (`moonlight-homology-chain`,
  `moonlight-homology-matrix`, `moonlight-homology-topology`,
  `moonlight-homology-sequence`), a curated public facade, and the public laws
  sublibrary; external proof-assistant certification was removed from the package.
- Consolidated the old Criterion benchmark entrypoints into a single
  `moonlight-homology-bench` `tasty-bench` target matching `moonlight-category`.
- Added Apple M4 Pro benchmark documentation at `docs/BENCHMARKS-m4-pro.md`, with
  large sparse spectral cases gated behind explicit environment variables.
- Pre-Hackage hardening pass (failure-mode audit):
  - Field-rank backends treat degrees above `maxHomologicalDegree` as zero by
    convention instead of consulting the raw incidence function at `max + 1`,
    which silently corrupted the top homology group for malformed inputs.
  - `validatedColumnAt` returns legal columns of zero-row matrices (the
    transpose-based path lost them).
  - Non-nilpotent boundaries surface as `ChainComplexNilpotenceViolation d` on
    every detection path (checked construction, field-rank gate, Morse gate);
    previously the same failure appeared as three different constructors.
  - `restrictComplex` materializes each retained degree exactly once and
    propagates materialization failures instead of collapsing them into
    silently empty boundaries.
  - Sparse echelon rows are compacted at the reduction boundary, eliminating
    phantom zero pivots from uncompacted input; redundant double reversal
    removed from RREF canonicalization.
  - Morse: DAG machinery extracted to
    `Moonlight.Homology.Pure.Topology.Morse.Digraph`; the refined descent
    gates its first stage and trusts theorem-guaranteed later stages instead
    of re-validating per stage; the gradient path-weight oracle is shared per
    upper cell; nilpotence violations are no longer misreported as
    `ReductionInclusionChainMapLaw`.
  - Performance: persistence boundary columns and BlockSchur law sweeps index
    entries by source; filtration-ordered spectral reduction uses vectors
    instead of per-lookup list walks; `nub` quadratics removed from Reeb arc
    seeds, spectral support levels, and torsion-order normalization; strict
    accumulators for persistence state, duplicate-cell detection, and ordered
    entry canonicalization; `materializeBoundary` evaluates the user boundary
    function once per basis element.
  - Documentation: realization budget floor semantics, spectral input
    scrubbing contract, `subtractFromDiagonal` orientation, and the
    forward-looking bi-parameter persistence vocabulary are stated explicitly;
    duplicate export block removed from the `Chain` facade.
  - Packaging: compile-fixture files ship in the sdist via
    `extra-source-files`; upper bounds pinned for test and benchmark
    dependencies.