{
  "schema_version": "1.0",
  "baseline": "V4",
  "updated_at": "2026-04-22",
  "owner_session": "B",
  "phase": "Phase 12F — Premium Wizard (B-owned contract · A-owned runtime)",
  "purpose_th": "Premium Wizard model — contract ที่ session A จะนำไป implement เป็น /kb/wizard.html แบบ interactive. ผู้ใช้ Premium กรอกความต้องการแบบมีโครงสร้าง · ระบบเชื่อมโยงไปยัง persona/journey/dashboard/service ที่เหมาะสม · output เป็น 'personal KB-view bundle' ไม่ใช่ tenant ใหม่ · ไม่มีการ publish อัตโนมัติ · ทุก AI suggestion ต้องผ่าน human review",
  "purpose_en": "Premium Wizard model — contract session A will implement as an interactive /kb/wizard.html. Premium subscribers give structured input; system maps to personas / journeys / dashboards / services · output is a 'personal KB-view bundle', not a new tenant · no automatic publish · every AI suggestion requires human review before it leaves draft",
  "hard_rules": [
    "Wizard output is a personal view bundle · NOT a tenant · NOT a service · NOT a published KB node",
    "All AI-assisted steps carry requires_human_review=true and surface a visible review badge",
    "Trilingual TH + EN + ZH on every user-visible label · internal ids stay English",
    "File upload is OPTIONAL · wizard must work when user has nothing to upload",
    "Persona selection maps to 12D journey entries read-only — wizard never mutates journey data",
    "No access to Enterprise-only surfaces (tenant factory · publish pipeline) from this wizard",
    "Sensitive-surface signal detected in user input → flagged + routed to sensitive-dual review · never auto-continue",
    "State persists per authenticated premium user · A-owned auth required before any persistence",
    "Faithfulness floor <0.70 on any AI suggestion → regenerate · still <0.70 → decline per DOC-007 §7",
    "PDPA discipline · email/phone/name hashed at persistence boundary · GPS fuzz ±50m if location collected"
  ],
  "b_owned_vs_a_owned": {
    "b_owned_th": "B เป็นเจ้าของ: wizard flow graph · step contracts · field-level validation rules · mapping to persona/journey/dashboard/service · approval gate definitions · honest_note · trilingual label set",
    "b_owned_en": "B owns: the wizard flow graph · step contracts · field-level validation rules · mapping to persona/journey/dashboard/service · approval gate definitions · honest_note · trilingual labels",
    "a_owned_th": "A เป็นเจ้าของ: runtime UI · auth + session · file upload pipeline · AI suggestion engine (Claude calls) · state persistence · analytics instrumentation · feature flag registry",
    "a_owned_en": "A owns: runtime UI · auth + session · file upload pipeline · AI suggestion engine (Claude calls) · state persistence · analytics instrumentation · feature flag registry",
    "handoff_contract_th": "A จะอ่านไฟล์นี้ + wizard_flow graph ลงมาเป็น interactive form component. ไม่ต้อง re-interpret · ทุก step label/validation/mapping ถือเป็น authoritative contract",
    "handoff_contract_en": "A reads this file + the flow graph and compiles an interactive form component. No re-interpretation · every step label/validation/mapping is authoritative contract"
  },
  "personas": [
    {"id":"p-citizen",       "journey_ref":"Citizen · 11 stages (CONCEPT-010)",     "source_basis":"12D · verbatim","confidence":"high"},
    {"id":"p-merchant",      "journey_ref":"Merchant M0..M9 (CONCEPT-011)",         "source_basis":"12D · verbatim","confidence":"high"},
    {"id":"p-city-manager",  "journey_ref":"City-manager (CONCEPT-016)",            "source_basis":"12D · partial verbatim","confidence":"high"},
    {"id":"p-investor",      "journey_ref":"Investor (CONCEPT-012)",                "source_basis":"12D · claude-derived","confidence":"medium","requires_human_review":true},
    {"id":"p-creator",       "journey_ref":"Creator (CONCEPT-013)",                 "source_basis":"12D · claude-derived","confidence":"medium","requires_human_review":true},
    {"id":"p-ambassador",    "journey_ref":"Ambassador (CONCEPT-014)",              "source_basis":"12D · partial verbatim","confidence":"medium","requires_human_review":true},
    {"id":"p-guide",         "journey_ref":"Guide (CONCEPT-015)",                   "source_basis":"12D · partial verbatim","confidence":"medium","requires_human_review":true}
  ],
  "steps": [
    {
      "id": "step-1-profile",
      "order": 1,
      "label_th": "โปรไฟล์ + บริบท",
      "label_en": "Profile + context",
      "label_zh": "个人资料 + 背景",
      "purpose_th": "ระบุตัวผู้ใช้ · ความสัมพันธ์กับพัทยา · ภาษาหลัก · ระดับประสบการณ์กับแพลตฟอร์ม",
      "purpose_en": "Identify the user · their relationship to Pattaya · primary language · familiarity with the platform",
      "purpose_zh": "识别用户 · 与芭提雅的关系 · 主要语言 · 平台熟悉度",
      "fields": [
        {"id":"display_name","type":"string","max_len":80,"required":true,"pdpa":"hashed-at-persistence"},
        {"id":"preferred_language","type":"enum","options":["th","en","zh"],"required":true,"default":"th"},
        {"id":"relationship_to_pattaya","type":"enum","options":["resident","frequent-visitor","occasional-visitor","investor","operator","first-timer"],"required":true},
        {"id":"familiarity_level","type":"enum","options":["new","explored-basics","used-bookings","power-user"],"required":true}
      ],
      "validation_rules": [
        "display_name cannot be empty",
        "preferred_language drives trilingual switching for the rest of the wizard",
        "relationship_to_pattaya = operator → route to Enterprise Upload (SUB-3) warning block"
      ],
      "related_truth_nodes": ["tt-concept","tt-system-services"],
      "related_lexicon": ["lex-together","lex-together-premium"],
      "related_journeys": [],
      "related_services": [],
      "related_dashboards": [],
      "required_review": "drafter",
      "honest_note_th": "ไม่มี AI ใน step นี้ · ทุก field เป็น manual · ไม่มี draft ที่ต้องรีวิว",
      "honest_note_en": "No AI in this step · every field is manual · nothing for a reviewer to check yet"
    },
    {
      "id": "step-2-goals",
      "order": 2,
      "label_th": "เป้าหมาย / ความต้องการ",
      "label_en": "Goals",
      "label_zh": "目标",
      "purpose_th": "ระบุเป้าหมายหลัก — จองง่ายขึ้น · เข้าใจเมือง · ลงทุน · แนะนำผู้อื่น · ทำงานกับแพลตฟอร์ม",
      "purpose_en": "Declare the user's primary goal — book better · understand the city · invest · recommend others · work with the platform",
      "purpose_zh": "声明用户主要目标 — 更好地预订 · 了解城市 · 投资 · 推荐他人 · 与平台合作",
      "fields": [
        {"id":"primary_goal","type":"enum","options":["explore-better","book-efficiently","understand-health-of-city","invest-or-partner","create-content","guide-others","operate-a-business","govern-or-audit"],"required":true},
        {"id":"secondary_goals","type":"multi-enum","options":["same-as-primary-list"],"required":false,"max_count":3},
        {"id":"time_horizon","type":"enum","options":["this-trip","this-month","this-quarter","this-year","long-term"],"required":true},
        {"id":"success_description","type":"text","max_len":400,"required":false,"honest_note":"free-text · AI will summarise · user must confirm summary before step closes"}
      ],
      "validation_rules": [
        "primary_goal drives persona candidate suggestions in step 5",
        "If success_description filled · AI paraphrase is presented for confirmation · user must accept or edit"
      ],
      "related_truth_nodes": ["tt-concept"],
      "related_lexicon": ["lex-together-premium"],
      "related_journeys": ["any-persona-matching-primary_goal"],
      "related_services": [],
      "related_dashboards": [],
      "required_review": "drafter",
      "honest_note_th": "AI paraphrase คือ T5 · ผู้ใช้ต้องยืนยันข้อความก่อน step ปิด · ห้าม auto-accept",
      "honest_note_en": "AI paraphrase is T5 · user must confirm the paraphrase before the step closes · never auto-accept"
    },
    {
      "id": "step-3-pain-points",
      "order": 3,
      "label_th": "จุดเจ็บปวด / ปัญหา",
      "label_en": "Pain points",
      "label_zh": "痛点",
      "purpose_th": "ระบุปัญหาที่ผู้ใช้เจอ · ระบบจะ map ไป friction จริงใน 12D journey + issue ใน case portal ถ้ามี",
      "purpose_en": "Let the user describe problems they've run into · system maps them onto real 12D frictions + case portal issues where matches exist",
      "purpose_zh": "让用户描述遇到的问题 · 系统将其映射到真实的 12D 摩擦点 + 案例门户问题（如有匹配）",
      "fields": [
        {"id":"pain_tags","type":"multi-enum","options":["language-barrier","payment-confusion","safety-worry","price-unclear","route-hard","booking-confusing","no-recommendation-fit","cannot-find-authentic","operator-cannot-onboard","dashboard-unclear","governance-gap","other"],"required":false,"max_count":5},
        {"id":"pain_description","type":"text","max_len":600,"required":false},
        {"id":"severity_self_rating","type":"enum","options":["low","medium","high","blocker"],"required":false}
      ],
      "ai_assist": {
        "enabled": true,
        "purpose_th":"AI จับคู่กับ friction signature + pattern จาก journey.json · เสนอ 'ท่านอาจตรงกับ pattern นี้'",
        "purpose_en":"AI matches to friction signatures + patterns from journeys.json · proposes 'you may match this pattern'",
        "requires_human_review": true,
        "faithfulness_floor": 0.70
      },
      "validation_rules": [
        "If severity_self_rating = blocker · step auto-flags for human review before continuing",
        "Pain tags containing 'safety-worry' · 'governance-gap' trigger sensitive-surface flag"
      ],
      "related_truth_nodes": ["tt-ai-pending"],
      "related_lexicon": ["lex-watchlist","lex-flagship"],
      "related_journeys": ["12D · all journeys · friction stage"],
      "related_services": [],
      "related_dashboards": ["db-city-vital-signs","db-sentiment-polarity"],
      "required_review": "dual-if-sensitive",
      "honest_note_th": "AI map ไป friction เป็น proposal · ผู้ใช้ต้องยืนยันว่าใช่ก่อน · sensitive tag บังคับ dual-review",
      "honest_note_en": "AI friction mapping is a proposal · user must confirm · sensitive tags force dual-review"
    },
    {
      "id": "step-4-target-users",
      "order": 4,
      "label_th": "กลุ่มผู้ใช้เป้าหมาย",
      "label_en": "Target users",
      "label_zh": "目标用户",
      "purpose_th": "ถ้าผู้ใช้เป็น operator/ambassador/creator/guide · ใครคือคนที่อยากช่วย",
      "purpose_en": "If the user is an operator/ambassador/creator/guide · who do they want to help",
      "purpose_zh": "如果用户是运营者/大使/创作者/导游 · 他们想帮助谁",
      "fields": [
        {"id":"target_tourist_segments","type":"multi-enum","options":["couples","families","solo-travellers","mice","wellness","food-focused","culture-focused","budget-backpacker","high-spend","first-timer","returning"],"required":false,"max_count":4,"source":"seg-persona verbatim from CONCEPT-005"},
        {"id":"target_nationality","type":"multi-enum","options":["thai","chinese","indian","russian","korean","european","arab","anglophone","other"],"required":false,"max_count":5},
        {"id":"target_time_window","type":"multi-enum","options":["morning","afternoon","evening","night","late-night","weekend","weekday","high-season","low-season"],"required":false,"max_count":4}
      ],
      "validation_rules": [
        "If relationship_to_pattaya != operator/ambassador/creator/guide · step may be skipped",
        "Selected segments surface related dashboards in step 7 review"
      ],
      "related_truth_nodes": [],
      "related_lexicon": ["lex-journey-persona-actor"],
      "related_journeys": [],
      "related_services": [],
      "related_dashboards": ["db-tourist-pulse","db-guide-signal-drilldown"],
      "required_review": "drafter",
      "honest_note_th": "segment list มาจาก CONCEPT-005 verbatim · ไม่ได้สร้างใหม่",
      "honest_note_en": "segment list is verbatim from CONCEPT-005 · nothing invented here"
    },
    {
      "id": "step-5-preferred-services",
      "order": 5,
      "label_th": "บริการที่สนใจ",
      "label_en": "Preferred services",
      "label_zh": "感兴趣的服务",
      "purpose_th": "AI แนะนำ service จาก 73 catalog + 11 proposed T5 ตาม goal+pain+target · ผู้ใช้เลือกได้สูงสุด 10",
      "purpose_en": "AI recommends from the 73-service catalog + 11 proposed T5 services based on goal+pain+target · user picks up to 10",
      "purpose_zh": "AI 从 73 个服务目录 + 11 个建议的 T5 服务中推荐 · 用户最多选 10 个",
      "fields": [
        {"id":"selected_services","type":"multi-id","id_shape":"SVC-*","required":false,"max_count":10},
        {"id":"selected_proposed_services","type":"multi-id","id_shape":"SVC-* (T5)","required":false,"max_count":5,"honest_note":"Proposed services remain T5 · not in services.json · cannot be 'booked' from wizard · shown as future interest only"}
      ],
      "ai_assist": {
        "enabled": true,
        "input":"goal + pain + target",
        "output":"≤12 ranked service candidates · each with confidence + source_basis",
        "requires_human_review": true,
        "faithfulness_floor": 0.70
      },
      "validation_rules": [
        "Recommended services must exist in services.json (for implemented/design/prototype/needs_refinement maturity) OR in journeys.json touchpoints (for T5 proposed)",
        "T5 proposed services displayed with a visible 'proposed · not live' badge · cannot be mistaken for booked services"
      ],
      "related_truth_nodes": ["tt-system-services","tt-system-bindings"],
      "related_lexicon": ["lex-service","lex-hydration"],
      "related_journeys": ["12D · touchpoints linking SVC-*"],
      "related_services": ["73 from services.json","11 proposed T5 from 12D"],
      "related_dashboards": [],
      "required_review": "drafter",
      "honest_note_th": "service แนะนำเป็น AI proposal · รายชื่อจริงมาจาก services.json + journeys.json เท่านั้น · ไม่มี fabrication",
      "honest_note_en": "recommendations are AI proposals · the source list comes from services.json + journeys.json only · no fabricated services"
    },
    {
      "id": "step-6-desired-outcomes",
      "order": 6,
      "label_th": "ผลลัพธ์ที่อยากได้",
      "label_en": "Desired outcomes",
      "label_zh": "期望的结果",
      "purpose_th": "ระบุตัวชี้วัดความสำเร็จ · ทำให้ Personal Dashboard preset มีโครง",
      "purpose_en": "Declare success signals · gives the Personal Dashboard preset its shape",
      "purpose_zh": "声明成功信号 · 确定个人仪表板预设形状",
      "fields": [
        {"id":"preferred_dashboards","type":"multi-id","id_shape":"db-*","required":false,"max_count":6,"source":"dashboard_contract.json"},
        {"id":"preferred_time_modes","type":"multi-enum","options":["realtime","daily","weekly","monthly","quarterly","yearly","rolling-30d","YoY","MoM"],"required":false,"max_count":4,"source":"time_intelligence.json"},
        {"id":"preferred_filters","type":"multi-string","max_count":8,"honest_note":"filter chips are user-typed + validated against dashboard_contract.json filter lists"},
        {"id":"alert_preference","type":"enum","options":["none","monitor-only","watchlist-and-above","flagship-and-above","incident-only"],"required":false,"default":"monitor-only"}
      ],
      "validation_rules": [
        "preferred_dashboards must exist in dashboard_contract.json",
        "Personal Dashboard preset (B-owned contract · A-owned storage) seeds from this step's output",
        "alert_preference 'incident-only' does NOT raise platform alerts — personal digest only · no city-wide paging"
      ],
      "related_truth_nodes": [],
      "related_lexicon": ["lex-snapshot","lex-watchlist","lex-flagship"],
      "related_journeys": [],
      "related_services": [],
      "related_dashboards": ["all 17 from dashboard_contract"],
      "required_review": "drafter",
      "honest_note_th": "Personal Dashboard preset ฝั่ง B เป็น contract · A เป็นคนเก็บ preset + sync จริง · ไม่มีการ share preset กับผู้อื่นโดยอัตโนมัติ",
      "honest_note_en": "Personal Dashboard preset is B-owned contract · A owns the real persistence + sync · presets never auto-share with other users"
    },
    {
      "id": "step-7-optional-uploads",
      "order": 7,
      "label_th": "ไฟล์เสริม (ไม่บังคับ)",
      "label_en": "Optional uploads",
      "label_zh": "可选上传",
      "purpose_th": "ผู้ใช้อัปโหลด pdf/doc/txt/image เพื่อให้ AI อ่าน context เพิ่ม · ไฟล์เข้า T5 เสมอ · ไม่สร้าง tenant KB",
      "purpose_en": "User may upload pdf/doc/txt/image to give AI extra context · uploads enter at T5 · they do NOT create a tenant KB (that's SUB-3)",
      "purpose_zh": "用户可上传 pdf/doc/txt/image 为 AI 提供额外上下文 · 上传始终为 T5 · 不创建租户 KB（那是 SUB-3）",
      "fields": [
        {"id":"uploaded_files","type":"file-list","max_count":5,"max_size_mb":15,"allowed_types":["pdf","docx","txt","png","jpg","webp"],"required":false},
        {"id":"upload_intent","type":"enum","options":["context-only","seed-personal-notes","request-summary","suggest-interests"],"required":false}
      ],
      "ai_assist": {
        "enabled": true,
        "ocr":"A-owned pipeline · OCR for image · PDF parse for pdf",
        "summary":"AI generates per-file summary at T5 · always requires_human_review=true",
        "faithfulness_floor": 0.70
      },
      "validation_rules": [
        "Every uploaded file enters at T5 per source_taxonomy hard_rule",
        "Files containing PII detected (email/phone/national_id pattern) → warning shown · user chooses redact or cancel upload",
        "Uploaded files are tied to the user's personal bundle only · never enter any tenant KB · never promote above T5 without explicit review step"
      ],
      "related_truth_nodes": ["tt-ai-pending","tt-intake-authority-rules"],
      "related_lexicon": ["lex-authority-tier-t5","lex-ai-provenance"],
      "related_journeys": [],
      "related_services": [],
      "related_dashboards": [],
      "required_review": "peer-if-summary-enabled",
      "honest_note_th": "ไฟล์ที่อัปโหลดเข้า T5 ทุกกรณี · summary ที่ AI สร้างต้องถูก review ก่อนออกจาก wizard · ไม่สร้าง tenant · ไม่ publish",
      "honest_note_en": "Every uploaded file enters T5 · any AI summary must be reviewed before leaving the wizard · no tenant created · no publish"
    },
    {
      "id": "step-8-review-confirm",
      "order": 8,
      "label_th": "ทบทวน + ยืนยัน",
      "label_en": "Review + confirm",
      "label_zh": "审核 + 确认",
      "purpose_th": "แสดง snapshot ของทุก step + flag ที่ยังค้าง · ต้องผ่านทุก sensitive-flag ก่อน finalize",
      "purpose_en": "Show a full snapshot of every step + any pending flags · sensitive flags must clear before finalize",
      "purpose_zh": "显示所有步骤的完整快照 + 任何待处理标志 · 必须清除所有敏感标志才能完成",
      "fields": [
        {"id":"confirm_accuracy","type":"boolean","required":true},
        {"id":"acknowledge_ai_draft_review","type":"boolean","required":true,"description_th":"ผู้ใช้รับทราบว่า AI suggestion ทั้งหมดต้องถูก review ก่อนมีผล","description_en":"User acknowledges every AI suggestion is reviewed before taking effect"},
        {"id":"acknowledge_not_published","type":"boolean","required":true,"description_th":"ผู้ใช้รับทราบว่า output เป็น personal view bundle · ไม่ publish ไปที่ไหน","description_en":"User acknowledges output is a personal view bundle · nothing publishes anywhere"}
      ],
      "validation_rules": [
        "All three booleans must be true to finalize",
        "Any sensitive-flag from earlier steps must clear (sensitive-dual review complete) before finalize",
        "Finalize produces a bundle object with id wizard-bundle-<userId>-<timestamp>"
      ],
      "related_truth_nodes": [],
      "related_lexicon": ["lex-governance-complete","lex-honest-note"],
      "related_journeys": [],
      "related_services": [],
      "related_dashboards": [],
      "required_review": "drafter",
      "honest_note_th": "step สุดท้าย · ถ้า sensitive-flag ยังค้าง · ปุ่ม finalize ไม่ active · wizard จะ pause จนกว่าจะ clear",
      "honest_note_en": "Final step · while any sensitive flag is unresolved the finalize button stays inactive · wizard pauses until cleared"
    }
  ],
  "approval_gates": [
    {"id":"gate-sensitive","when":"any step flags sensitive-surface (PDPA · biometric · financial · emotional · legal)","action":"route to sensitive-dual review queue","sla":"review within 24h","ref":"CR-007 · CR-009 precedent"},
    {"id":"gate-ai-faithfulness","when":"any AI-assisted output scores faithfulness < 0.70 on first pass","action":"regenerate once","then":"if still <0.70 · decline + surface official source","ref":"DOC-007 §7 · CLAUDE.md Layer F"},
    {"id":"gate-upload-pii","when":"uploaded file contains PII pattern","action":"warn + offer redact · block persist if user does not redact","ref":"CLAUDE.md PDPA rules"},
    {"id":"gate-finalize","when":"user attempts finalize with any pending flag","action":"block · list unresolved flags","ref":"step-8 validation_rules"}
  ],
  "output_bundle_shape": {
    "id_pattern":"wizard-bundle-<userId>-<yyyymmdd-hhmm>",
    "fields":[
      "wizard_version (schema_version of this file at run-time)",
      "user_id (hashed at persistence)",
      "completed_steps (ids of steps completed)",
      "persona_match (id + confidence)",
      "selected_services (array SVC-*)",
      "selected_proposed_services (array SVC-* T5 + visible 'proposed' flag)",
      "preferred_dashboards (array db-*)",
      "preferred_time_modes (array)",
      "personal_dashboard_preset (dashboard_ids · filters · sort · time_mode · visible_cards)",
      "pain_pattern_matches (array of 12D friction ids · each with confidence + requires_human_review flag)",
      "uploaded_file_refs (array · tier=T5 · never promoted by this bundle)",
      "sensitive_flags_resolved (array · each flag + resolver + timestamp)",
      "honest_note"
    ],
    "not_allowed":[
      "creating a tenant",
      "registering a service in services.json",
      "publishing to any public KB surface",
      "auto-promoting any T5 content above T5",
      "sharing the bundle with other users (explicit separate share action required · A-owned · out of scope for 12F)"
    ]
  },
  "trilingual_policy": {
    "rule":"Every step label · purpose · field label · honest_note exists in TH + EN + ZH on the user-facing surface. Internal ids stay English.",
    "fallback":"If ZH is missing for a specific field description · apply case_portal.languages.auto_translate_policy: AI auto-translates · flagged requires_human_review=true · not merged until approved"
  },
  "phase_linkage": {
    "12A_truth_tree":"tt-concept · tt-system-services · tt-intake-authority-rules · tt-ai-pending",
    "12B_lexicon":"lex-together-premium · lex-service · lex-hydration · lex-authority-tier-t5 · lex-ai-provenance · lex-snapshot",
    "12C_nerve":"view-intake-wizard-overlay · mm-ai-provenance",
    "12D_journeys":"all 7 personas + touchpoints + frictions · read-only",
    "12D_atlas":"atlas.json actors · actor-entry for operator clusters",
    "12E_dashboard":"Personal Dashboard preset contract · Related-Card cross-filter · 17 db-*",
    "12E_time":"17 time_modes · 4 view_modes",
    "12E_cases":"sensitive_surface flag cross-ref case_schema.sensitive_surface_flag"
  },
  "notes_to_session_a": [
    "This is a contract. A implements interactive form + auth + storage + file pipeline + AI engine calls.",
    "Wizard output (bundle object) belongs in a new A-owned table keyed by hashed user_id. Bundle retention + user-deletion path is A-owned PDPA work.",
    "When 'proposed T5 services' are shown · A must badge them clearly so a premium user does not think the service is live.",
    "Telemetry for completion rate · step abandonment · AI accept rate belongs in A-owned analytics stack.",
    "No tenant creation path runs through this wizard · tenant creation lives in SUB-3 Enterprise Upload."
  ],
  "honest_note_th": "Premium Wizard contract เท่านั้น · A เป็นคน implement UI + runtime · ทุก field/label/mapping ในไฟล์นี้ถูกต้องตาม 12A..12E · ไม่มีการสร้าง persona/journey/service ใหม่ · ทุก AI suggestion ต้องผ่าน review · output ไม่เคย publish อัตโนมัติ",
  "honest_note_en": "Premium Wizard contract only · A implements UI + runtime · every field/label/mapping here is grounded in 12A..12E outputs · no new persona/journey/service invented · every AI suggestion gated by review · output never auto-publishes"
}
