{
  "run_id": "1778061157939-pdf",
  "generated_at": "2026-05-06T09:54:56.909653+00:00",
  "stories": [
    {
      "id": "US-001",
      "priority": "P1",
      "role": "warehouse_user",
      "roles": [
        "warehouse_user",
        "WarehouseOperator"
      ],
      "action": "create_asn",
      "user_story": "As a **warehouse_user** (also: WarehouseOperator), I can `create_asn` so that ASN is created and moves to Unreserved state.",
      "why_priority": "Entry-point action \u2014 without it, downstream workflows cannot proceed.",
      "independent_test": "As `warehouse_user`, perform `create_asn` on `Create ASN (Standard)` \u2192 verify: ASN is created and moves to Unreserved state.",
      "screen": "Create ASN (Standard)",
      "trigger": "Create ASN button",
      "expected_outcome": "ASN is created and moves to Unreserved state",
      "acceptance_criteria": [],
      "linked_entity_id": null,
      "linked_workflow_id": "WF-002",
      "linked_rule_ids": [
        "RULE-006"
      ],
      "linked_ac_ids": [
        "AC-RULE-006-001"
      ]
    },
    {
      "id": "US-002",
      "priority": "P1",
      "role": "warehouse_user",
      "roles": [
        "warehouse_user"
      ],
      "action": "create_local_asn",
      "user_story": "As a **warehouse_user**, I can `create_local_asn` so that Local ASN is created and moves to Unreserved state.",
      "why_priority": "Entry-point action \u2014 without it, downstream workflows cannot proceed.",
      "independent_test": "As `warehouse_user`, perform `create_local_asn` on `Create Local ASN` \u2192 verify: Local ASN is created and moves to Unreserved state.",
      "screen": "Create Local ASN",
      "trigger": "Create Local ASN button",
      "expected_outcome": "Local ASN is created and moves to Unreserved state",
      "acceptance_criteria": [],
      "linked_entity_id": null,
      "linked_workflow_id": "WF-002",
      "linked_rule_ids": [
        "RULE-006"
      ],
      "linked_ac_ids": [
        "AC-RULE-006-002"
      ]
    },
    {
      "id": "US-003",
      "priority": "P2",
      "role": "warehouse_user",
      "roles": [
        "warehouse_user",
        "WarehouseOperator"
      ],
      "action": "reserve_slots",
      "user_story": "As a **warehouse_user** (also: WarehouseOperator), I can `reserve_slots` so that Slots are reserved for selected SKUs.",
      "why_priority": "Mid-flow action \u2014 required for full workflow but not the entry point.",
      "independent_test": "As `warehouse_user`, perform `reserve_slots` on `Unreserved ASN List` \u2192 verify: Slots are reserved for selected SKUs.",
      "screen": "Unreserved ASN List",
      "trigger": "Reserve Slots button",
      "expected_outcome": "Slots are reserved for selected SKUs",
      "acceptance_criteria": [],
      "linked_entity_id": null,
      "linked_workflow_id": "WF-002",
      "linked_rule_ids": [],
      "linked_ac_ids": []
    },
    {
      "id": "US-004",
      "priority": "P3",
      "role": "warehouse_user",
      "roles": [
        "warehouse_user",
        "WarehouseOperator"
      ],
      "action": "print_rcr",
      "user_story": "As a **warehouse_user** (also: WarehouseOperator), I can `print_rcr` so that RCR is printed.",
      "why_priority": "Auxiliary action \u2014 useful but not required for MVP slice.",
      "independent_test": "As `warehouse_user`, perform `print_rcr` on `Closed ASN View` \u2192 verify: RCR is printed.",
      "screen": "Closed ASN View",
      "trigger": "Print RCR button",
      "expected_outcome": "RCR is printed",
      "acceptance_criteria": [],
      "linked_entity_id": null,
      "linked_workflow_id": "WF-002",
      "linked_rule_ids": [
        "RULE-005"
      ],
      "linked_ac_ids": [
        "AC-RULE-005-004"
      ]
    },
    {
      "id": "US-005",
      "priority": "P2",
      "role": "warehouse_user",
      "roles": [
        "warehouse_user",
        "WarehouseOperator"
      ],
      "action": "assign_door",
      "user_story": "As a **warehouse_user** (also: WarehouseOperator), I can `assign_door` so that Assigns a door for unloading.",
      "why_priority": "Mid-flow action \u2014 required for full workflow but not the entry point.",
      "independent_test": "As `warehouse_user`, perform `assign_door` on `At Door View` \u2192 verify: Assigns a door for unloading.",
      "screen": "At Door View",
      "trigger": "Assign Door button",
      "expected_outcome": "Assigns a door for unloading",
      "acceptance_criteria": [],
      "linked_entity_id": null,
      "linked_workflow_id": "WF-002",
      "linked_rule_ids": [
        "RULE-004"
      ],
      "linked_ac_ids": [
        "AC-RULE-004-005"
      ]
    },
    {
      "id": "US-006",
      "priority": "P2",
      "role": "warehouse_user",
      "roles": [
        "warehouse_user",
        "WarehouseOperator"
      ],
      "action": "mark_asn_completed",
      "user_story": "As a **warehouse_user** (also: WarehouseOperator), I can `mark_asn_completed` so that Marks ASN as completed and moves to Closed state.",
      "why_priority": "Mid-flow action \u2014 required for full workflow but not the entry point.",
      "independent_test": "As `warehouse_user`, perform `mark_asn_completed` on `Completion View` \u2192 verify: Marks ASN as completed and moves to Closed state.",
      "screen": "Completion View",
      "trigger": "Mark Completed button",
      "expected_outcome": "Marks ASN as completed and moves to Closed state",
      "acceptance_criteria": [],
      "linked_entity_id": null,
      "linked_workflow_id": "WF-002",
      "linked_rule_ids": [
        "RULE-006"
      ],
      "linked_ac_ids": [
        "AC-RULE-006-006"
      ]
    }
  ]
}