Skip to content

v0.4.3

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Aug 15:14

[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 DIRECT cells 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