{
  "schemaVersion": "atlas.file/1",
  "requires": [
    "model-v1",
    "presentation-v1"
  ],
  "model": {
    "schemaVersion": "atlas.model/1",
    "revision": 1,
    "product": {
      "id": "parcel-lab",
      "name": "Parcel Lab · synthetic",
      "subtitle": "Fictional portability example",
      "defaultView": "parcel-lab:view/system",
      "notice": "Entirely synthetic training model. It describes no real product, implementation or deployment.",
      "coverage": [
        {
          "area": "architecture",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "runtime",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "interfaces",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "data",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "behavior",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "requirements",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "security",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        },
        {
          "area": "operations",
          "state": "partial",
          "gap": "Synthetic illustration only; no real implementation has been inspected."
        }
      ]
    },
    "palette": {
      "core": "#61cbd8",
      "storage": "#8bd1a4"
    },
    "entities": [
      {
        "id": "parcel-lab:api",
        "title": "Parcel intake",
        "kind": "interface",
        "summary": "Accepts a uniquely identified parcel request.",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "group": "core",
        "tables": [
          "parcel-lab:table/parcels"
        ],
        "glyph": "api-gateway"
      },
      {
        "id": "parcel-lab:store",
        "title": "Parcel register",
        "kind": "store",
        "summary": "Owns durable parcel records.",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "group": "storage",
        "tables": [
          "parcel-lab:table/parcels"
        ],
        "glyph": "database"
      },
      {
        "id": "parcel-lab:carrier",
        "title": "External carrier",
        "kind": "external",
        "summary": "Independent delivery authority.",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "group": "core",
        "glyph": "external-system"
      },
      {
        "id": "parcel-lab:table/parcels",
        "title": "parcels",
        "kind": "table",
        "summary": "Synthetic record fields.",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "group": "storage",
        "columns": [
          {
            "id": "parcel-lab:table/parcels.id",
            "name": "id",
            "type": "TEXT",
            "pk": true,
            "nullable": false
          },
          {
            "id": "parcel-lab:table/parcels.request_key",
            "name": "request_key",
            "type": "TEXT",
            "pk": false,
            "nullable": false
          },
          {
            "id": "parcel-lab:table/parcels.state",
            "name": "state",
            "type": "TEXT",
            "pk": false,
            "nullable": false
          }
        ],
        "glyph": "relational-table"
      }
    ],
    "relations": [
      {
        "id": "parcel-lab:relation/save",
        "title": "Record one intent",
        "kind": "calls",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "from": "parcel-lab:api",
        "to": "parcel-lab:store",
        "glyph": "relationship"
      },
      {
        "id": "parcel-lab:relation/dispatch",
        "title": "Request delivery",
        "kind": "calls",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "from": "parcel-lab:api",
        "to": "parcel-lab:carrier",
        "glyph": "relationship"
      }
    ],
    "evidence": [
      {
        "id": "parcel-lab:evidence/fixture",
        "title": "Synthetic fixture",
        "kind": "synthetic",
        "locator": "docs/AGENT_GUIDE.md",
        "scope": "Invented only to demonstrate generic Atlas portability.",
        "glyph": "evidence"
      }
    ],
    "views": [
      {
        "id": "parcel-lab:view/system",
        "title": "Parcel service boundaries",
        "kind": "map",
        "summary": "Synthetic portability example.",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "entities": [
          "parcel-lab:api",
          "parcel-lab:store",
          "parcel-lab:carrier"
        ],
        "relations": [
          "parcel-lab:relation/save",
          "parcel-lab:relation/dispatch"
        ],
        "glyph": "network"
      },
      {
        "id": "parcel-lab:view/sequence",
        "title": "Parcel submission",
        "kind": "sequence",
        "summary": "Synthetic portability example.",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "entities": [
          "parcel-lab:api",
          "parcel-lab:store",
          "parcel-lab:carrier"
        ],
        "relations": [
          "parcel-lab:relation/save",
          "parcel-lab:relation/dispatch"
        ],
        "messages": [
          {
            "relation": "parcel-lab:relation/save",
            "note": "Illustrative behavior only."
          },
          {
            "relation": "parcel-lab:relation/dispatch",
            "note": "Illustrative behavior only."
          }
        ],
        "glyph": "relationship"
      },
      {
        "id": "parcel-lab:view/tables",
        "title": "Parcel data",
        "kind": "tables",
        "summary": "Synthetic portability example.",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "entities": [
          "parcel-lab:table/parcels"
        ],
        "relations": [],
        "glyph": "relational-table"
      },
      {
        "id": "parcel-lab:view/spec",
        "title": "Parcel specification",
        "kind": "spec",
        "summary": "Synthetic portability example.",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "entities": [
          "parcel-lab:api",
          "parcel-lab:store",
          "parcel-lab:carrier"
        ],
        "relations": [],
        "requirements": [
          "parcel-lab:requirement/replay"
        ],
        "glyph": "requirement"
      }
    ],
    "requirements": [
      {
        "id": "parcel-lab:requirement/replay",
        "title": "Repeated intent is not a new parcel",
        "statement": "The service MUST record at most one parcel for one request key.",
        "status": "synthetic",
        "evidence": [
          "parcel-lab:evidence/fixture"
        ],
        "entities": [
          "parcel-lab:api",
          "parcel-lab:table/parcels"
        ],
        "acceptance": [
          "Submit the same request twice and read one durable parcel."
        ],
        "verification": "synthetic",
        "glyph": "requirement"
      }
    ]
  },
  "presentation": {
    "theme": {
      "schemaVersion": "atlas.theme/1",
      "tokens": {
        "background": "#edf0f6",
        "panel": "#f7f8fc",
        "card": "#ffffff",
        "row": "#e8ecf7",
        "text": "#20283d",
        "muted": "#64708b",
        "border": "#d9dfeb",
        "accent": "#4263eb",
        "header": "#f7f8fc",
        "headerText": "#20283d",
        "typeText": "#087f8c",
        "architecture": "#4263eb",
        "behavior": "#8456d9",
        "interaction": "#bc438a",
        "runtime": "#b87917",
        "data": "#0c8b83",
        "specification": "#398552",
        "external": "#c66939",
        "fontSize": 13,
        "rowHeight": 28,
        "radius": 12
      }
    },
    "layers": [
      {
        "kind": "map",
        "label": "Architecture",
        "color": "#4263eb",
        "glyph": "network"
      },
      {
        "kind": "flow",
        "label": "Behavior",
        "color": "#8456d9",
        "glyph": "workflow"
      },
      {
        "kind": "sequence",
        "label": "Interactions",
        "color": "#bc438a",
        "glyph": "relationship"
      },
      {
        "kind": "deployment",
        "label": "Runtime",
        "color": "#b87917",
        "glyph": "private-host"
      },
      {
        "kind": "tables",
        "label": "Data",
        "color": "#0c8b83",
        "glyph": "relational-table"
      },
      {
        "kind": "spec",
        "label": "Specification",
        "color": "#398552",
        "glyph": "requirement"
      }
    ]
  }
}
