You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 ok ↔ not 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.