Skip to main content

The public boundary

This repository is the interoperability contract. It is public because that is what a contract is for. What it does not contain is the decision intelligence that reads the contract — and that absence is enforced by tests over the package sources rather than asserted by this page.

EXTERNAL OPERATIONAL SYSTEMS
ASTERIX STANAG TAK AIS PNTMAP Logistics
\ | | | | /
+-------+------+--+--+-------+--------+
|
v
ADAPTERS translation only
|
v
SYNAPSECOMMAND CDM
|
+-----------+-----------+
| |
v v
OPERATIONAL ONTOLOGY SC-OES
"what it means" "what happened"
| |
+-----------+-----------+
|
v
PUBLIC CONSUMERS
|
+-----------+-----------+
| |
v v
third-party systems SynapseCommand private
reasoning / agents / C2

Everything above the last row is here. The last row is not.

Published​

The Canonical Data Model; the SC-OES specification; the Operational Ontology; the semantic registries; the JSON Schemas; the public models and SDK helpers; the validators and conformance tooling; the conformance tests; the governance process; synthetic examples; the reference adapters; and the migration documentation.

Not published, and not by accident​

The reasoning engine and its operational inference rules; the private knowledge graph and any customer operational graph; agent implementations and their prompts; fusion, correlation, impact-propagation and confidence-fusion algorithms; threat and mission scoring; course-of-action generation and ranking; planning heuristics; doctrine and rules of engagement; customer-specific ontology instances and customer infrastructure; classification-policy and cross-domain enforcement; federation implementation; private model orchestration; and proprietary evaluation datasets.

The one runtime published here, added 2026-10-11, is the separate distribution synapse-link16-bridge under packages/link16_bridge/: it delivers SC Link16 Gateway reports into the CDM and applies only the exact-match channel, label-set and export rules its deployment configuration names, which is neither a classification-policy engine nor a cross-domain guard; the boundary tests below, which read the synapse-cdm package, do not apply to it, and it has its own tests.

The principle in one line: open the language, own the intelligence. A third-party developer must be able to implement SC-OES correctly using only this repository, without access to any proprietary code — and that is the property the rest of this page is about keeping true.

How the line is held​

Not by review. tests/test_cdm_boundary.py parses every module in the package with the AST and fails the build on an import of:

ClassWhy it would mean the line had moved
private SynapseCommand codethe contract layer would stop being liftable out of the product
LLM frameworks and model SDKsreasoning had started happening inside the translation layer
graph databasesa knowledge graph had arrived where a vocabulary belongs
message brokerstransport had been decided for the consumer
RDF reasonersinference had entered a terminological ontology
crypto implementationsa signature was being computed where no key material is audited

The same closure is enforced a second time, separately, over the conformance tool, because that tool is the thing a consumer runs against content it did not write.

Why the crypto row is there when there is an integrity field

The post-quantum signature block on every canonical object is designed and deliberately unpopulated. A signature computed inside a translator is held by nothing that audits it. The field exists from day one so that turning signing on later is a value change rather than a schema change.

The one exception, and what it is not — added 2026-09-08

synapse_cdm/evidence.py imports hashlib, and it is the only module in the package that may.

SHA-256 there is content identification and integrity evidence, not a cryptographic capability of this package. An evidence record says which fixture bytes a conformance run read and which artefact a release published, so it has to be able to answer "are these the same bytes?". That digest carries no key, authenticates nobody and asserts nothing about who produced the bytes it names — which is the whole of what the crypto row above is protecting against.

The allowance is four uses and no fifth: fixture hashes, artifact hashes, evidence-record integrity identifiers, deterministic content addressing. Encryption, key derivation, authentication, signatures, MACs, password hashing, token generation and any other security protocol primitive stay forbidden everywhere, and so do cryptography, hmac, secrets, ssl, nacl and oqs — including inside the one exempt module.

The gate enforces it by module name: CRYPTO_ALLOWANCE = {"evidence.py": {"hashlib"}} in tests/test_cdm_boundary.py. Two further tests exist because an exemption list is one edit from being a hole — one asserts the allowance's exact size and contents, the other proves that the same import in any other module is still refused.

The dependency budget​

The installed package depends on pydantic and jsonschema. Nothing else — no Kafka, no Redis, no Neo4j, no RDF parser, no OWL reasoner, no model SDK, no AI framework, no crypto package, and no network registry client. The registries are packaged JSON read with importlib.resources, so a consumer who installs the distribution has the governed contract on disk with no service to call and no cache to invalidate.

rdflib is a test dependency: it is how the ontology's own tests read the Turtle authority, and no module under synapse_cdm/ imports it.