{
  "schema": "optimal.project-story.v1",
  "project": "A real-time collaborative workspace",
  "nature": "Fictional project fixture; readiness and affected sets below are actual GraphIndex outputs. Artwork does not demonstrate a hosted fleet or an implemented collaboration backend.",
  "library_revision": "2719ee143920d466a5e205af3904a528415b4d9d",
  "source_module_sha256": "030002a26b63a082fe093764e1215ee46f4d77446044291e8b56999d288841ec",
  "graphs": {
    "v1": [
      {
        "id": "brief",
        "depends_on": []
      },
      {
        "id": "architecture",
        "depends_on": [
          "brief"
        ]
      },
      {
        "id": "api_contract",
        "depends_on": [
          "architecture"
        ]
      },
      {
        "id": "data_contract",
        "depends_on": [
          "architecture"
        ]
      },
      {
        "id": "access_contract_v1",
        "depends_on": [
          "architecture"
        ]
      },
      {
        "id": "frontend_v1",
        "depends_on": [
          "api_contract",
          "access_contract_v1"
        ],
        "writes": [
          "web/workspace"
        ]
      },
      {
        "id": "backend_v1",
        "depends_on": [
          "api_contract",
          "data_contract",
          "access_contract_v1"
        ],
        "writes": [
          "api/workspace"
        ]
      },
      {
        "id": "data_layer",
        "depends_on": [
          "data_contract"
        ],
        "writes": [
          "data/workspace"
        ]
      },
      {
        "id": "access_layer_v1",
        "depends_on": [
          "access_contract_v1"
        ],
        "writes": [
          "access/workspace"
        ]
      },
      {
        "id": "realtime",
        "depends_on": [
          "api_contract",
          "data_contract"
        ],
        "writes": [
          "sync/workspace"
        ]
      },
      {
        "id": "deploy",
        "depends_on": [
          "architecture"
        ],
        "writes": [
          "deploy/workspace"
        ]
      },
      {
        "id": "integration_v1",
        "depends_on": [
          "frontend_v1",
          "backend_v1",
          "data_layer",
          "access_layer_v1",
          "realtime",
          "deploy"
        ]
      },
      {
        "id": "verification_v1",
        "depends_on": [
          "integration_v1"
        ]
      },
      {
        "id": "release_v1",
        "depends_on": [
          "verification_v1"
        ]
      }
    ],
    "v2": [
      {
        "id": "brief",
        "depends_on": []
      },
      {
        "id": "architecture",
        "depends_on": [
          "brief"
        ]
      },
      {
        "id": "api_contract",
        "depends_on": [
          "architecture"
        ]
      },
      {
        "id": "data_contract",
        "depends_on": [
          "architecture"
        ]
      },
      {
        "id": "access_contract_v2",
        "depends_on": [
          "architecture"
        ]
      },
      {
        "id": "frontend_v2",
        "depends_on": [
          "api_contract",
          "access_contract_v2"
        ],
        "writes": [
          "web/workspace"
        ]
      },
      {
        "id": "backend_v2",
        "depends_on": [
          "api_contract",
          "data_contract",
          "access_contract_v2"
        ],
        "writes": [
          "api/workspace"
        ]
      },
      {
        "id": "data_layer",
        "depends_on": [
          "data_contract"
        ],
        "writes": [
          "data/workspace"
        ]
      },
      {
        "id": "access_layer_v2",
        "depends_on": [
          "access_contract_v2"
        ],
        "writes": [
          "access/workspace"
        ]
      },
      {
        "id": "realtime",
        "depends_on": [
          "api_contract",
          "data_contract"
        ],
        "writes": [
          "sync/workspace"
        ]
      },
      {
        "id": "deploy",
        "depends_on": [
          "architecture"
        ],
        "writes": [
          "deploy/workspace"
        ]
      },
      {
        "id": "integration_v2",
        "depends_on": [
          "frontend_v2",
          "backend_v2",
          "data_layer",
          "access_layer_v2",
          "realtime",
          "deploy"
        ]
      },
      {
        "id": "verification_v2",
        "depends_on": [
          "integration_v2"
        ]
      },
      {
        "id": "release_v2",
        "depends_on": [
          "verification_v2"
        ]
      }
    ]
  },
  "change": {
    "request": "Add read-only guest access",
    "changed_v1": [
      "access_contract_v1"
    ],
    "affected_v1": [
      "access_contract_v1",
      "access_layer_v1",
      "backend_v1",
      "frontend_v1",
      "integration_v1",
      "release_v1",
      "verification_v1"
    ],
    "retained_accepted": [
      "api_contract",
      "architecture",
      "brief",
      "data_contract",
      "data_layer",
      "deploy",
      "realtime"
    ],
    "historical_accepted_v1": [
      "access_contract_v1",
      "access_layer_v1",
      "api_contract",
      "architecture",
      "backend_v1",
      "brief",
      "data_contract",
      "data_layer",
      "deploy",
      "frontend_v1",
      "realtime"
    ],
    "version_rule": "New v2 task and contract IDs; old accepted records remain historical rather than being relabelled."
  },
  "states": [
    {
      "id": "briefing",
      "accepted": [
        "brief"
      ],
      "ready": [
        "architecture"
      ]
    },
    {
      "id": "contracts",
      "accepted": [
        "architecture",
        "brief"
      ],
      "ready": [
        "access_contract_v1",
        "api_contract",
        "data_contract",
        "deploy"
      ]
    },
    {
      "id": "parallel",
      "accepted": [
        "access_contract_v1",
        "api_contract",
        "architecture",
        "brief",
        "data_contract"
      ],
      "ready": [
        "access_layer_v1",
        "backend_v1",
        "data_layer",
        "deploy",
        "frontend_v1",
        "realtime"
      ]
    },
    {
      "id": "scoped_change",
      "accepted": [
        "access_contract_v2",
        "api_contract",
        "architecture",
        "brief",
        "data_contract",
        "data_layer",
        "deploy",
        "realtime"
      ],
      "ready": [
        "access_layer_v2",
        "backend_v2",
        "frontend_v2"
      ]
    },
    {
      "id": "agent_interrupted",
      "accepted": [
        "access_contract_v2",
        "access_layer_v2",
        "api_contract",
        "architecture",
        "brief",
        "data_contract",
        "data_layer",
        "deploy",
        "frontend_v2",
        "realtime"
      ],
      "ready": [
        "backend_v2"
      ]
    },
    {
      "id": "integrate",
      "accepted": [
        "access_contract_v2",
        "access_layer_v2",
        "api_contract",
        "architecture",
        "backend_v2",
        "brief",
        "data_contract",
        "data_layer",
        "deploy",
        "frontend_v2",
        "realtime"
      ],
      "ready": [
        "integration_v2"
      ]
    },
    {
      "id": "verify",
      "accepted": [
        "access_contract_v2",
        "access_layer_v2",
        "api_contract",
        "architecture",
        "backend_v2",
        "brief",
        "data_contract",
        "data_layer",
        "deploy",
        "frontend_v2",
        "integration_v2",
        "realtime"
      ],
      "ready": [
        "verification_v2"
      ]
    },
    {
      "id": "publish",
      "accepted": [
        "access_contract_v2",
        "access_layer_v2",
        "api_contract",
        "architecture",
        "backend_v2",
        "brief",
        "data_contract",
        "data_layer",
        "deploy",
        "frontend_v2",
        "integration_v2",
        "realtime",
        "verification_v2"
      ],
      "ready": [
        "release_v2"
      ]
    },
    {
      "id": "complete",
      "accepted": [
        "access_contract_v2",
        "access_layer_v2",
        "api_contract",
        "architecture",
        "backend_v2",
        "brief",
        "data_contract",
        "data_layer",
        "deploy",
        "frontend_v2",
        "integration_v2",
        "realtime",
        "release_v2",
        "verification_v2"
      ],
      "ready": []
    }
  ]
}
