systemprompt_models/managed/mod.rs
1//! Verified revision closures shared across the marketplace, evaluation and
2//! scheduler domains.
3//!
4//! A [`RevisionBundle`] is the wire form of a managed-resource revision plus
5//! every revision it depends on and the exact bytes of every file. It is
6//! untrusted until [`RevisionBundle::verify`] succeeds: hashes prove
7//! integrity, never authorization — ownership is checked by whichever
8//! repository resolved the bundle. Canonical bytes (RFC 8785 JCS) bind
9//! dependency manifests, asset bytes and executable modes without filesystem
10//! reads or timestamps, so the digest is stable across processes.
11//!
12//! Every failure is a [`RevisionBundleError`]; domain crates map it into
13//! their own error enums.
14//!
15//! Copyright (c) systemprompt.io — Business Source License 1.1.
16//! See <https://systemprompt.io> for licensing details.
17
18mod assets;
19mod bundle;
20mod content_identity;
21mod error;
22mod manifest;
23
24pub use assets::{AssetDigest, AssetFile, RevisionFiles, validate_path};
25pub use bundle::{ASSEMBLER_VERSION, MAX_BYTES, MAX_FILES, MAX_REVISIONS, RevisionBundle};
26pub use error::RevisionBundleError;
27pub use manifest::{DependencyRef, FileEntry, RevisionManifest, validate_key};