{
  "id": "api",
  "title": "API task",
  "description": "Setup and running software have different responsibilities. First initialization reads the local seed.",
  "scope": "Architecture, not live health. Evidence and status belong to inventory records.",
  "nodes": [
    {
      "id": "shipyard.api_task",
      "title": "API task",
      "kind": "workspace",
      "inventory_id": "workspace-api",
      "status": "observed",
      "evidence": [
        "setup-records",
        "live-inventory"
      ],
      "source_page": "src/content/docs/workflows/api-dashboard.md",
      "page": "/workflows/api-dashboard/"
    },
    {
      "id": "shipyard.api_task.lifecycle",
      "title": "API setup and archive",
      "kind": "service",
      "inventory_id": "service-api-lifecycle",
      "status": "observed",
      "evidence": [
        "setup-records"
      ],
      "source_page": "src/content/docs/workflows/api-dashboard.md",
      "page": "/workflows/api-dashboard/"
    },
    {
      "id": "shipyard.api_task.dashboard",
      "title": "Dashboard preview",
      "kind": "service",
      "inventory_id": "service-dashboard",
      "status": "observed",
      "evidence": [
        "setup-records",
        "live-inventory"
      ],
      "source_page": "src/content/docs/workflows/api-dashboard.md",
      "page": "/workflows/api-dashboard/"
    },
    {
      "id": "shipyard.seed",
      "title": "Primary local API seed",
      "kind": "resource",
      "inventory_id": "resource-api-seed",
      "status": "observed",
      "evidence": [
        "setup-records",
        "live-inventory"
      ],
      "source_page": "src/content/docs/workflows/staging-refresh.md",
      "page": "/workflows/staging-refresh/"
    },
    {
      "id": "shipyard.api_task.api",
      "title": "API process",
      "kind": "service",
      "inventory_id": "service-api",
      "status": "observed",
      "evidence": [
        "setup-records",
        "live-inventory"
      ],
      "source_page": "src/content/docs/workflows/api-dashboard.md",
      "page": "/workflows/api-dashboard/"
    },
    {
      "id": "shipyard.api_task.dependencies",
      "title": "Isolated API dependencies",
      "kind": "service",
      "inventory_id": "service-api-dependencies",
      "status": "observed",
      "evidence": [
        "setup-records",
        "live-inventory"
      ],
      "source_page": "src/content/docs/workflows/api-dashboard.md",
      "page": "/workflows/api-dashboard/"
    }
  ],
  "edges": [
    {
      "source": "shipyard.api_task.lifecycle",
      "target": "shipyard.api_task.api",
      "label": "Start and check health",
      "relationships": [
        {
          "source": "shipyard.api_task.lifecycle",
          "target": "shipyard.api_task.api",
          "kind": "starts",
          "label": "Start and check health"
        }
      ]
    },
    {
      "source": "shipyard.api_task.lifecycle",
      "target": "shipyard.api_task.dependencies",
      "label": "Initialize isolated services",
      "relationships": [
        {
          "source": "shipyard.api_task.lifecycle",
          "target": "shipyard.api_task.dependencies",
          "kind": "starts",
          "label": "Initialize isolated services"
        }
      ]
    },
    {
      "source": "shipyard.api_task.api",
      "target": "shipyard.api_task.dependencies",
      "label": "Task-local connections",
      "relationships": [
        {
          "source": "shipyard.api_task.api",
          "target": "shipyard.api_task.dependencies",
          "kind": "depends",
          "label": "Task-local connections"
        }
      ]
    },
    {
      "source": "shipyard.api_task.dashboard",
      "target": "shipyard.api_task.api",
      "label": "HTTP proxy",
      "relationships": [
        {
          "source": "shipyard.api_task.dashboard",
          "target": "shipyard.api_task.api",
          "kind": "connects",
          "label": "HTTP proxy"
        }
      ]
    },
    {
      "source": "shipyard.api_task.lifecycle",
      "target": "shipyard.seed",
      "label": "Explicit first initialization",
      "relationships": [
        {
          "source": "shipyard.api_task.lifecycle",
          "target": "shipyard.seed",
          "kind": "reads",
          "label": "Explicit first initialization"
        }
      ]
    }
  ]
}
