Repository navigation
v0.4.0
See CHANGELOG.md for full details.
Published to crates.io:
loopctl,
loopctl-derive,
loopctl-sqlite.
What's Changed
- feat: add per-turn stop_reason by @bobrykov in #121
- transport fallback by @bobrykov in #122
- feat: derive hardening round, MockApiClient streaming capture by @bobrykov in #123
- feat: cassette record/replay harness for provider wire contracts by @bobrykov in #124
- fix: cassette corpus review fixes (drivers, excludes, docs, scanner) by @bobrykov in #125
- feat: golden request-bytes gate, registration-order tool schemas by @bobrykov in #126
- feat: grammar fails loud at construction, two-envelope docs, honest smoke claim by @bobrykov in #127
- feat: verifier builtins, fallback breaker invariants, detection reach, both-ways knobs by @bobrykov in #128
- fix: race compaction against cancellation, pin the invariants by @bobrykov in #129
- feat: non_exhaustive across the 22-type widening surface, with constructors by @bobrykov in #130
- feat: eviction-to-memory demotion sink with hardened model-switch and redaction fixes by @bobrykov in #131
- fix: cancelled and failed rusn salvage completed turns by @bobrykov in #132
- feat: observable compaction by @bobrykov in #133
- feat: default profile flip by @bobrykov in #134
- feat: manifest model v1 by @bobrykov in #135
- feat: builtin read tool by @bobrykov in #136
- feat: fs tool family by @bobrykov in #137
- fix: grade non-linux contained reads by the opened handle's identity by @bobrykov in #138
- feat: observer event hub - callbacks as sequenced broadcast events by @bobrykov in #139
- feat: per event trajectory ledger by @bobrykov in #140
- feat: thinking effort dial, reasoning replay, attempt reset signal, redaction hardening by @bobrykov in #141
- feat: context-size visibility, machine getter, loop passthrough, turn… by @bobrykov in #144
- feat: determinism seams, injectable clocks, id gen, rng for byte-stable replay by @bobrykov in #145
- fix: tool name consistency by @bobrykov in #146
- deps(deps): update jsonschema requirement from 0.56 to 0.57 by @dependabot[bot] in #143
- deps(deps): update base64 requirement from 0.22 to 0.23 by @dependabot[bot] in #142
- fix: right-size default window, drop the byte cap cause claim by @bobrykov in #147
- feat: probe the model context window by @bobrykov in #148
- feat: middleware permission gate by @bobrykov in #149
- feat: park hook asks on an external approver by @bobrykov in #150
- feat: add qa summarzer 3 step compactor by @bobrykov in #151
- feat: add structured summarizer compactor by @bobrykov in #152
- feat add vector memory store and hnsw companion by @bobrykov in #153
- feat: real embedders for semantic memory for ollama and openai by @bobrykov in #154
- feat: search memories tool by @bobrykov in #155
- feat: add glob, code search and tree tools behind search_tools by @bobrykov in #156
- feat: shell and job tools by @bobrykov in #157
- deps(deps): update jsonschema requirement from 0.57 to 0.58 by @dependabot[bot] in #158
- fix: surface compaction failures by @bobrykov in #159
- feat: add budget gate consulted before model request by @bobrykov in #160
- feat: add budget gate consulted before model request by @bobrykov in #161
- feat: loopctl-vector companion with qdrant and pgvector backends by @bobrykov in #162
- feat: carry machine's history to turn-end events by @bobrykov in #163
- feat: loopctl client companion wrapping the daemon wire protocol by @bobrykov in #164
- feat: typed retention, pinnedcontent, rolling compactor, enforced lan… by @bobrykov in #165
- feat: usage-calibrated context estimates, session-scoped reasoning retention, compaction target by @bobrykov in #166
- feat: usage-anchored context accounting, tool output pruning, overflow turn salvage by @bobrykov in #167
- chore: cut 0.4.0, companion crates under /crates, version bump, changelog assembled by @bobrykov in #168
Full Changelog: v0.3.2...v0.4.0