{
  "schema_version": "1.0",
  "baseline": "V4",
  "updated_at": "2026-04-22",
  "owner_session": "B",
  "phase": "Journey Intelligence System (post-12F · B-owned contract)",
  "purpose_th": "Waiting list ของ journey ที่ยังไม่ live · ทุก candidate มี source_of_candidate · why_not_live_yet · dependencies_missing · readiness_score · owner_side · trigger_to_activate",
  "purpose_en": "Waiting list of journeys not yet live · each candidate has source_of_candidate · why_not_live_yet · dependencies_missing · readiness_score · owner_side · trigger_to_activate",
  "hard_rules": [
    "readiness_score ∈ [0,1] · score ≥ 0.75 eligible for promotion to contract-ready",
    "owner_side ∈ {A, B, shared}",
    "ทุก candidate อ้าง journey_code จาก journey_catalog.json",
    "ห้ามย้ายเข้า runtime-live โดยไม่ผ่าน approval_matrix"
  ],
  "readiness_dimensions": [
    {"id":"rd-contract","weight":0.25,"check":"has journey_catalog entry + steps + result_types"},
    {"id":"rd-events","weight":0.20,"check":"all central_log_sources defined in journey_log_mapping"},
    {"id":"rd-metrics","weight":0.15,"check":"metrics defined in journey_metrics_contract"},
    {"id":"rd-dashboard","weight":0.10,"check":"dashboard_use resolves to an existing dashboard id"},
    {"id":"rd-value-formula","weight":0.10,"check":"business_value_formula_ref resolves to a formula"},
    {"id":"rd-ui-surface","weight":0.10,"check":"related_screens has at least one screen that exists in screen_registry (designed+ state)"},
    {"id":"rd-approval-path","weight":0.10,"check":"if sensitive-surface · approval_matrix row identified"}
  ],
  "candidates": [
    {"journey_code":"J-INBOX-TRIAGE","source_of_candidate":"screen_object_map obj-1-1 Alert + session_a_handoff hand-admin-control-plane","why_not_live_yet":"operator inbox runtime ยังไม่มี · RBAC + assignment API ยังไม่พร้อม","dependencies_missing":["operator-inbox-runtime","rbac-role-registry","notification-router"],"readiness_score":0.55,"owner_side":"A","trigger_to_activate":"Admin Control Plane Phase 2c+ ships operator inbox"},
    {"journey_code":"J-ACCESSIBILITY-TOGGLE","source_of_candidate":"best-practice (WCAG)","why_not_live_yet":"a11y mode UI ยังไม่ออกแบบ · ต้อง design spec","dependencies_missing":["a11y-design-spec","screen-mode-schema"],"readiness_score":0.30,"owner_side":"shared","trigger_to_activate":"product + design team ออก a11y spec"},
    {"journey_code":"J-SEARCH-TO-BOOKING","source_of_candidate":"existing SVC-pattayatogether-pay CASE-002","why_not_live_yet":"search-results page runtime + booking wizard ยังไม่ ship · payment gateway integration ยังไม่ทำงานจริง","dependencies_missing":["search-results-runtime","booking-wizard-runtime","payment-gateway-integration"],"readiness_score":0.65,"owner_side":"A","trigger_to_activate":"Runtime Continuation Batch 3+ booking runtime"},
    {"journey_code":"J-JOURNEY-TO-BOOKING","source_of_candidate":"curated journeys · SVC-curated-journeys","why_not_live_yet":"same booking gap as above","dependencies_missing":["booking-wizard-runtime"],"readiness_score":0.60,"owner_side":"A","trigger_to_activate":"booking runtime"},
    {"journey_code":"J-NEARBY-TO-BOOKING","source_of_candidate":"discover-map SVC-curated-journeys","why_not_live_yet":"map runtime + booking runtime · both pending","dependencies_missing":["map-runtime","booking-runtime","geoloc-consent-flow"],"readiness_score":0.55,"owner_side":"A","trigger_to_activate":"map + booking runtimes"},
    {"journey_code":"J-EVENT-TO-BOOKING","source_of_candidate":"events service","why_not_live_yet":"events service + booking runtime ยังไม่ ship","dependencies_missing":["events-service-runtime","booking-runtime"],"readiness_score":0.55,"owner_side":"A","trigger_to_activate":"events service + booking runtime"},
    {"journey_code":"J-COCKPIT-CONFIG","source_of_candidate":"home section 5 (reference case)","why_not_live_yet":"cockpit widget system + preset storage pending","dependencies_missing":["cockpit-widget-runtime","preset-storage"],"readiness_score":0.45,"owner_side":"A","trigger_to_activate":"home runtime + preset store"},
    {"journey_code":"J-COCKPIT-WIDGET-SWAP","source_of_candidate":"home section 5 (reference case)","why_not_live_yet":"same as above","dependencies_missing":["cockpit-widget-runtime"],"readiness_score":0.45,"owner_side":"A"},
    {"journey_code":"J-WALLET-TOPUP","source_of_candidate":"SVC-pattayatogether-pay + wallet widget obj-5-1","why_not_live_yet":"payment gateway integration ยังไม่ทำงานจริง · PCI scope decision pending","dependencies_missing":["payment-gateway","pci-scope-decision"],"readiness_score":0.60,"owner_side":"A"},
    {"journey_code":"J-WALLET-PAY","source_of_candidate":"wallet widget","why_not_live_yet":"same as wallet topup","dependencies_missing":["payment-gateway"],"readiness_score":0.55,"owner_side":"A"},
    {"journey_code":"J-POINTS-REDEEM","source_of_candidate":"points widget","why_not_live_yet":"loyalty engine ยังไม่ออกแบบ","dependencies_missing":["loyalty-engine","reward-catalog"],"readiness_score":0.35,"owner_side":"A"},
    {"journey_code":"J-MICE-INQUIRY","source_of_candidate":"MICE widget + CONCEPT-005","why_not_live_yet":"MICE orchestration service (proposed SVC-mice-orchestration) ยังไม่ register","dependencies_missing":["svc-mice-orchestration-register","inquiry-form-runtime","routing-to-anchor"],"readiness_score":0.40,"owner_side":"shared","trigger_to_activate":"decision gate for SVC-mice-orchestration + anchor partner onboarding"},
    {"journey_code":"J-RESUME-LAST-SCREEN","source_of_candidate":"Main Switching Button obj-8-4 Mode[2] Back","why_not_live_yet":"session state API ยังไม่มี · localStorage only ใน wizard (Batch 2)","dependencies_missing":["session-state-api","cross-device-resume"],"readiness_score":0.50,"owner_side":"A"},
    {"journey_code":"J-SHORTCUT-LAUNCH","source_of_candidate":"Mode[0] Shortcut","why_not_live_yet":"shortcut registry + personalization ยังไม่ออกแบบ","dependencies_missing":["shortcut-registry"],"readiness_score":0.40,"owner_side":"A"},
    {"journey_code":"J-SURVEY-SUBMIT","source_of_candidate":"best-practice + data_enrichment_value","why_not_live_yet":"survey runtime + form builder pending","dependencies_missing":["form-builder-runtime","consent-capture"],"readiness_score":0.45,"owner_side":"A"},
    {"journey_code":"J-VR-SCENE","source_of_candidate":"media taxonomy · immersive bucket","why_not_live_yet":"VR content + delivery platform ยังไม่ทำ · sensitive biometric (gaze) policy pending","dependencies_missing":["vr-content-pipeline","biometric-consent-policy"],"readiness_score":0.25,"owner_side":"shared"},
    {"journey_code":"J-AR-LAUNCH","source_of_candidate":"media taxonomy","why_not_live_yet":"AR anchors + scenes ยังไม่ authored · camera-permission flow ยังไม่ออกแบบ","dependencies_missing":["ar-content","camera-consent-flow"],"readiness_score":0.25,"owner_side":"shared"},
    {"journey_code":"J-POINT-CLOUD-VIEW","source_of_candidate":"media taxonomy","why_not_live_yet":"no point-cloud assets authored yet · compute cost TBD","dependencies_missing":["point-cloud-assets","gpu-delivery-decision"],"readiness_score":0.20,"owner_side":"shared"},
    {"journey_code":"J-VIRTUAL-TOUR","source_of_candidate":"media taxonomy","why_not_live_yet":"virtual-tour content + embed host ยังไม่ ship","dependencies_missing":["virtual-tour-content","embed-host-runtime"],"readiness_score":0.35,"owner_side":"shared"},
    {"journey_code":"J-SHARED-LINK-ENTRY","source_of_candidate":"best-practice + ecosystem_value","why_not_live_yet":"attribution service + deep-link scheme ยังไม่ register","dependencies_missing":["attribution-service","deep-link-scheme-register"],"readiness_score":0.50,"owner_side":"A"},
    {"journey_code":"J-EMBED-PARTNER","source_of_candidate":"ecosystem partnerships","why_not_live_yet":"partner DPA + widget SDK ยังไม่ negotiate","dependencies_missing":["partner-dpa","widget-sdk","return-signal-handshake"],"readiness_score":0.30,"owner_side":"shared"},
    {"journey_code":"J-FLIPBOOK-VIEW","source_of_candidate":"media taxonomy","why_not_live_yet":"no flipbook assets · viewer selection pending","dependencies_missing":["flipbook-viewer","content-pipeline"],"readiness_score":0.30,"owner_side":"B"},
    {"journey_code":"J-ADVERGAMING","source_of_candidate":"best-practice","why_not_live_yet":"no game assets · legal review on in-app rewards pending","dependencies_missing":["game-assets","legal-review","reward-integration"],"readiness_score":0.25,"owner_side":"shared"},
    {"journey_code":"J-TRAVEL-BROWSE","source_of_candidate":"bottom-nav obj-8-2","why_not_live_yet":"travel surface runtime pending","dependencies_missing":["travel-surface-runtime"],"readiness_score":0.45,"owner_side":"A"},
    {"journey_code":"J-TRIP-MANAGE","source_of_candidate":"bottom-nav obj-8-3","why_not_live_yet":"trip CRUD + storage pending","dependencies_missing":["trip-crud","trip-storage"],"readiness_score":0.45,"owner_side":"A"},
    {"journey_code":"J-STAKEHOLDER-VIEW","source_of_candidate":"bottom-nav obj-8-7","why_not_live_yet":"stakeholder portal runtime pending","dependencies_missing":["stakeholder-portal"],"readiness_score":0.40,"owner_side":"A"},
    {"journey_code":"J-PUBLISH-PROMOTE","source_of_candidate":"publish_workflow.json (12F)","why_not_live_yet":"admin control plane stage-transition API pending","dependencies_missing":["admin-control-plane-transition-api"],"readiness_score":0.60,"owner_side":"A"}
  ],
  "counts_by_owner": {"A":20,"B":1,"shared":6},
  "counts_by_readiness_band": {"0.70+ (promote-soon)":0,"0.50-0.69 (near)":8,"0.30-0.49 (work-needed)":14,"<0.30 (early)":5},
  "honest_note_th":"readiness_score คำนวณจาก readiness_dimensions · แต่ยังใช้ claude-derived weights · ต้อง tune หลัง A-side ทำ runtime จริง"
}
