{
  "company_id": "co_golden_sandwich",
  "company_name": "Albany Mall Sandwich Shop (Franchise)",
  "packs_version": "0.1",
  "domains": {
    "D1": {
      "atom_ids": [
        "atom_0001",
        "atom_0002",
        "atom_0003",
        "atom_0004",
        "atom_0005"
      ]
    },
    "D2": {
      "atom_ids": [
        "atom_0006",
        "atom_0007"
      ]
    },
    "D3": {
      "atom_ids": [
        "atom_0008",
        "atom_0009",
        "atom_0010",
        "atom_0011",
        "atom_0012",
        "atom_0013",
        "atom_0014",
        "atom_0015",
        "atom_0016",
        "atom_0017",
        "atom_0043"
      ]
    },
    "D4": {
      "atom_ids": [
        "atom_0018",
        "atom_0019",
        "atom_0020",
        "atom_0021",
        "atom_0022",
        "atom_0023",
        "atom_0024",
        "atom_0025",
        "atom_0026"
      ]
    },
    "D5": {
      "atom_ids": [
        "atom_0027",
        "atom_0028",
        "atom_0029",
        "atom_0030",
        "atom_0031",
        "atom_0032"
      ]
    },
    "D6": {
      "atom_ids": [
        "atom_0033",
        "atom_0034",
        "atom_0035",
        "atom_0036",
        "atom_0039"
      ]
    },
    "D7": {
      "atom_ids": [
        "atom_0037",
        "atom_0038",
        "atom_0040",
        "atom_0041",
        "atom_0042"
      ]
    }
  },
  "processes": [
    {
      "id": "proc_vendor_ordering",
      "domain": "D3",
      "name": "Vendor Ordering and Inventory Management",
      "trigger": "Regular cadence reached (Tuesdays and Thursdays) or an item runs low ad hoc",
      "owner_role": "role_owner",
      "backup_role": "role_bread_baker_prepper",
      "cadence": "Twice weekly (Tuesdays and Thursdays) plus ad hoc as needed",
      "revenue_touching": false,
      "cash_touching": true,
      "customer_facing": false,
      "steps_coarse": [
        "Assess current inventory levels and compare to expected demand",
        "Prepare Cisco order via standard order form for main items",
        "Contact Pepsi, towel company, and equipment suppliers by phone for their respective items",
        "If Cisco order form looks unusual or items are out of stock, email Cisco customer support to resolve",
        "Place ad hoc orders between scheduled days when specific items run low"
      ],
      "systems": [
        "Cisco order form",
        "Email (Cisco customer support)",
        "Phone (Pepsi, towel company, equipment suppliers)"
      ],
      "atom_ids": [
        "atom_0008",
        "atom_0009",
        "atom_0010",
        "atom_0011",
        "atom_0012",
        "atom_0013",
        "atom_0014",
        "atom_0024",
        "atom_0027",
        "atom_0028",
        "atom_0043"
      ],
      "coverage": {
        "fact": true,
        "rule": true,
        "judgment": false,
        "exception": true,
        "failure_signal": true,
        "tacit_signal": false,
        "rationale": true
      },
      "completeness_score": 0.8,
      "spof_flag": false
    },
    {
      "id": "proc_daily_close",
      "domain": "D3",
      "name": "Daily Close and Cash Handling",
      "trigger": "Closing time each day",
      "owner_role": "role_owner",
      "backup_role": null,
      "cadence": "Daily",
      "revenue_touching": false,
      "cash_touching": true,
      "customer_facing": false,
      "steps_coarse": [
        "Count the till at closing time",
        "Set aside the standard starting cash amount for the next day's till",
        "Drop remaining cash into the safety deposit box",
        "Reconcile debit and credit card totals against register records",
        "Review and document all overcharges to account for any till surplus",
        "Assess any unexplained discrepancies",
        "Escalate unresolvable shortfalls or suspicious discrepancies to the owner"
      ],
      "systems": [
        "Cash register",
        "Safety deposit box",
        "POS register charge records"
      ],
      "atom_ids": [
        "atom_0015",
        "atom_0016",
        "atom_0020",
        "atom_0021",
        "atom_0022",
        "atom_0023",
        "atom_0029",
        "atom_0037",
        "atom_0038",
        "atom_0041",
        "atom_0042"
      ],
      "coverage": {
        "fact": true,
        "rule": true,
        "judgment": true,
        "exception": false,
        "failure_signal": true,
        "tacit_signal": true,
        "rationale": false
      },
      "completeness_score": 0.7,
      "spof_flag": true
    },
    {
      "id": "proc_bread_baking",
      "domain": "D3",
      "name": "Morning Bread Baking and Food Preparation",
      "trigger": "Every morning before service opens",
      "owner_role": "role_bread_baker_prepper",
      "backup_role": null,
      "cadence": "Daily",
      "revenue_touching": true,
      "cash_touching": false,
      "customer_facing": false,
      "steps_coarse": [],
      "systems": [
        "Proofers",
        "Mixers"
      ],
      "atom_ids": [
        "atom_0017"
      ],
      "coverage": {
        "fact": true,
        "rule": false,
        "judgment": false,
        "exception": false,
        "failure_signal": false,
        "tacit_signal": false,
        "rationale": false
      },
      "completeness_score": 0.3,
      "spof_flag": true
    },
    {
      "id": "proc_customer_order_taking",
      "domain": "D3",
      "name": "Customer Order Taking and Payment",
      "trigger": "Customer arrives and places an order",
      "owner_role": null,
      "backup_role": null,
      "cadence": "Continuous during service hours",
      "revenue_touching": true,
      "cash_touching": true,
      "customer_facing": true,
      "steps_coarse": [],
      "systems": [
        "Cash register"
      ],
      "atom_ids": [],
      "coverage": {
        "fact": false,
        "rule": false,
        "judgment": false,
        "exception": false,
        "failure_signal": false,
        "tacit_signal": false,
        "rationale": false
      },
      "completeness_score": 0,
      "spof_flag": true
    },
    {
      "id": "proc_scheduling",
      "domain": "D3",
      "name": "Employee Scheduling",
      "trigger": "Recurring weekly or when shift coverage is needed",
      "owner_role": "role_owner",
      "backup_role": null,
      "cadence": "Weekly",
      "revenue_touching": false,
      "cash_touching": false,
      "customer_facing": false,
      "steps_coarse": [],
      "systems": [],
      "atom_ids": [],
      "coverage": {
        "fact": false,
        "rule": false,
        "judgment": false,
        "exception": false,
        "failure_signal": false,
        "tacit_signal": false,
        "rationale": false
      },
      "completeness_score": 0.1,
      "spof_flag": true
    },
    {
      "id": "proc_payroll",
      "domain": "D3",
      "name": "Payroll Processing",
      "trigger": "Regular payroll cycle",
      "owner_role": "role_owner",
      "backup_role": null,
      "cadence": "Per payroll cycle",
      "revenue_touching": false,
      "cash_touching": true,
      "customer_facing": false,
      "steps_coarse": [],
      "systems": [],
      "atom_ids": [],
      "coverage": {
        "fact": false,
        "rule": false,
        "judgment": false,
        "exception": false,
        "failure_signal": false,
        "tacit_signal": false,
        "rationale": false
      },
      "completeness_score": 0.1,
      "spof_flag": true
    },
    {
      "id": "proc_invoice_payment",
      "domain": "D3",
      "name": "Vendor Invoice Payment",
      "trigger": "Invoice received from vendor",
      "owner_role": "role_owner",
      "backup_role": null,
      "cadence": "As invoices arrive",
      "revenue_touching": false,
      "cash_touching": true,
      "customer_facing": false,
      "steps_coarse": [],
      "systems": [],
      "atom_ids": [],
      "coverage": {
        "fact": false,
        "rule": false,
        "judgment": false,
        "exception": false,
        "failure_signal": false,
        "tacit_signal": false,
        "rationale": false
      },
      "completeness_score": 0.1,
      "spof_flag": true
    }
  ],
  "kpis": [
    {
      "id": "kpi_food_cost_ratio",
      "domain": "D6",
      "name": "Food Cost as % of Revenue",
      "plain_definition": "Total food and ingredient purchase costs divided by total revenue for the period, expressed as a percentage; monitored as a trend over time.",
      "source": "Order cost records and revenue data from the register",
      "included": "Food and ingredient purchase costs",
      "excluded": null,
      "exclusion_rationale_ref": null,
      "review_cadence": "Ongoing; tracked as a historical trend",
      "healthy_range": "Within the franchise-defined target range (specific values not disclosed)",
      "alarm_threshold": "Too high or too low relative to the franchise-defined target range",
      "alarm_action": "If high with normal waste: investigate for employee food theft or giveaways. If high with high waste: investigate ordering and spoilage. If low: investigate for under-portioning. Cross-reference with waste measurements to distinguish causes.",
      "known_gotchas": "Both high AND low are problems — low food cost can mean employees are skimping on portions, not just efficiency. High food cost combined with normal waste levels specifically signals theft or giveaways, not over-ordering.",
      "atom_ids": [
        "atom_0033",
        "atom_0034",
        "atom_0035",
        "atom_0039",
        "atom_0040"
      ]
    },
    {
      "id": "kpi_labor_cost_ratio",
      "domain": "D6",
      "name": "Labor Cost as % of Revenue",
      "plain_definition": "Total labor and payroll costs divided by total revenue for the period, expressed as a percentage.",
      "source": "Payroll records and revenue data",
      "included": "Labor and payroll costs",
      "excluded": null,
      "exclusion_rationale_ref": null,
      "review_cadence": "Regular",
      "healthy_range": "Within the franchise-defined target range (specific values not disclosed)",
      "alarm_threshold": null,
      "alarm_action": null,
      "known_gotchas": null,
      "atom_ids": []
    },
    {
      "id": "kpi_revenue",
      "domain": "D6",
      "name": "Revenue",
      "plain_definition": "Total sales from customer orders across all payment methods (cash and card).",
      "source": "Cash register and POS system",
      "included": "Cash sales and card sales",
      "excluded": null,
      "exclusion_rationale_ref": null,
      "review_cadence": "Daily or ongoing",
      "healthy_range": null,
      "alarm_threshold": null,
      "alarm_action": null,
      "known_gotchas": null,
      "atom_ids": []
    }
  ],
  "roles": [
    {
      "id": "role_owner",
      "name": "Owner / Operator",
      "held_by": null,
      "responsibilities": [
        "Primary vendor ordering and inventory management",
        "Employee scheduling",
        "Payroll processing",
        "Vendor invoice payment",
        "Cash handling escalation decisions",
        "On-call coverage for employee call-ins",
        "Daily monitoring of food cost, labor cost, and revenue metrics",
        "Trust-based decisions on whether to escalate till discrepancies"
      ]
    },
    {
      "id": "role_new_hire",
      "name": "New Hire / General Employee",
      "held_by": null,
      "responsibilities": [
        "Sandwich preparation and food service",
        "Customer service",
        "Participating in daily close (excluding cash register operation)"
      ]
    },
    {
      "id": "role_bread_baker_prepper",
      "name": "Bread Baker and Prepper",
      "held_by": null,
      "responsibilities": [
        "Baking fresh bread every morning before service",
        "Morning food preparation",
        "Backup vendor ordering when delegated by owner",
        "Maintaining operations during periods when most other employees are unavailable"
      ]
    },
    {
      "id": "role_delivery_driver",
      "name": "Delivery Driver",
      "held_by": null,
      "responsibilities": [
        "Delivering vendor orders to the shop on scheduled delivery days"
      ]
    }
  ],
  "atoms": [
    {
      "id": "atom_0001",
      "domain": "D1",
      "parent": null,
      "type": "fact",
      "statement": "The business is a sandwich shop franchise located inside a mall in Albany.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0002",
      "domain": "D1",
      "parent": null,
      "type": "fact",
      "statement": "Bread is baked fresh every morning in-store, which is the primary product differentiator.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0003",
      "domain": "D1",
      "parent": null,
      "type": "fact",
      "statement": "Payment is collected upfront at the time of order via cash, debit card, or credit card; card proceeds are received quickly from the bank or card company.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0004",
      "domain": "D1",
      "parent": null,
      "type": "fact",
      "statement": "The payment mix has gradually shifted over time from primarily cash toward debit and credit cards.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0005",
      "domain": "D1",
      "parent": null,
      "type": "fact",
      "statement": "As a franchise, the business operates under franchisor guidelines that set target ranges for key expense metrics — food cost and labor cost — as a percentage of revenue.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0006",
      "domain": "D2",
      "parent": null,
      "type": "fact",
      "statement": "Primary customers are mall visitors and Albany residents who regularly eat out.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0007",
      "domain": "D2",
      "parent": null,
      "type": "judgment",
      "statement": "Customers choose this shop for four reasons: (1) convenience — limited food options in the mall; (2) good taste; (3) perception that the food is healthy; (4) reputation for fresh, soft bread.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0008",
      "domain": "D3",
      "parent": "proc_vendor_ordering",
      "type": "fact",
      "statement": "Vendor ordering runs on a regular cadence, typically Tuesdays and Thursdays.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0009",
      "domain": "D3",
      "parent": "proc_vendor_ordering",
      "type": "exception",
      "statement": "Ad hoc orders are placed outside the regular Tuesday/Thursday cadence when a specific item runs low before the next scheduled order day.",
      "rationale_ref": null,
      "conditions": "item stock falls below acceptable level before next scheduled order day",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0010",
      "domain": "D3",
      "parent": "proc_vendor_ordering",
      "type": "fact",
      "statement": "Order quantities are determined based on expected or historical normal demand.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0011",
      "domain": "D3",
      "parent": "proc_vendor_ordering",
      "type": "fact",
      "statement": "The primary supplier is Cisco; standard orders are submitted via an order form.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0012",
      "domain": "D3",
      "parent": "proc_vendor_ordering",
      "type": "fact",
      "statement": "Some suppliers require direct phone contact rather than an order form: Pepsi, the towel company, and equipment suppliers (proofers and mixers).",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0013",
      "domain": "D3",
      "parent": "proc_vendor_ordering",
      "type": "exception",
      "statement": "When Cisco is out of needed items or the order form looks unusual, the exception must be handled by emailing Cisco's customer support team — not by calling or resubmitting the form.",
      "rationale_ref": "atom_0043",
      "conditions": "Cisco unable to fulfill order or order form anomaly detected",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": [
        "gap_023"
      ]
    },
    {
      "id": "atom_0014",
      "domain": "D3",
      "parent": "proc_vendor_ordering",
      "type": "fact",
      "statement": "Cisco is difficult to reach by phone; email to their customer support team is the only reliable contact method for order exceptions, though response is slow and inconvenient.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0015",
      "domain": "D3",
      "parent": "proc_daily_close",
      "type": "fact",
      "statement": "Daily close begins at closing time: the till is counted, enough cash is set aside for the next day's till, the remainder is dropped in the safety deposit box, and debit and credit card totals are reconciled against what was rung.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0016",
      "domain": "D3",
      "parent": "proc_daily_close",
      "type": "fact",
      "statement": "Overcharges — cases where an item was rung up at the wrong higher price and the excess placed in the till — are documented during close and used to reconcile any till surplus.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0017",
      "domain": "D3",
      "parent": "proc_bread_baking",
      "type": "fact",
      "statement": "Bread baking and food preparation occurs every morning before service opens.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0018",
      "domain": "D4",
      "parent": null,
      "type": "rule",
      "statement": "New hires are never allowed to handle the cash register.",
      "rationale_ref": "atom_0019",
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0019",
      "domain": "D4",
      "parent": null,
      "type": "rationale",
      "statement": "New hires are excluded from operating the cash register because they have not yet established the trust required for cash handling and represent an elevated theft and error risk.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "inferred",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": [
        "gap_015"
      ]
    },
    {
      "id": "atom_0020",
      "domain": "D4",
      "parent": "proc_daily_close",
      "type": "judgment",
      "statement": "Whether to escalate a till discrepancy to a potential theft investigation depends on how much the owner trusts the employee who worked that shift: a trusted employee's unexplained discrepancy may be accepted without escalation; a lower-trust employee's same discrepancy triggers further scrutiny.",
      "rationale_ref": null,
      "conditions": "till discrepancy is suspicious or cannot be explained by documented overcharges",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0021",
      "domain": "D4",
      "parent": "proc_daily_close",
      "type": "rule",
      "statement": "Employees may void a transaction and create an overcharge entry without owner approval, provided the till ties out at close.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": [
        "gap_016"
      ]
    },
    {
      "id": "atom_0022",
      "domain": "D4",
      "parent": "proc_daily_close",
      "type": "rule",
      "statement": "A till that is short with no overcharge entries to explain the shortfall must always be escalated to the owner — employees cannot resolve this independently.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": [
        "gap_017"
      ]
    },
    {
      "id": "atom_0023",
      "domain": "D4",
      "parent": "proc_daily_close",
      "type": "rule",
      "statement": "Any significant cash handling issue — such as insufficient change available for the next day — must be escalated to the owner.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": [
        "gap_018"
      ]
    },
    {
      "id": "atom_0024",
      "domain": "D4",
      "parent": "proc_vendor_ordering",
      "type": "rule",
      "statement": "Employees may place orders up to $1,000–$2,000 without owner sign-off, but only if the owner has explicitly identified them as sufficiently responsible; the owner typically handles ordering personally.",
      "rationale_ref": null,
      "conditions": "employee has been designated by owner as trustworthy for ordering",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": [
        "gap_019",
        "gap_027"
      ]
    },
    {
      "id": "atom_0025",
      "domain": "D4",
      "parent": null,
      "type": "judgment",
      "statement": "When an employee calls in unable to work, the owner decides case-by-case how to cover the shift — this is a recurring decision that has not yet been formalized into a standing coverage rule.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "inferred",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": [
        "gap_020"
      ]
    },
    {
      "id": "atom_0026",
      "domain": "D4",
      "parent": null,
      "type": "rule",
      "statement": "When the shop runs out of a small item during service, employees should purchase it themselves on the spot without calling the owner for authorization.",
      "rationale_ref": null,
      "conditions": "out-of-stock item is small and low-cost",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": [
        "gap_021"
      ]
    },
    {
      "id": "atom_0027",
      "domain": "D5",
      "parent": "proc_vendor_ordering",
      "type": "failure_signal",
      "statement": "New employees given ordering responsibility consistently over-order because they fear running out of items, driving up order costs beyond what demand justifies.",
      "rationale_ref": null,
      "conditions": "new employee is handling ordering for the first time",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0028",
      "domain": "D5",
      "parent": "proc_vendor_ordering",
      "type": "failure_signal",
      "statement": "New employees are unlikely to know the Cisco customer support email address needed for order exceptions, creating a risk that Cisco exceptions go unresolved or are handled via the wrong channel.",
      "rationale_ref": null,
      "conditions": "a Cisco order exception occurs and a new employee is the one responsible",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0029",
      "domain": "D5",
      "parent": "proc_daily_close",
      "type": "failure_signal",
      "statement": "New employees routinely fail to document overcharges at the register, causing the till to appear significantly over at close with no paper trail explaining the surplus.",
      "rationale_ref": null,
      "conditions": "new employee operates the register and accidentally charges a customer too much",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0030",
      "domain": "D5",
      "parent": "role_bread_baker_prepper",
      "type": "fact",
      "statement": "The bread baker and prepper is an irreplaceable employee who understands ordering and is the key person keeping operations running when most of the workforce is unavailable — particularly during school periods when most employees are in school.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0031",
      "domain": "D5",
      "parent": null,
      "type": "failure_signal",
      "statement": "If the owner were absent for a month, employee scheduling and payroll would break down first, followed by vendor invoice payment — no one else currently owns any of these processes.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0032",
      "domain": "D5",
      "parent": "role_owner",
      "type": "fact",
      "statement": "The owner must personally remain on call at all times to cover shifts when employees call in sick or are otherwise unable to work.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0033",
      "domain": "D6",
      "parent": "kpi_food_cost_ratio",
      "type": "fact",
      "statement": "The most important metric the owner monitors is food cost as a percentage of revenue, tracked as a historical trend over time rather than a single point-in-time snapshot.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0034",
      "domain": "D6",
      "parent": "kpi_food_cost_ratio",
      "type": "judgment",
      "statement": "Both a food cost ratio that is too high and one that is too low signal a problem: too high indicates waste, theft, or food giveaways; too low indicates employees skimping on portions. The target is a consistent ratio within the franchise-defined range.",
      "rationale_ref": "atom_0035",
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0035",
      "domain": "D6",
      "parent": "kpi_food_cost_ratio",
      "type": "rationale",
      "statement": "A consistent food cost ratio signals consistent portion sizes and product quality — deviating in either direction means the sandwich is not being made to standard, which undermines the shop's core promise of a reliable, consistent product.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0036",
      "domain": "D6",
      "parent": null,
      "type": "fact",
      "statement": "The owner regularly tracks three core metrics: food cost, labor cost, and revenue. The franchise provides specific target ranges for food cost and labor cost as a percentage of revenue.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0037",
      "domain": "D7",
      "parent": "proc_daily_close",
      "type": "tacit_signal",
      "statement": "A till surplus of roughly $200 on a day that felt slow is most likely an undocumented overcharge rather than genuine extra sales; cross-checking the hourly charge breakdown in the register will usually confirm it.",
      "rationale_ref": null,
      "conditions": "till is significantly over and the day did not feel particularly busy",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0038",
      "domain": "D7",
      "parent": "proc_daily_close",
      "type": "tacit_signal",
      "statement": "A till that is short with no overcharge documentation and no identifiable explanation is an early warning sign of employee cash theft.",
      "rationale_ref": null,
      "conditions": "till is short and no documented overcharges can account for the shortfall",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "inferred",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": [
        "gap_022"
      ]
    },
    {
      "id": "atom_0039",
      "domain": "D6",
      "parent": "kpi_food_cost_ratio",
      "type": "tacit_signal",
      "statement": "High food cost relative to revenue when waste and spoilage are at normal levels — not elevated — specifically points to employee food theft or giveaways rather than over-ordering or spoilage problems.",
      "rationale_ref": "atom_0040",
      "conditions": "food cost percentage is elevated but measured waste and spoilage are normal",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0040",
      "domain": "D7",
      "parent": "kpi_food_cost_ratio",
      "type": "rationale",
      "statement": "The owner lived through this exact scenario: food cost was high but measured waste was low. After installing cameras, it was confirmed that employees were giving away food, directly validating the high-food-cost-plus-low-waste combination as a theft/giveaway signal.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0041",
      "domain": "D7",
      "parent": "proc_daily_close",
      "type": "tacit_signal",
      "statement": "A pattern of frequent, consistent overcharge entries at similar dollar amounts (e.g., $20–$50 repeatedly across a shift or across multiple shifts) is more suspicious than random-sized entries — it may indicate an employee methodically skimming cash while appearing to document everything correctly.",
      "rationale_ref": null,
      "conditions": "overcharge entries are unusually frequent and consistent in amount",
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0042",
      "domain": "D7",
      "parent": "proc_daily_close",
      "type": "failure_signal",
      "statement": "The hardest theft pattern to detect is an employee who systematically documents overcharges as cover for cash skimming — the paperwork looks clean, so the theft is difficult to catch early and requires cross-shift pattern analysis to surface.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    },
    {
      "id": "atom_0043",
      "domain": "D3",
      "parent": "proc_vendor_ordering",
      "type": "rationale",
      "statement": "Cisco's customer support is difficult to reach by phone, making email the only viable channel for resolving order exceptions — though the email response is slow and inconvenient.",
      "rationale_ref": null,
      "conditions": null,
      "source": {
        "speaker": "owner",
        "speaker_mode": "first_hand",
        "interview_id": "b711c409-ad0e-4a5a-8379-d986dc2ba56a",
        "timestamp": null
      },
      "confidence": "stated",
      "last_verified": "2026-07-29",
      "status": "active",
      "supersedes": null,
      "linked_gaps": []
    }
  ],
  "gaps": [
    {
      "id": "gap_001",
      "kind": "missing_backup",
      "target": "proc_daily_close",
      "question": "If the person who handles Daily Close and Cash Handling disappeared for a month starting tomorrow, who could step in — and what would they need to know?",
      "priority": "high",
      "priority_reason": "missing_backup is always high",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_002",
      "kind": "missing_exception_knowledge",
      "target": "proc_daily_close",
      "question": "What's the messiest Daily Close and Cash Handling situation you've had to handle, and what did you do?",
      "priority": "medium",
      "priority_reason": "cash_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_003",
      "kind": "missing_backup",
      "target": "proc_bread_baking",
      "question": "If the person who handles Morning Bread Baking and Food Preparation disappeared for a month starting tomorrow, who could step in — and what would they need to know?",
      "priority": "high",
      "priority_reason": "missing_backup is always high",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_004",
      "kind": "missing_exception_knowledge",
      "target": "proc_bread_baking",
      "question": "What's the messiest Morning Bread Baking and Food Preparation situation you've had to handle, and what did you do?",
      "priority": "high",
      "priority_reason": "revenue_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_005",
      "kind": "missing_failure_signals",
      "target": "proc_bread_baking",
      "question": "What's the most expensive way Morning Bread Baking and Food Preparation has ever gone wrong, and what was the earliest sign?",
      "priority": "high",
      "priority_reason": "revenue_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_006",
      "kind": "missing_owner",
      "target": "proc_customer_order_taking",
      "question": "Who actually does Customer Order Taking and Payment today, and is that their job or just habit?",
      "priority": "high",
      "priority_reason": "revenue_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_007",
      "kind": "missing_backup",
      "target": "proc_customer_order_taking",
      "question": "If the person who handles Customer Order Taking and Payment disappeared for a month starting tomorrow, who could step in — and what would they need to know?",
      "priority": "high",
      "priority_reason": "missing_backup is always high",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_008",
      "kind": "missing_failure_signals",
      "target": "proc_customer_order_taking",
      "question": "What's the most expensive way Customer Order Taking and Payment has ever gone wrong, and what was the earliest sign?",
      "priority": "high",
      "priority_reason": "revenue_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_009",
      "kind": "missing_backup",
      "target": "proc_scheduling",
      "question": "If the person who handles Employee Scheduling disappeared for a month starting tomorrow, who could step in — and what would they need to know?",
      "priority": "high",
      "priority_reason": "missing_backup is always high",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_010",
      "kind": "missing_failure_signals",
      "target": "proc_scheduling",
      "question": "What's the most expensive way Employee Scheduling has ever gone wrong, and what was the earliest sign?",
      "priority": "low",
      "priority_reason": "internal process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_011",
      "kind": "missing_backup",
      "target": "proc_payroll",
      "question": "If the person who handles Payroll Processing disappeared for a month starting tomorrow, who could step in — and what would they need to know?",
      "priority": "high",
      "priority_reason": "missing_backup is always high",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_012",
      "kind": "missing_failure_signals",
      "target": "proc_payroll",
      "question": "What's the most expensive way Payroll Processing has ever gone wrong, and what was the earliest sign?",
      "priority": "medium",
      "priority_reason": "cash_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_013",
      "kind": "missing_backup",
      "target": "proc_invoice_payment",
      "question": "If the person who handles Vendor Invoice Payment disappeared for a month starting tomorrow, who could step in — and what would they need to know?",
      "priority": "high",
      "priority_reason": "missing_backup is always high",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_014",
      "kind": "missing_failure_signals",
      "target": "proc_invoice_payment",
      "question": "What's the most expensive way Vendor Invoice Payment has ever gone wrong, and what was the earliest sign?",
      "priority": "medium",
      "priority_reason": "cash_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_015",
      "kind": "unverified_inference",
      "target": "atom_0019",
      "question": "I took away: \"New hires are excluded from operating the cash register because they have not yet established the trust required for cash handling and represent an elevated theft and error risk.\" — did I get that right? When would it not apply?",
      "priority": "low",
      "priority_reason": "internal process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_016",
      "kind": "missing_rationale",
      "target": "atom_0021",
      "question": "You said \"Employees may void a transaction and create an overcharge entry without owner approval, provided the till ties out at close.\" — why is that the rule? What happened, or what would happen without it?",
      "priority": "medium",
      "priority_reason": "cash_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_017",
      "kind": "missing_rationale",
      "target": "atom_0022",
      "question": "You said \"A till that is short with no overcharge entries to explain the shortfall must always be escalated to the owner — employees cannot resolve this independently.\" — why is that the rule? What happened, or what would happen without it?",
      "priority": "medium",
      "priority_reason": "cash_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_018",
      "kind": "missing_rationale",
      "target": "atom_0023",
      "question": "You said \"Any significant cash handling issue — such as insufficient change available for the next day — must be escalated to the owner.\" — why is that the rule? What happened, or what would happen without it?",
      "priority": "medium",
      "priority_reason": "cash_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_019",
      "kind": "missing_rationale",
      "target": "atom_0024",
      "question": "You said \"Employees may place orders up to $1,000–$2,000 without owner sign-off, but only if the owner has explicitly identified them as sufficiently responsible; the owner typically handles ordering personally.\" — why is that the rule? What happened, or what would happen without it?",
      "priority": "medium",
      "priority_reason": "cash_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_020",
      "kind": "unverified_inference",
      "target": "atom_0025",
      "question": "I took away: \"When an employee calls in unable to work, the owner decides case-by-case how to cover the shift — this is a recurring decision that has not yet been formalized into a standing coverage rule.\" — did I get that right? When would it not apply?",
      "priority": "low",
      "priority_reason": "internal process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_021",
      "kind": "missing_rationale",
      "target": "atom_0026",
      "question": "You said \"When the shop runs out of a small item during service, employees should purchase it themselves on the spot without calling the owner for authorization.\" — why is that the rule? What happened, or what would happen without it?",
      "priority": "low",
      "priority_reason": "internal process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_022",
      "kind": "unverified_inference",
      "target": "atom_0038",
      "question": "I took away: \"A till that is short with no overcharge documentation and no identifiable explanation is an early warning sign of employee cash theft.\" — did I get that right? When would it not apply?",
      "priority": "medium",
      "priority_reason": "cash_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_023",
      "kind": "undefined_reference",
      "target": "atom_0013",
      "question": "What is the specific email address for Cisco's customer support team that employees should use when an order exception arises, and where is it documented so new employees can find it?",
      "priority": "low",
      "priority_reason": "internal process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_024",
      "kind": "contradiction",
      "target": "atom_0018, atom_0021",
      "question": "You said new hires never handle the cash register (atom_0018), but you also said employees can independently void transactions and create overcharge entries (atom_0021). Are new hires excluded from all register functions including voiding transactions, or does the 'never handle the register' rule only apply to operating it as the primary cashier during service?",
      "priority": "high",
      "priority_reason": "contradiction is always high",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_025",
      "kind": "undefined_reference",
      "target": "role_bread_baker_prepper",
      "question": "Who covers bread baking and morning food prep if the bread baker and prepper is sick or otherwise unavailable — is there a trained backup, and if not, does the shop open without fresh bread that day?",
      "priority": "low",
      "priority_reason": "internal process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_026",
      "kind": "undefined_reference",
      "target": "kpi_food_cost_ratio, kpi_labor_cost_ratio",
      "question": "What specific percentage ranges does your franchise define as the healthy targets for food cost and labor cost as a percentage of revenue?",
      "priority": "low",
      "priority_reason": "internal process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_027",
      "kind": "undefined_reference",
      "target": "atom_0024",
      "question": "How do you determine which employees are responsible enough to be delegated ordering authority up to $1,000–$2,000 — is there a specific tenure threshold, a performance test, or is it based solely on your personal judgment in the moment?",
      "priority": "low",
      "priority_reason": "internal process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_028",
      "kind": "undefined_reference",
      "target": "proc_scheduling",
      "question": "What is your actual scheduling process — what tool or system do you use, how far in advance do you build the schedule, and are there any standing rules about minimum staffing levels?",
      "priority": "low",
      "priority_reason": "internal process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    },
    {
      "id": "gap_029",
      "kind": "undefined_reference",
      "target": "proc_payroll",
      "question": "What system do you use for payroll, and is there anyone besides you who knows how to run it if you were unavailable?",
      "priority": "medium",
      "priority_reason": "cash_touching process",
      "status": "open",
      "created_by": "interview_engine",
      "created_at": "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
    }
  ],
  "interviews": [
    "b711c409-ad0e-4a5a-8379-d986dc2ba56a"
  ],
  "pack_health": {
    "atom_count": 43,
    "confirmed_rules": 6,
    "open_gaps": 29,
    "spof_count": 6,
    "domains_touched": 7
  }
}