v1.7.0
TUI
- Input box now grows with wrapped line count instead of being clipped to 2 rows.
axiom config
- "Custom endpoint saved" now reflects the real end state (ready / invalid URL / missing fields) instead of always claiming success.
- Fixed the optional secret prompt not accepting a bare Enter to skip.
kestral (self-hosted small-model) agent/council reliability
- Context-budget math no longer collapses to a universal 2048-token floor on an 8k-context model.
- Tool menus are gated by message intent; prompts and round budgets are scaled for a small model instead of reusing cloud-model settings.
- Added a fallback parser + explicit format instruction for granite3.2:8b's text-based tool calls.
- Root-caused and fixed the main reliability bug:
axiom codewas constructing its own council options with full cloud-model defaults (parallel explore lane, strict severity, post-merge critic on), bypassing the kestral-lite scaling entirely. The always-on Explore lane was observed hallucinating "file already created" straight into the Builder's own context. Centralized the override (CouncilToolOptions.ForModel) into every entry point. - Verified against the live server: 3/3 consecutive
axiom coderuns wrote the requested file with exact, byte-correct content. - Added write-verification: an agentic Builder that narrates without ever calling a tool now gets one explicit retry nudge, then a flagged Critic finding if it still wrote nothing.
eidos/hepha (cloud models) are unaffected — every change is gated on the custom-endpoint model ID, with regression tests asserting byte-identical behavior otherwise.
Full Changelog: v1.6.0...v1.7.0
Full Changelog: v1.6.0...v1.7.0