{
  "useCases": [
    {
      "id": "orient-simulator",
      "title": "Orient on api-simulator",
      "goal": "Understand what the library does, install it, and run a minimal three-behavior example.",
      "audiences": [
        "developers"
      ],
      "tags": [
        "start-here",
        "overview"
      ],
      "path": [
        {
          "bookId": "00-overview",
          "audience": "developers",
          "chapters": [
            "1-what-it-is",
            "2-install",
            "3-minimal-example",
            "4-where-to-go-next"
          ]
        }
      ],
      "alsoSee": [
        "00-overview",
        "01-behaviors"
      ],
      "prerequisites": [],
      "successCriteria": [],
      "nextUseCases": [],
      "scenarioIds": [],
      "guideIds": [],
      "troubleshooting": []
    },
    {
      "id": "define-three-behaviors",
      "title": "Define the three endpoint behaviors",
      "goal": "Author fixed, relative, and simulation endpoints and dispatch them from tests or adapters.",
      "audiences": [
        "developers"
      ],
      "tags": [
        "behaviors",
        "dispatch"
      ],
      "path": [
        {
          "bookId": "01-behaviors",
          "audience": "developers",
          "chapters": [
            "1-fixed",
            "2-relative",
            "3-simulation-function",
            "4-dispatch",
            "5-endpoint-contract"
          ]
        }
      ],
      "alsoSee": [
        "01-behaviors",
        "02-adapters"
      ],
      "prerequisites": [],
      "successCriteria": [],
      "nextUseCases": [],
      "scenarioIds": [],
      "guideIds": [],
      "troubleshooting": []
    },
    {
      "id": "expose-node-service",
      "title": "Expose a Node.js HTTP service",
      "goal": "Wrap a simulator with the Node HTTP adapter, and for processes that bind a port use @x12i/core-service (/health, /_live).",
      "audiences": [
        "developers"
      ],
      "tags": [
        "node",
        "http",
        "adapters",
        "core-service"
      ],
      "path": [
        {
          "bookId": "02-adapters",
          "audience": "developers",
          "chapters": [
            "1-node-http-adapter",
            "2-http-process-compliance-local-services",
            "3-multiple-apis",
            "7-express-and-fastify"
          ]
        }
      ],
      "alsoSee": [
        "02-adapters"
      ],
      "prerequisites": [],
      "successCriteria": [],
      "nextUseCases": [],
      "scenarioIds": [],
      "guideIds": [],
      "troubleshooting": []
    },
    {
      "id": "ship-package-simulator",
      "title": "Ship a package simulator",
      "goal": "Structure a product-owned package with logic, data, optional static-memorix composition, and core-service on the HTTP entry.",
      "audiences": [
        "developers"
      ],
      "tags": [
        "packages",
        "memorix",
        "core-service"
      ],
      "path": [
        {
          "bookId": "03-package-simulators",
          "audience": "developers",
          "chapters": [
            "1-what-a-package-simulator-is",
            "2-recommended-structure",
            "4-with-static-memorix"
          ]
        },
        {
          "bookId": "02-adapters",
          "audience": "developers",
          "chapters": [
            "2-http-process-compliance-local-services"
          ]
        }
      ],
      "alsoSee": [
        "03-package-simulators",
        "02-adapters"
      ],
      "prerequisites": [],
      "successCriteria": [],
      "nextUseCases": [],
      "scenarioIds": [],
      "guideIds": [],
      "troubleshooting": []
    },
    {
      "id": "run-playground-studio",
      "title": "Run Playground and Studio",
      "goal": "Start the local UI apps, know the port map, and understand the product rule.",
      "audiences": [
        "developers"
      ],
      "tags": [
        "ui",
        "playground",
        "studio"
      ],
      "path": [
        {
          "bookId": "04-playground-studio",
          "audience": "developers",
          "chapters": [
            "1-two-surfaces",
            "2-run-locally",
            "3-ports",
            "4-product-rule"
          ]
        }
      ],
      "alsoSee": [
        "04-playground-studio"
      ],
      "prerequisites": [],
      "successCriteria": [],
      "nextUseCases": [],
      "scenarioIds": [],
      "guideIds": [],
      "troubleshooting": []
    },
    {
      "id": "library-demo-rest",
      "title": "Build a plain REST package simulator",
      "goal": "Follow the library-demo path: data modules, relative/simulation endpoints, no Memorix.",
      "audiences": [
        "developers"
      ],
      "tags": [
        "examples",
        "rest",
        "tutorial"
      ],
      "path": [
        {
          "bookId": "03-package-simulators",
          "audience": "developers",
          "chapters": [
            "1-what-a-package-simulator-is",
            "3-plain-rest-library-demo"
          ]
        },
        {
          "bookId": "01-behaviors",
          "audience": "developers",
          "chapters": [
            "2-relative",
            "3-simulation-function"
          ]
        }
      ],
      "alsoSee": [
        "03-package-simulators",
        "01-behaviors"
      ],
      "prerequisites": [],
      "successCriteria": [],
      "nextUseCases": [],
      "scenarioIds": [],
      "guideIds": [],
      "troubleshooting": []
    }
  ]
}