Releases
v0.3.21
Compare
Sorry, something went wrong.
No results found
0.3.21 (2026-08-23)
Added
board: block creating a card with no declared pull-state (d3422c7 )
cli: let task-create set Repro Steps (217b334 )
cli: report supervision health in cos doctor (cdf1d62 )
codex: price dispatches from the published OpenAI rate table (a9f2ad5 )
eval: preflight the ablation cost probe instead of guessing its price (a3b3bbe )
graph: report the whole-graph node total in export meta (3f7f853 )
hooks: gate the 3.11-only datetime.UTC import at write time and in CI (3933fb6 )
hooks: resolve the supervision route per prompt and always show a banner (68c188a )
hooks: warn at write time on timestamp forms that store the wrong instant (a5e643b )
supervision: auto-dispatch roles pinned to another provider (ed46245 )
supervision: report each provider's plan quota from its own on-disk state (876494c )
Fixed
cli: carry stack-rule corrections into installed projects on update (3bd702f )
cli: decide every adapter against one stack-rule baseline (16fb232 )
cli: stop reporting an up-to-date stack rule as a user edit (3d9ec54 )
cognition: make formula dispatch survive the MCP event loop (de6fe88 )
core: collapse six now_iso variants onto one UTC form and drop naive stamps (07eee22 )
core: replace the 3.11-only datetime.UTC import with timezone.utc (42f3740 )
db: cap WAL growth with journal_size_limit and a SessionStart WAL guard (1e52086 )
dispatch: derive the turn budget from the role instead of capping it at one (843b6e8 )
eval: stop the preflight greening on config vars and VM total (094d34a )
graph_os: resolve telemetry state dir by walk, never mint one at cwd (fbd499e )
hooks: mark the sourced pulse module executable (3f6fb85 )
hub: clamp a long log message so one stats line cannot fill the table (26a81c0 )
hub: collapse empty board columns to a rail (4c924c7 )
hub: count unpriced dispatches so codex runs appear in the rollup (36a5783 )
hub: label dispatch cost notional under a subscription login (3163468 )
hub: move the raw transcript byte size out of the chat row (a7c7cae )
hub: open the graph with its filter card closed (fbf537d )
hub: pin the node-count locale and stop config table headers wrapping (9802f76 )
hub: show an unpriced adapter as unknown rather than as zero spend (7767d24 )
hub: stop hub.log growing without bound (1bc01fc )
hub: stop the search summary counting an unanswered layer as zero (00dc849 )
hub: widen the Config tables to the Hub page width (1cbe8e8 )
supervision: record failed dispatches and their error text (ac73de2 )
supervision: record failed dispatches inside a parallel fan-out (6d85151 )
supervision: resolve tier aliases before validation so dispatch can run (3e6b029 )
tests: add the clock exports to the logging_os public-surface lock (a459ea4 )
tests: exempt the canonical format definition from the now_iso gate (21586de )
tests: unstick two assertions left stale by an unverified supervision commit (78e5d5a )
ui: drop two dead eslint-disable directives blocking the release (9b99faf )
Changed
cli: move the hub.log cap into _hub_paths (d7f7f5c )
core: trim clock.py to the three producers the contract names (71bcd78 )
Documentation
governance: add logging_os and scheduled rows to the verification matrix (6e5c9d6 )
governance: add Rule 28 — one timestamp contract, UTC at rest (aea0664 )
readme: add a hero banner and the four remaining Hub tabs (6a14b80 )
readme: drop the three-layer hero diagram (0bbf0f7 )
readme: lead with a brand card showing the knowledge graph (627c251 )
readme: lead with the Hub and reshoot every screenshot as webp (b856317 )
readme: name the three capped columns instead of claiming all seven (1e2bf98 )
readme: rebuild the brand card inside GitHub's 40pt safe zone (0fb121f )
tasks: record TASK-1006 read-first, acceptance, and the four landed fixes (1d12f21 )
You can’t perform that action at this time.