mqd-core 0.1.1

Shared types, Arrow schemas, status traits, and non-claims for the multimodal-query-demo workspace.
Documentation

mqd-core

Open in Colab

Shared types, Arrow schemas, StatusReporter trait, and the numbered non-claims constant for the multimodal-query-demo workspace.

Pure types and traits. No tokio, no I/O, no dependency on the engine. This keeps the engine crate fully async without contaminating the testability of the type layer, and lets downstream consumers depend on the vocabulary without pulling in the runtime.

What's here

  • EntityPath — validated slash-delimited hierarchical path ("/agent/0").
  • ComponentKind — the five typed event kinds: Transform3D, Points3D, Scalar, ImageRef, Annotation.
  • Event — the ingest unit carrying (t_ns, entity_path, kind-specific payload).
  • schema::schema_for(kind) — canonical arrow::datatypes::Schema per kind; every row has the non-null prefix t_ns: Int64, entity_path: Utf8.
  • StatusReporter trait with TerminalReporter, JsonReporter, NullReporter — threaded through engine calls so phase/counter/summary output is decoupled from the caller's preferred format.
  • NON_CLAIMS: [&str; 6] — the numbered non-claims charter. Locked to the paper by a workspace-level integration test.

Example

use mqd_core::{EntityPath, ComponentKind, schema::schema_for};

let path = EntityPath::new("/agent/0").unwrap();
let schema = schema_for(ComponentKind::Transform3D);
assert_eq!(schema.field(0).name(), "t_ns");
assert_eq!(schema.field(1).name(), "entity_path");

License

Apache-2.0.