knowledge-runtime 0.1.0

Bounded orchestration scaffold for semantic-memory: classification, routing, scoped entity resolution, provenance-preserving merge, and projection status tracking
Documentation
#![allow(clippy::expect_used)]

use knowledge_runtime::{
    CompiledObligationRuntimeViewV1, CompositionConflictRuntimeViewV1, EffectiveConstitutionViewV1,
    PolicyImpactDiffRuntimeViewV1,
};
use stack_ids::{
    ApplicabilityContextId, CompiledObligationSetId, CompositionConflictSetId,
    EffectiveConstitutionId, PolicyImpactDiffId, ProfileSetId,
};

#[test]
fn v25_runtime_views_roundtrip() {
    let constitution = EffectiveConstitutionViewV1 {
        schema_version: "effective_constitution_view_v1".into(),
        effective_constitution_id: EffectiveConstitutionId::new("effective-constitution-1"),
        applicability_context_id: ApplicabilityContextId::new("applicability-context-1"),
        profile_set_id: ProfileSetId::new("profile-set-1"),
        mode_classification: "normal".into(),
        blocking: false,
        approval_requirements: vec!["locality-review-board".into()],
        hard_block_summary: vec![],
        active_warning_summary: vec!["vendor_translation_lossy".into()],
        valid_as_of: "2026-03-16T14:00:00Z".into(),
        recorded_as_of: "2026-03-16T14:00:05Z".into(),
    };
    let obligations = CompiledObligationRuntimeViewV1 {
        schema_version: "compiled_obligation_runtime_view_v1".into(),
        compiled_obligation_set_id: CompiledObligationSetId::new("compiled-obligation-set-1"),
        effective_constitution_id: constitution.effective_constitution_id.clone(),
        required_approvals: vec!["locality-review-board".into()],
        required_checks: vec!["integrity".into(), "admission".into()],
        required_monitors: vec!["cross_region_replay_monitor".into()],
        required_disclosure_obligations: vec!["audit_redaction_rule_set:rrs_001".into()],
        required_post_hoc_review_obligations: vec!["locality_exception_post_review".into()],
        unresolved_dependency_refs: vec![],
        effect_eligibility_summary: "eligible_with_approvals".into(),
    };
    let conflicts = CompositionConflictRuntimeViewV1 {
        schema_version: "composition_conflict_runtime_view_v1".into(),
        composition_conflict_set_id: CompositionConflictSetId::new("composition-conflict-set-1"),
        effective_constitution_id: Some(EffectiveConstitutionId::new("effective-constitution-2")),
        blocking: true,
        conflict_keys: vec!["disclosure.export_format:export_package_format".into()],
        review_paths: vec!["human_constitution_review".into()],
        admissible_exception_classes: vec!["disclosure_exception".into()],
    };
    let diff = PolicyImpactDiffRuntimeViewV1 {
        schema_version: "policy_impact_diff_runtime_view_v1".into(),
        policy_impact_diff_id: PolicyImpactDiffId::new("policy-impact-diff-1"),
        from_effective_constitution_id: EffectiveConstitutionId::new("effective-constitution-0"),
        to_effective_constitution_id: constitution.effective_constitution_id.clone(),
        changed_obligation_families: vec!["monitor.required".into()],
        newly_blocked_paths: vec![],
        newly_admitted_paths: vec![
            "residency.forbidden_transfer_classes:customer_pii_to_non_us".into(),
        ],
        migration_consequences: vec!["monitoring plan update required".into()],
        simulation_only: false,
    };

    let json = serde_json::to_string(&(constitution, obligations, conflicts, diff))
        .expect("serialize v25 runtime views");
    let _: (
        EffectiveConstitutionViewV1,
        CompiledObligationRuntimeViewV1,
        CompositionConflictRuntimeViewV1,
        PolicyImpactDiffRuntimeViewV1,
    ) = serde_json::from_str(&json).expect("deserialize v25 runtime views");
}

#[test]
fn v25_runtime_view_examples_parse() {
    let constitution =
        std::fs::read_to_string("../examples/effective-constitution-view-v1.example.json")
            .expect("read constitution view example");
    let _: EffectiveConstitutionViewV1 =
        serde_json::from_str(&constitution).expect("parse constitution view example");

    let obligations =
        std::fs::read_to_string("../examples/compiled-obligation-runtime-view-v1.example.json")
            .expect("read obligation view example");
    let _: CompiledObligationRuntimeViewV1 =
        serde_json::from_str(&obligations).expect("parse obligation view example");

    let conflicts =
        std::fs::read_to_string("../examples/composition-conflict-runtime-view-v1.example.json")
            .expect("read conflict view example");
    let _: CompositionConflictRuntimeViewV1 =
        serde_json::from_str(&conflicts).expect("parse conflict view example");

    let diff =
        std::fs::read_to_string("../examples/policy-impact-diff-runtime-view-v1.example.json")
            .expect("read diff view example");
    let _: PolicyImpactDiffRuntimeViewV1 =
        serde_json::from_str(&diff).expect("parse diff view example");
}