Skip to content

Marivo 0.4.5

Marivo 0.4.5 gives agents a governed way to read authoritative Event completeness, makes semantic catalogs easier to traverse programmatically, and tightens cumulative analysis over semantic calendars. It also removes a PyArrow concurrency failure from frame and evidence reuse paths.

  • session.observe_watermark(event, through=...) asks the Event’s backend completeness provider for an authoritative EventWatermarkReceipt. It returns None when no authoritative watermark is available, keeping the distinction between observed facts and declared assumptions explicit.
  • SemanticCatalog.items(kind) and catalog[kind] provide one kind-keyed traversal path across every SemanticKind, alongside the existing named collections such as catalog.metrics and catalog.events.
  • Semantic-calendar grain-to-date analysis now records canonical fiscal reset evidence and fails closed when calendar snapshots contain gaps, overlaps, coverage escapes, or undeclared levels.
  • Frame-cache and evidence Parquet writes no longer use dictionary encoding, and reads retry the transient PyArrow dictionary-bounds race that affected existing artifacts.
  • ms.load() remains the single public semantic loading entry. The lower-level SemanticProject reader now exposes catalog() as the explicit bridge from its load result to a browsable SemanticCatalog.
  • Scalar semantic-calendar cumulative comparisons require alignment=mv.period_progress(). Bucketed time-series and panel variants are rejected at the compare entry with a typed error and a concrete repair pointer instead of failing later with an untyped grain error.
  • Declared completeness with a rationale is reported as a disclosed governed assumption rather than a quality warning. This prevents a valid declaration from capping Event and lifecycle quality status at warning.
  • Period-calendar validation now rejects boundary gaps, overlaps, missing coverage, and declared non-day levels with no certified periods before any backend scan.
  • Semantic fiscal reset identity and recovery paths retain the calendar reference, snapshot digest, and typed anchor semantics; unsupported decomposition fails with a typed attribution error.
  • Empty through values passed to session.observe_watermark(...) are rejected before a backend request is built.
  • Reused frame and evidence artifacts are resilient to the intermittent ArrowInvalid: Index not in dictionary bounds failure in PyArrow 25.
  • Documented the authoritative Event watermark read next to the backend provider contract in the English and Chinese analysis workflow guides.
  • Refined the bilingual Analysis DSL design article and diagrams to clarify the boundary between constrained analytical actions and agent reasoning.
  • Clarified semantic loading layers and cumulative comparison constraints in the repository specifications.
Terminal window
curl -fsSL https://marivo.io/install.sh | bash

In mainland China, use:

Terminal window
curl -fsSL https://marivo.io/install-marivo-cn.sh | bash

For manual installation:

Terminal window
pip install marivo

Install the backend extra for each datasource you plan to use. Marivo 0.4.5 requires Python 3.10 or newer.