Skip to content

llmtrim 0.1.6

Choose a tag to compare

@github-actions github-actions released this 12 Jun 23:46
· 109 commits to main since this release

Added

  • Range-fold for regular sequences in tool-output template folds: when a folded
    log's parameter column is a regular sequence — constant values, arithmetic integers,
    or constant-step ISO-8601-like timestamps — the explicit value list collapses to a
    lossless range ([×30: (10:02:00Z..10:02:29Z step 1s; 0..29)]). Every value stays
    byte-exactly reconstructible (a round-trip check gates each fold); irregular columns
    keep the explicit list, and a range is emitted only when strictly shorter. On the
    README's build-log example the same request now compresses −71% instead of −62%.
  • Missed-fold telemetry in the capture loop: with LLMTRIM_CAPTURE_DIR set,
    datetime-ish columns that fall back to the explicit list are logged to
    missed_folds.jsonl (reason + 5-value sample), so real traffic — not guesswork —
    decides which timestamp shapes the range fold learns next. Zero overhead when
    capture is off; a write failure can never break a fold.

Fixed

  • Re-run → passthrough rail now survives non-deterministic output: the rail that
    ships a re-invoked tool's output in full used raw-text equality, so any run-to-run
    noise — TAP's duration_ms timings, log timestamps, ports, PIDs — defeated it and
    the retry was windowed identically. Repeat detection now compares a
    volatile-value-masked fingerprint (the template stage's variable masking), so a
    re-run that differs only in such values passes through in full, while a real result
    change (a test flipping oknot ok) still compresses fresh.
  • TAP test failures no longer elided (reported against v0.1.5): a node --test /
    prove TAP log could lose its only failing test — not ok N, the YAML diagnostic,
    even the # fail 1 summary — because the failure-signal regex didn't know TAP's
    not ok marker (nor camelCase tokens like failureType: 'testCodeFailure'), and
    the retrieve stage ranked chunks purely by query relevance with no failure
    protection at all. Failure-signal lines and their continuation blocks (indented
    traceback frames; for TAP, the whole diagnostic up to the next test point) now
    survive pruning in both the tool-output and retrieve stages, regardless of query
    overlap.