Skip to content

milo-cli 0.2.2

Choose a tag to compare

@lbliii lbliii released this 13 Apr 23:51
· 42 commits to main since this release
db0426e

Patch release adding pipeline observability, refactoring command dispatch internals, improving performance, and fixing a batch of sharp edges.

Added

  • Pipeline observabilityPhaseLog dataclass with @@PHASE_LOG action and ring-buffer reducer for per-phase stdout/stderr capture (opt-in via Pipeline(capture_output=True)). New phase_detail() and pipeline_detail() kida macros for interactive TUI with cursor navigation, log scrolling, and auto-follow. PipelineViewState + make_detail_reducer() for Elm-style keyboard-driven expand/collapse interaction. milo://pipeline/timeline MCP resource exposes phase execution timeline as structured JSON. Gateway --status now shows real CLI metrics and pipeline state.

Changed

  • kida-templates 0.5.0 — Correctness fix for variable bindings inside unrolled for-loops (affects form, select, pipeline, and component templates) and faster template compilation from cached str.join and filter folding.
  • Dispatch performance — Replaced SHA256 with builtin hash and deferred recording append outside the lock. Fixed get_env() singleton cache (122us to 125ns). Bulk task accounting for Batch effects.
  • Command dispatch refactor — Shared builtin-mode handling, command resolution, hook execution, middleware execution, generator consumption, and output writing across run(), call(), and call_raw() without changing the public API.

Fixed

  • call() / call_raw() error handling — Re-raise exceptions instead of calling sys.exit(1), restoring the pre-refactor behavior for programmatic invocations.
  • Sharp edges (batch 1) — Fix 7 Python 2 except A, B: syntax errors, replace silent exception swallowing with warnings/logging, add atomic file writes, guard unhandled template lookups, and add raise_on_error to Config.validate().
  • Sharp edges (batch 2) — Warn on silent template/config fallbacks, validate PhasePolicy and pipeline dependencies eagerly, fix exit code on aborted confirmations (130 instead of 0), suppress display_result=False across all output formats, tighten Context injection type check, return default from confirm() in dry-run mode, add fail_fast option to hook invocation and parallel pipelines.
  • Sharp edges (batch 3) — Additional syntax errors, silent failures, and strict API fixes.