Skip to main content

lean_ctx/core/
contracts.rs

1use std::collections::BTreeMap;
2
3// Machine-verified contract versions.
4pub const MCP_MANIFEST_SCHEMA_VERSION: u32 = 1;
5pub const CONTEXT_PROOF_V1_SCHEMA_VERSION: u32 = 1;
6pub const CONTEXT_IR_V1_SCHEMA_VERSION: u32 = 1;
7pub const INTENT_ROUTE_V1_SCHEMA_VERSION: u32 = 1;
8pub const DEGRADATION_POLICY_V1_SCHEMA_VERSION: u32 = 1;
9pub const WORKFLOW_EVIDENCE_LEDGER_V1_SCHEMA_VERSION: u32 = 1;
10pub const AUTONOMY_DRIVERS_V1_SCHEMA_VERSION: u32 = 1;
11pub const TOKENIZER_TRANSLATION_DRIVER_V1_SCHEMA_VERSION: u32 = 1;
12pub const ATTENTION_LAYOUT_DRIVER_V1_SCHEMA_VERSION: u32 = 1;
13pub const VERIFICATION_OBSERVABILITY_V1_SCHEMA_VERSION: u32 = 1;
14pub const HANDOFF_LEDGER_V1_SCHEMA_VERSION: u32 = 1;
15pub const HANDOFF_TRANSFER_BUNDLE_V1_SCHEMA_VERSION: u32 = 1;
16pub const CCP_SESSION_BUNDLE_V1_SCHEMA_VERSION: u32 = 1;
17pub const KNOWLEDGE_POLICY_V1_SCHEMA_VERSION: u32 = 1;
18pub const GRAPH_REPRODUCIBILITY_V1_SCHEMA_VERSION: u32 = 1;
19pub const A2A_SNAPSHOT_V1_SCHEMA_VERSION: u32 = 1;
20pub const MEMORY_BOUNDARY_V1_SCHEMA_VERSION: u32 = 1;
21pub const GOTCHAS_REMINDERS_V1_SCHEMA_VERSION: u32 = 1;
22pub const PROVIDER_FRAMEWORK_V1_SCHEMA_VERSION: u32 = 1;
23pub const CONTEXT_PACKAGE_V1_SCHEMA_VERSION: u32 = 1;
24
25// Documentation-level contracts (do not have a schema field in payloads).
26pub const HTTP_MCP_CONTRACT_VERSION: u32 = 1;
27pub const TEAM_SERVER_CONTRACT_VERSION: u32 = 1;
28
29pub fn versions_kv() -> BTreeMap<&'static str, u32> {
30    BTreeMap::from([
31        (
32            "leanctx.contract.mcp_manifest.schema_version",
33            MCP_MANIFEST_SCHEMA_VERSION,
34        ),
35        (
36            "leanctx.contract.context_proof_v1.schema_version",
37            CONTEXT_PROOF_V1_SCHEMA_VERSION,
38        ),
39        (
40            "leanctx.contract.context_ir_v1.schema_version",
41            CONTEXT_IR_V1_SCHEMA_VERSION,
42        ),
43        (
44            "leanctx.contract.intent_route_v1.schema_version",
45            INTENT_ROUTE_V1_SCHEMA_VERSION,
46        ),
47        (
48            "leanctx.contract.degradation_policy_v1.schema_version",
49            DEGRADATION_POLICY_V1_SCHEMA_VERSION,
50        ),
51        (
52            "leanctx.contract.workflow_evidence_ledger_v1.schema_version",
53            WORKFLOW_EVIDENCE_LEDGER_V1_SCHEMA_VERSION,
54        ),
55        (
56            "leanctx.contract.autonomy_drivers_v1.schema_version",
57            AUTONOMY_DRIVERS_V1_SCHEMA_VERSION,
58        ),
59        (
60            "leanctx.contract.tokenizer_translation_driver_v1.schema_version",
61            TOKENIZER_TRANSLATION_DRIVER_V1_SCHEMA_VERSION,
62        ),
63        (
64            "leanctx.contract.attention_layout_driver_v1.schema_version",
65            ATTENTION_LAYOUT_DRIVER_V1_SCHEMA_VERSION,
66        ),
67        (
68            "leanctx.contract.verification_observability_v1.schema_version",
69            VERIFICATION_OBSERVABILITY_V1_SCHEMA_VERSION,
70        ),
71        (
72            "leanctx.contract.handoff_ledger_v1.schema_version",
73            HANDOFF_LEDGER_V1_SCHEMA_VERSION,
74        ),
75        (
76            "leanctx.contract.handoff_transfer_bundle_v1.schema_version",
77            HANDOFF_TRANSFER_BUNDLE_V1_SCHEMA_VERSION,
78        ),
79        (
80            "leanctx.contract.ccp_session_bundle_v1.schema_version",
81            CCP_SESSION_BUNDLE_V1_SCHEMA_VERSION,
82        ),
83        (
84            "leanctx.contract.knowledge_policy_v1.schema_version",
85            KNOWLEDGE_POLICY_V1_SCHEMA_VERSION,
86        ),
87        (
88            "leanctx.contract.graph_reproducibility_v1.schema_version",
89            GRAPH_REPRODUCIBILITY_V1_SCHEMA_VERSION,
90        ),
91        (
92            "leanctx.contract.a2a_snapshot_v1.schema_version",
93            A2A_SNAPSHOT_V1_SCHEMA_VERSION,
94        ),
95        (
96            "leanctx.contract.memory_boundary_v1.schema_version",
97            MEMORY_BOUNDARY_V1_SCHEMA_VERSION,
98        ),
99        (
100            "leanctx.contract.gotchas_reminders_v1.schema_version",
101            GOTCHAS_REMINDERS_V1_SCHEMA_VERSION,
102        ),
103        (
104            "leanctx.contract.provider_framework_v1.schema_version",
105            PROVIDER_FRAMEWORK_V1_SCHEMA_VERSION,
106        ),
107        (
108            "leanctx.contract.context_package_v1.schema_version",
109            CONTEXT_PACKAGE_V1_SCHEMA_VERSION,
110        ),
111        (
112            "leanctx.contract.http_mcp.contract_version",
113            HTTP_MCP_CONTRACT_VERSION,
114        ),
115        (
116            "leanctx.contract.team_server.contract_version",
117            TEAM_SERVER_CONTRACT_VERSION,
118        ),
119    ])
120}