ORBITORBIT v0.1 · Draft

~/orbit/schemas/project-snapshot

ProjectSnapshot · ORBIT v0.1

Project Snapshot

ProjectSnapshot

Point-in-time observed project and repository state.

A factual observation of project and repository state at a specific time.

Canonical type ProjectSnapshot
References Project, repositories

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/project-snapshot/v0.1.json",
  "title": "ORBIT Project Snapshot",
  "type": "object",
  "required": [
    "specVersion",
    "id",
    "project",
    "observedAt",
    "repositories"
  ],
  "properties": {
    "specVersion": {
      "const": "0.1",
      "description": "ORBIT specification version."
    },
    "id": {
      "type": "string",
      "description": "Stable ProjectSnapshot identifier."
    },
    "project": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Stable project identifier."
        }
      },
      "additionalProperties": false,
      "description": "Project identity whose state was observed."
    },
    "observedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Time at which project state was observed."
    },
    "repositories": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "repositoryId",
          "branch",
          "commit"
        ],
        "properties": {
          "repositoryId": {
            "type": "string",
            "description": "Stable repository identifier."
          },
          "branch": {
            "type": "string",
            "description": "Observed branch."
          },
          "commit": {
            "type": "string",
            "minLength": 7,
            "description": "Observed repository revision."
          }
        },
        "additionalProperties": false
      },
      "description": "Observed repository states."
    }
  },
  "additionalProperties": false
}
FieldTypeRequiredMeaningConstraints
specVersionconst "0.1"yesORBIT specification version.must equal "0.1"
idstringyesStable ProjectSnapshot identifier.—
projectobjectyesProject identity whose state was observed.—
project.idstringyesStable project identifier.—
observedAtstringyesTime at which project state was observed.—
repositoriesarray<object>yesObserved repository states.—
repositories[].repositoryIdstringyesStable repository identifier.—
repositories[].branchstringyesObserved branch.—
repositories[].commitstringyesObserved repository revision.minLength 7
ResourceReferenceMeaning
Projectproject.idIdentifies the project whose state was observed.
Repositoriesrepositories[].repositoryIdNames each repository and records its branch and commit.

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

  • observedAt records when the project state was observed.
  • Repository commits identify the state available to a reconciliation.
  • A snapshot may support more than one reconciliation only when it contains the facts relevant to each Plan.

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

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