{
  "acceptance": {
    "checks": [
      {
        "detail": "One outcome sentence creates a planning Job.",
        "id": "one_sentence_creates_job",
        "passed": true
      },
      {
        "detail": "At most five questions, each with a suggested answer.",
        "id": "questions_lte_five",
        "passed": true
      },
      {
        "detail": "Exactly three travel windows with conflict reasons.",
        "id": "availability_windows",
        "passed": true
      },
      {
        "detail": "Six simple choices including Surprise me.",
        "id": "destination_choices",
        "passed": true
      },
      {
        "detail": "Three complete trips, each total equals the sum of its lines.",
        "id": "three_complete_options",
        "passed": true
      },
      {
        "detail": "Every cost line states quoted or estimated confidence.",
        "id": "numbers_have_confidence",
        "passed": true
      },
      {
        "detail": "Trade-offs explain net dollar impact.",
        "id": "tradeoff_net_dollars",
        "passed": true
      },
      {
        "detail": "Under-budget refinement becomes a constraint.",
        "id": "refinement_under_budget",
        "passed": true
      },
      {
        "detail": "Small changes batch; target-crossing changes alert.",
        "id": "watch_filter",
        "passed": true
      },
      {
        "detail": "Booking approval is ASK and YourNod does not take payment.",
        "id": "booking_is_ask",
        "passed": true
      },
      {
        "detail": "The same Job manages the booked phase.",
        "id": "same_job_after_booking",
        "passed": true
      },
      {
        "detail": "One 14-day briefing and one day-before briefing.",
        "id": "briefings",
        "passed": true
      },
      {
        "detail": "In-trip questions reuse trip context.",
        "id": "in_trip_context",
        "passed": true
      },
      {
        "detail": "Planned vs actual reconciliation is present.",
        "id": "reconciliation",
        "passed": true
      },
      {
        "detail": "Accepted memories never change permission.",
        "id": "learning_no_permission_change",
        "passed": true
      },
      {
        "detail": "Outbound research avoids names, ages, birthdays, and calendar text.",
        "id": "privacy_no_personal_names",
        "passed": true
      }
    ],
    "passed": true,
    "passed_count": 16,
    "schema": "safecadence.agentguard.jobs.acceptance.v1",
    "total": 16
  },
  "agentguard": [
    {
      "step": "Read family profile, ask questions, research destinations and prices",
      "verdict": "ALLOW",
      "why": "Read-only; personal data stays local."
    },
    {
      "step": "Read family, school, or work calendars",
      "verdict": "ALLOW_AFTER_PERMISSION",
      "why": "Progressive permission, requested only at availability step."
    },
    {
      "step": "Create a price watch",
      "verdict": "ASK",
      "why": "Starts recurring work."
    },
    {
      "step": "Remember a preference",
      "verdict": "ASK",
      "why": "Memory is visible, deletable, and cannot change policy."
    },
    {
      "step": "Book, pay, accept fare rules, or share traveler details",
      "verdict": "ASK",
      "why": "Money plus personal data requires full disclosure."
    },
    {
      "step": "Read booking confirmations after booking",
      "verdict": "ALLOW_SCOPED",
      "why": "Scoped to this trip only."
    },
    {
      "step": "Store passports, card numbers, or children's documents",
      "verdict": "DENY",
      "why": "Not needed for v1."
    },
    {
      "step": "Track children's location",
      "verdict": "DENY",
      "why": "Open a family-safety app instead; no covert tracking."
    }
  ],
  "build_order": [
    "Job object + phases + outcome box",
    "Vacation recipe on sample data",
    "Total-cost model and three-option optimizer",
    "Calendar availability windows",
    "Live flights and hotel estimates through approved connectors",
    "Watches with the does-this-matter filter",
    "Approve to seller checkout handoff",
    "Trip management, reconciliation, and memory proposals"
  ],
  "calendar_rule": "Public safety deadlines come first.",
  "decisions": [
    {
      "decision": "Use YourNod naming until consumer brand and trademark review are complete.",
      "id": "brand"
    },
    {
      "decision": "V1 never takes payment; approval opens seller checkout handoff.",
      "id": "payments"
    },
    {
      "decision": "Outcome box is the default; hiring agents and canvas stay in advanced views.",
      "id": "adk_entry"
    }
  ],
  "generated_at": "2026-10-05T22:21:38Z",
  "job": {
    "agentguard": [
      {
        "step": "Read family profile, ask questions, research destinations and prices",
        "verdict": "ALLOW",
        "why": "Read-only; personal data stays local."
      },
      {
        "step": "Read family, school, or work calendars",
        "verdict": "ALLOW_AFTER_PERMISSION",
        "why": "Progressive permission, requested only at availability step."
      },
      {
        "step": "Create a price watch",
        "verdict": "ASK",
        "why": "Starts recurring work."
      },
      {
        "step": "Remember a preference",
        "verdict": "ASK",
        "why": "Memory is visible, deletable, and cannot change policy."
      },
      {
        "step": "Book, pay, accept fare rules, or share traveler details",
        "verdict": "ASK",
        "why": "Money plus personal data requires full disclosure."
      },
      {
        "step": "Read booking confirmations after booking",
        "verdict": "ALLOW_SCOPED",
        "why": "Scoped to this trip only."
      },
      {
        "step": "Store passports, card numbers, or children's documents",
        "verdict": "DENY",
        "why": "Not needed for v1."
      },
      {
        "step": "Track children's location",
        "verdict": "DENY",
        "why": "Open a family-safety app instead; no covert tracking."
      }
    ],
    "approvals": [],
    "availability_windows": [
      {
        "conflict_reason": "school break; one work PTO approval needed",
        "dates": "2027-03-16 to 2027-03-21",
        "id": "win-1"
      },
      {
        "conflict_reason": "soccer game on return day",
        "dates": "2027-04-03 to 2027-04-07",
        "id": "win-2"
      },
      {
        "conflict_reason": "summer camp starts the following week",
        "dates": "2027-06-08 to 2027-06-14",
        "id": "win-3"
      }
    ],
    "booking_approval": {
      "disclosure_fields": [
        "flights",
        "hotel",
        "bags",
        "cancellation rules",
        "taxes",
        "total"
      ],
      "handoff": "open seller checkout pre-filled after approval",
      "safe_cadence_takes_payment": false,
      "total": 4050,
      "verdict": "ASK"
    },
    "briefings": [
      {
        "id": "brief-14-day",
        "purpose": "documents, weather, packing, reservations, and remaining risks",
        "when": "14 days before travel"
      },
      {
        "id": "brief-day-before",
        "purpose": "check-in, route, weather, confirmation, and family plan",
        "when": "day before travel"
      }
    ],
    "constraints": {
      "budget_max": 4500,
      "dates": null,
      "destination": null,
      "origin": "TPA",
      "travelers": 5
    },
    "destination_choices": [
      {
        "name": "St. Augustine",
        "why": "Driveable, history, beach, and lower total cost."
      },
      {
        "name": "Washington DC",
        "why": "Museums reduce activity cost, but flights raise the total."
      },
      {
        "name": "Asheville",
        "why": "Nature, cabin options, and flexible driving schedule."
      },
      {
        "name": "Orlando Nature Base",
        "why": "Close to home with lower travel risk."
      },
      {
        "name": "Puerto Rico",
        "why": "Best experience option, but over target in this sample."
      },
      {
        "name": "Surprise me",
        "why": "Let the optimizer pick within the budget and calendar rules."
      }
    ],
    "goal": "Family vacation, 5 people, cost-effective",
    "id": "job-family-vacation-sample",
    "in_trip_examples": [
      {
        "answer_mode": "use booked destination, budget, age-safe options, and approved local research",
        "input": "It is raining, what can we do?"
      }
    ],
    "job": "Family Vacation",
    "known_context": [
      "family_profile",
      "home_airport",
      "permitted_calendar_sources"
    ],
    "learned_preferences": [
      {
        "permission_change": false,
        "preference": "prefer family suites when net cost is within $75",
        "verdict": "ASK"
      },
      {
        "permission_change": false,
        "preference": "keep one unscheduled day on trips longer than four nights",
        "verdict": "ASK"
      }
    ],
    "ledger": [],
    "outbound_research_requests": [
      "5 travelers from TPA, 2 rooms or family suite, March school-break window, family-friendly activities",
      "hotel estimate for 5 travelers using anonymized trip parameters only"
    ],
    "owner": "Mom",
    "phase": "planning",
    "phase_after_booking": {
      "job_id": "job-family-vacation-sample",
      "new_agent_created": false,
      "phase": "booked"
    },
    "questions": [
      {
        "id": "dates",
        "prompt": "Use spring break week?",
        "suggested_answer": "Use the lowest-conflict school/work window."
      },
      {
        "id": "destination_style",
        "prompt": "Beach, city, nature, or surprise me?",
        "suggested_answer": "Compare all four and show the best three trips."
      },
      {
        "id": "lodging",
        "prompt": "Two rooms or family suite?",
        "suggested_answer": "Prefer family suite if total cost stays under budget."
      },
      {
        "id": "pace",
        "prompt": "Relaxed, active, or mixed?",
        "suggested_answer": "Mixed pace with one free day."
      }
    ],
    "reconciliation": {
      "actuals_policy": "only expenses the owner authorizes",
      "planned_vs_actual": true,
      "sources": [
        "trip-tagged card alerts",
        "forwarded receipts",
        "booking confirmations"
      ]
    },
    "refinements": [
      {
        "budget_max": 4500,
        "changed": "Filtered out over-budget experience option and kept two alternatives.",
        "constraint": "under_budget",
        "input": "Keep it under $4,500"
      }
    ],
    "schema": "safecadence.agentguard.job.v1",
    "sha256": "0a3b2c1020cea0c0c9618abc4966e5f0567e3b6a1ec9e45ce3058d71c9c37c15",
    "team": [
      "chief_of_staff",
      "travel_planner",
      "budget_analyst",
      "family_coordinator"
    ],
    "tradeoffs": [
      {
        "explanation": "Washington DC saves $300 on activities but adds $780 in flights and bags; net +$480.",
        "id": "beach-vs-city"
      },
      {
        "explanation": "A family suite costs $210 more than two basic rooms but saves $160 on breakfast; net +$50.",
        "id": "suite-vs-rooms"
      }
    ],
    "trip_options": [
      {
        "id": "best-value",
        "label": "Best value",
        "lines": [
          {
            "amount": 260,
            "confidence": "estimate",
            "name": "transport",
            "note": "fuel, parking, local tolls"
          },
          {
            "amount": 1560,
            "confidence": "quoted",
            "name": "lodging",
            "note": "sample hotel quote, timestamped in demo"
          },
          {
            "amount": 720,
            "confidence": "estimate_range",
            "name": "food",
            "note": "$640-$820"
          },
          {
            "amount": 380,
            "confidence": "estimate_range",
            "name": "activities",
            "note": "$300-$470"
          },
          {
            "amount": 210,
            "confidence": "estimate",
            "name": "taxes_and_fees",
            "note": "lodging fees and parking"
          },
          {
            "amount": 280,
            "confidence": "estimate",
            "name": "contingency",
            "note": "8 percent cushion"
          }
        ],
        "title": "St. Augustine drive trip",
        "total": 3410,
        "why": "Lowest total with beach, history, and flexible meals."
      },
      {
        "id": "best-overall",
        "label": "Best overall",
        "lines": [
          {
            "amount": 520,
            "confidence": "estimate",
            "name": "transport",
            "note": "drive, mountain parking, local fuel"
          },
          {
            "amount": 1705,
            "confidence": "quoted",
            "name": "lodging",
            "note": "sample cabin quote, timestamped in demo"
          },
          {
            "amount": 770,
            "confidence": "estimate_range",
            "name": "food",
            "note": "$690-$890"
          },
          {
            "amount": 480,
            "confidence": "estimate_range",
            "name": "activities",
            "note": "$390-$590"
          },
          {
            "amount": 225,
            "confidence": "estimate",
            "name": "taxes_and_fees",
            "note": "lodging and service fees"
          },
          {
            "amount": 350,
            "confidence": "estimate",
            "name": "contingency",
            "note": "weather and schedule cushion"
          }
        ],
        "title": "Asheville cabin + outdoor plan",
        "total": 4050,
        "why": "Under target with better weather backup and more space."
      },
      {
        "id": "best-experience",
        "label": "Best experience",
        "lines": [
          {
            "amount": 1240,
            "confidence": "quoted",
            "name": "flights",
            "note": "sample flight quote, timestamped in demo"
          },
          {
            "amount": 2120,
            "confidence": "estimate_range",
            "name": "lodging",
            "note": "$1,980-$2,360"
          },
          {
            "amount": 920,
            "confidence": "estimate_range",
            "name": "food",
            "note": "$800-$1,080"
          },
          {
            "amount": 700,
            "confidence": "estimate_range",
            "name": "activities",
            "note": "$560-$840"
          },
          {
            "amount": 340,
            "confidence": "estimate",
            "name": "taxes_and_fees",
            "note": "bags, resort, and local fees"
          },
          {
            "amount": 420,
            "confidence": "estimate",
            "name": "contingency",
            "note": "currency, weather, and backup transport"
          }
        ],
        "title": "Puerto Rico beach week",
        "total": 5740,
        "why": "Most memorable, but over the current budget target."
      }
    ],
    "watch_examples": {
      "small_change": {
        "alert": false,
        "change": -3,
        "change_pct": 0.0007,
        "new_total": 4382,
        "previous_total": 4385,
        "reason": "batch into next summary",
        "target_total": 4500,
        "threshold_pct": 0.02
      },
      "target_crossing": {
        "alert": true,
        "change": -286,
        "change_pct": 0.0619,
        "new_total": 4334,
        "previous_total": 4620,
        "reason": "crossed target total",
        "target_total": 4500,
        "threshold_pct": 0.02
      }
    },
    "watch_rules": {
      "rule": "alert only when total changes by at least 2 percent or crosses target",
      "threshold_pct": 0.02
    },
    "watches": []
  },
  "schema": "safecadence.agentguard.jobs.reference.v1",
  "status": "sample-data-ready"
}