{
  "filename": "composables/useOrderDraft.ts",
  "rule": "- name: ssr-state-request-isolation\n  where: \"composables/useOrderDraft.ts\"\n  ensure: >-\n    useOrderDraft must use Nuxt useState, not a module-level ref shared by server requests.",
  "corrected": "export const useOrderDraft = () => useState<{id:string;note:string}|null>(\n  \"order-draft\",\n  () => null,\n);\n",
  "broken": "const sharedDraft = ref<{id:string;note:string}|null>(null);\nexport const useOrderDraft = () => sharedDraft;\n",
  "regression": [
    "export const useOrderDraft = () => useState<{id:string;note:string}|null>(\n  \"order-draft\",\n  () => null,\n);",
    "const sharedDraft = ref<{id:string;note:string}|null>(null);\nexport const useOrderDraft = () => sharedDraft;"
  ],
  "test_scenarios": [
    [
      "Two server-rendered users",
      "Separate draft objects"
    ],
    [
      "Hydration",
      "Serialized state matches that request"
    ],
    [
      "Client signs into another account",
      "Draft reset"
    ],
    [
      "State includes credentials",
      "Separate test rejects secret serialization"
    ]
  ],
  "test_source": null,
  "test_command": "npx vitest run tests/ssr/order-draft.test.ts"
}