ORBITORBIT v0.1 · Draft

~/orbit/schemas/plan

Plan · ORBIT v0.1

Plan

Plan

Durable planning intent and desired outcomes.

A durable declaration of intent, outcomes, acceptance criteria, and the planning context that should survive execution cycles.

Canonical type Plan
References Project

The raw JSON Schema is the machine contract for this resource. The field reference below is derived from that schema.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://orbitspec.dev/schema/plan/v0.1.json",
  "title": "ORBIT Plan",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "specVersion",
    "id",
    "revision",
    "project",
    "title",
    "intent",
    "outcomes",
    "acceptanceCriteria"
  ],
  "properties": {
    "specVersion": {
      "const": "0.1",
      "description": "ORBIT specification version."
    },
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Stable Plan identifier."
    },
    "revision": {
      "type": "integer",
      "minimum": 1,
      "description": "Plan revision number."
    },
    "project": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "description": "Stable project identifier."
        }
      },
      "additionalProperties": false,
      "description": "Project identity associated with the Plan."
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "description": "Human-readable Plan title."
    },
    "intent": {
      "type": "string",
      "minLength": 1,
      "description": "Durable planning intent."
    },
    "outcomes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Stable Outcome identifier."
          },
          "title": {
            "type": "string",
            "description": "Outcome title."
          },
          "intent": {
            "type": "string",
            "description": "Outcome intent."
          }
        },
        "additionalProperties": false
      },
      "description": "Desired outcomes within the Plan."
    },
    "acceptanceCriteria": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "outcomeId",
          "statement"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Stable Acceptance Criterion identifier."
          },
          "outcomeId": {
            "type": "string",
            "description": "Outcome assessed by the criterion."
          },
          "statement": {
            "type": "string",
            "minLength": 1,
            "description": "Canonical acceptance-criterion wording."
          }
        },
        "additionalProperties": false
      },
      "description": "Stable checks for desired outcomes."
    }
  }
}
FieldTypeRequiredMeaningConstraints
specVersionconst "0.1"yesORBIT specification version.must equal "0.1"
idstringyesStable Plan identifier.minLength 1
revisionintegeryesPlan revision number.minimum 1
projectobjectyesProject identity associated with the Plan.—
project.idstringyesStable project identifier.minLength 1
titlestringyesHuman-readable Plan title.minLength 1
intentstringyesDurable planning intent.minLength 1
outcomesarray<object>yesDesired outcomes within the Plan.—
outcomes[].idstringyesStable Outcome identifier.—
outcomes[].titlestringyesOutcome title.—
outcomes[].intentstringoptionalOutcome intent.—
acceptanceCriteriaarray<object>yesStable checks for desired outcomes.—
acceptanceCriteria[].idstringyesStable Acceptance Criterion identifier.—
acceptanceCriteria[].outcomeIdstringyesOutcome assessed by the criterion.—
acceptanceCriteria[].statementstringyesCanonical acceptance-criterion wording.minLength 1
ResourceReferenceMeaning
Projectproject.idIdentifies the project whose durable intent this Plan describes.
Outcomesoutcomes[].idGroups one or more desired results within the Plan.
Acceptance CriteriaacceptanceCriteria[].idNames stable checks that determine whether an Outcome is achieved.

JSON Schema validates structure. These semantic rules explain what a structurally valid Plan must mean in the ORBIT model.

  • A Plan revision identifies the version of durable intent assessed by later records.
  • Acceptance Criteria retain stable IDs within the Plan revision that defines them.
  • Each Acceptance Criterion references an Outcome in the same Plan.

The canonical machine-readable contract is available at /schema/plan.schema.json.

Use it for tooling, CI validation, and agent integrations. The human guide explains semantics; the schema defines structural conformance.