Skip to main content

Crate cellos_projector

Crate cellos_projector 

Source
Expand description

cellos-projector library surface.

This crate is primarily delivered as a set of binaries (see src/main.rs and src/bin/*.rs), but the library path is required so that pure rendering helpers — used by audit / evidence consumers — can be unit-tested without spawning a subprocess.

Public modules:

  • audit_doc — the F6a evidence-bundle consumer. It accepts a CloudEvent JSON value (type == "dev.cellos.events.cell.evidence_bundle.v1.emitted") and renders a one-page Markdown audit document.
  • event_decode — I5 per-event signing decode shim, shared between the JSONL projector and the JetStream consumer (cellos-state-server).

Design notes:

  • render_audit_doc is a pure, byte-deterministic function. It must never panic on malformed input (D11): wrong event type or missing data yields a single-line Markdown error sentinel rather than aborting.
  • The library deliberately does not depend on cellos-core::events or cellos-host-telemetry for the F6a consumer. Slot F6a only reads from the on-wire JSON shape, so the consumer stays decoupled from upstream typed schemas.

Re-exports§

pub use event_decode::decode_event;
pub use event_decode::EventVerifierConfig;

Modules§

audit_doc
F6a — evidence_bundle → one-page audit doc renderer.
build_info
Compile-time build-info helpers shared by the three projector binaries (cellos-projector, cellos-state-server, cellos-audit-justification).
event_decode
I5 — per-event signing decode/verify shim shared by the JSONL projector and the JetStream cellos-state-server consumer.