Skip to content

3. Design principles

This section is informative.

Six principles shape every rule in this specification.

  1. Actor-neutral. Humans, AI agents and tools are all actors, described by the same record type. This makes separation of duties checkable: did the same actor produce both the code and the test that verifies it?
  2. Evidence records its origin. Every evidence record states whether its test was derived from the intent or from the implementation. “Was the requirement tested, or only the code?” becomes a data field.
  3. References, not copies. Artifacts stay where they live (Git, an issue tracker, a test tool). OIS stores their location and digest, so any later change to an artifact is detectable.
  4. Versioned and immutable. An approved intent version never changes. A change creates a new version, and evidence bound to an older version is identifiable as stale.
  5. Small core, extensible edges. The core covers what every implementation needs. Industry needs are added through profiles and namespaced extensions.
  6. Reuse before invention. OIS builds on Gherkin, EARS, in-toto, DSSE, CloudEvents, W3C Trace Context and JSON Schema instead of defining its own equivalents.

OIS does not require that an intent exists before the code. Existing systems can start by recording their current tests as evidence with derivedFrom: unknown or implementation, and by recording defects as findings. Intents are then added for each change, and intent coverage grows from an honest baseline.