← SES-019 — Future Development Roadmap and Open Research Problems · Standard Index · SES-021 — Lifecycle and Security State Machines →
Status: Draft 1.0 — Normative target.
This document defines the minimum typed artifact model required for independent SES implementations. A conforming implementation MAY use different in-memory types, but serialization, validation, identity, and security behavior MUST be equivalent.
The canonical dependency chain is:
Intent -> Contract -> SOG -> Resolution -> Authorization -> Provenance -> Plan -> IR -> Provider Gate -> Execution -> Evidence.
No later artifact MAY silently reinterpret a security-relevant field established by an earlier artifact.
Every normative artifact MUST have:
artifact_type;schema_version;artifact_id;created_at;Security-sensitive artifacts MUST additionally carry integrity/freshness information appropriate to their trust domain.
Semantic identities MUST be stable under non-semantic serialization changes. They MUST change when any meaning-affecting property changes. Implementations MUST document identity scope and collision resistance.
A canonical serializer MUST define ordering, Unicode normalization, numeric representation, null representation, duplicate handling, omitted/default values, escaping, and version markers. Hashing a non-canonical serialization is non-conformant.
The following invariants are mandatory:
For an authorized execution:
IR ⊑ Plan ⊑ Authorized(SOG, PolicySnapshot)
where ⊑ means “contains no additional security- or meaning-relevant authority.” An implementation MUST define an executable checker for this relation.
Define a machine-readable schema, canonical binary/text encodings, schema evolution rules, typed extension registry, and independent cross-language test vectors.
Two independent implementations given the same canonical inputs MUST produce identical artifact identities and either equivalent artifacts or the same deterministic rejection class.
← SES-019 — Future Development Roadmap and Open Research Problems · Standard Index · SES-021 — Lifecycle and Security State Machines →