Releases: Vanderhell/loxc
Releases · Vanderhell/loxc
Release list
v0.4.3
[0.4.3] - 2026-08-13
Added
- Corpus-backed, syntax-agnostic v3 dictionary fragment discovery with exact
longest-match usage accounting - Exact v3 dictionary objective scoring for overlapping whole entries and
fragments - Optional split v3 dictionary-matrix architecture with an independent
HIER4/HIER8 dictionary namespace, diagonal paths, nested nodes, runtime
loading, static code generation, and backward-compatible shared tables - Regression coverage for fragment/whole coexistence, fragment-for-whole
swaps, split dictionary matrices, generated/static round-trips, and loader
validation
Changed
- V3 fragment refinement now uses deterministic dictionary-first admission:
payload training ranks by active non-overlapping use count inside isolated
dictionary gain, while embedded/amortized objectives may use potential counts
for shadowed-entry swaps - Only the strongest positive dictionary-gain class is exact-v3 evaluated in a
refinement round; an improving fragment is committed immediately and corpus
proposals are rebuilt against the new longest-match parse - V3 training now evaluates shared and split dictionary-matrix layouts and
selects the lower requested objective instead of forcing either architecture - Dictionary matrix
DIRECTcells address dictionary indices directly, so
split tables avoid duplicating dictionary entries in the main symbol table - Trainer diagnostics now distinguish round-summed gain-positive proposal
observations from the small number of candidates actually exact-scored - V3 dictionary reports now show final effective uses and a clearly labelled
isolated admission gain instead of stale analyzer gain values
Fixed
- Removed the pathological v3 fragment-refinement behavior that exact-scored
hundreds of thousands of corpus proposals with repeated full-corpus scans - Prevented shadow-only occurrences from inflating payload fragment admission
counts - Escaped control and non-printable bytes in fragment diagnostics so entries
such as newline-prefixed log fragments cannot break trainer output - Preserved old shared v3 table loading while extending reserved v3 metadata for
split dictionary matrices
Verified
- Full test suite passes after a clean rebuild
- Release build path passes
make,make test,make package, and
make examples - On
trainings/extra/logs_corpus.txt(1,886,013 bytes), refinement processes
only 3 exact candidates across 3 rounds, adds 2 fragments, raises dictionary
byte coverage to 84.9%, and reduces the payload objective from 4,772,661 to
3,725,400 bits - Shared/split selection remains corpus-dependent: split wins before fragment
refinement on the logs corpus, while the refined distribution correctly
selects the lower-payload shared HIER8 layout
v0.4.2
Release 0.4.2
See CHANGELOG.md for details.
v0.4.1
Release 0.4.1
See CHANGELOG.md for details.
v0.4.0
Release 0.4.0
See CHANGELOG.md for details.
v0.3.0
Release 0.3.0
See CHANGELOG.md for details.
v0.2.4
Release 0.2.4
See CHANGELOG.md for details.