Part of #1195 — Phase 1 Define the trust boundary model used across all crates. **Crates**: zeph-core **Tasks**: - [ ] `TrustLevel` enum: `Trusted`, `LocalUntrusted`, `ExternalUntrusted` - [ ] `ContentSource` struct: source kind (tool, web, mcp, a2a, memory, file), origin URL/name, timestamp - [ ] `SanitizedContent` struct: original content, trust level, source, detected flags, wrapped output - [ ] Derive `schemars::JsonSchema` on public types - [ ] Unit tests for type construction and serialization **Files**: `crates/zeph-core/src/sanitizer.rs` (new), `crates/zeph-core/src/lib.rs`
Part of #1195 — Phase 1
Define the trust boundary model used across all crates.
Crates: zeph-core
Tasks:
TrustLevelenum:Trusted,LocalUntrusted,ExternalUntrustedContentSourcestruct: source kind (tool, web, mcp, a2a, memory, file), origin URL/name, timestampSanitizedContentstruct: original content, trust level, source, detected flags, wrapped outputschemars::JsonSchemaon public typesFiles:
crates/zeph-core/src/sanitizer.rs(new),crates/zeph-core/src/lib.rs