{
  "schema_version": "1.0",
  "baseline": "V4",
  "updated_at": "2026-04-22",
  "owner_session": "B",
  "phase": "Phase 12F — Claude Output Checklist (B-owned contract)",
  "purpose_th": "Checklist คู่กับ generated_assets.json · บอกว่าแต่ละ phase 'ควรผลิตอะไร' และ 'ทำสำเร็จแล้วกี่ %' · ใช้เป็น post-generation recovery map ถ้า session หาย",
  "purpose_en": "Checklist companion to generated_assets.json · declares what each phase should produce and how much is done · usable as a post-generation recovery map if a session is lost",
  "hard_rules": [
    "Checklist items mirror the phase's stated deliverables · do not invent new items",
    "'done' status only when the actual file exists in the repo",
    "'partially-done' when file exists but scope is smaller than declared",
    "'pending' when file does not yet exist",
    "Every item references the phase · target_path · expected_state"
  ],
  "checklists": [
    {
      "phase":"Phase 12A",
      "name_en":"Checklist Navigator + Source-of-Truth Tree",
      "items":[
        {"id":"12a-truth-tree-json","target_path":"docs/kb/data/truth_tree.json","status":"done"},
        {"id":"12a-source-taxonomy-json","target_path":"docs/kb/data/source_taxonomy.json","status":"done"},
        {"id":"12a-checklist-navigator-json","target_path":"docs/kb/data/checklist_navigator.json","status":"done"},
        {"id":"12a-checklist-flows-json","target_path":"docs/kb/data/checklist_flows.json","status":"done"},
        {"id":"12a-update-impact-map-json","target_path":"docs/kb/data/update_impact_map.json","status":"done"},
        {"id":"12a-truth-tree-page","target_path":"docs/kb/truth-tree.html","status":"done"},
        {"id":"12a-checklist-page","target_path":"docs/kb/checklist.html","status":"done"}
      ]
    },
    {
      "phase":"Phase 12B",
      "name_en":"Glossary + Lexicon",
      "items":[
        {"id":"12b-lexicon-json","target_path":"docs/kb/data/lexicon.json","status":"done"},
        {"id":"12b-lexicon-taxonomy-json","target_path":"docs/kb/data/lexicon_taxonomy.json","status":"done"},
        {"id":"12b-lexicon-relations-json","target_path":"docs/kb/data/lexicon_relations.json","status":"done"},
        {"id":"12b-lexicon-disambiguation-json","target_path":"docs/kb/data/lexicon_disambiguation.json","status":"done"},
        {"id":"12b-lexicon-page","target_path":"docs/kb/lexicon.html","status":"done"}
      ]
    },
    {
      "phase":"Phase 12C",
      "name_en":"Mindmap + Digital Nerve Center",
      "items":[
        {"id":"12c-nerve-center-model-json","target_path":"docs/kb/data/nerve_center_model.json","status":"done"},
        {"id":"12c-mindmap-json","target_path":"docs/kb/data/mindmap.json","status":"done"},
        {"id":"12c-nerve-center-views-json","target_path":"docs/kb/data/nerve_center_views.json","status":"done"},
        {"id":"12c-nerve-topology-json","target_path":"docs/kb/data/nerve_topology.json","status":"done"},
        {"id":"12c-nerve-center-page","target_path":"docs/kb/nerve-center.html","status":"done"}
      ]
    },
    {
      "phase":"Phase 12D + 12D.1",
      "name_en":"Human Understanding Atlas + Journey Universe",
      "items":[
        {"id":"12d-journeys-json","target_path":"docs/kb/data/journeys.json","status":"done"},
        {"id":"12d-city-health-contract-json","target_path":"docs/kb/data/city_health_contract.json","status":"done"},
        {"id":"12d-atlas-json","target_path":"docs/kb/data/atlas.json","status":"done"},
        {"id":"12d-living-city-json","target_path":"docs/kb/data/living_city.json","status":"done"},
        {"id":"12d-atlas-relations-json","target_path":"docs/kb/data/atlas_relations.json","status":"done"},
        {"id":"12d-atlas-page","target_path":"docs/kb/atlas.html","status":"done"},
        {"id":"12d-city-health-page","target_path":"docs/kb/city-health.html","status":"done"},
        {"id":"12d-living-city-page","target_path":"docs/kb/living-city.html","status":"done"}
      ]
    },
    {
      "phase":"Phase 12E + 12E.1",
      "name_en":"Dashboard Intelligence & Monitoring Layer",
      "items":[
        {"id":"12e-dashboard-contract-json","target_path":"docs/kb/data/dashboard_contract.json","status":"done"},
        {"id":"12e-time-intelligence-json","target_path":"docs/kb/data/time_intelligence.json","status":"done"},
        {"id":"12e-snapshot-model-json","target_path":"docs/kb/data/snapshot_model.json","status":"done"},
        {"id":"12e-alerting-model-json","target_path":"docs/kb/data/alerting_model.json","status":"done"},
        {"id":"12e-sla-model-json","target_path":"docs/kb/data/sla_model.json","status":"done"},
        {"id":"12e-spatial-intelligence-json","target_path":"docs/kb/data/spatial_intelligence.json","status":"done"},
        {"id":"12e-behavioral-intelligence-json","target_path":"docs/kb/data/behavioral_intelligence.json","status":"done"},
        {"id":"12e-segment-intelligence-json","target_path":"docs/kb/data/segment_intelligence.json","status":"done"},
        {"id":"12e-ai-issue-analytics-json","target_path":"docs/kb/data/ai_issue_analytics.json","status":"done"},
        {"id":"12e-case-schema-json","target_path":"docs/kb/data/case_schema.json","status":"done"},
        {"id":"12e-case-portal-json","target_path":"docs/kb/data/case_portal.json","status":"done"},
        {"id":"12e-case-mapping-model-json","target_path":"docs/kb/data/case_mapping_model.json","status":"done"},
        {"id":"12e-dashboard-page","target_path":"docs/kb/dashboard.html","status":"done"},
        {"id":"12e-cases-page","target_path":"docs/kb/cases.html","status":"done"},
        {"id":"12e-case-portal-page","target_path":"docs/kb/case-portal.html","status":"done"}
      ]
    },
    {
      "phase":"Phase 12F",
      "name_en":"Generation / Customization Support (current)",
      "items":[
        {"id":"12f-premium-wizard-json","target_path":"docs/kb/data/premium_wizard.json","status":"done"},
        {"id":"12f-enterprise-intake-json","target_path":"docs/kb/data/enterprise_intake.json","status":"done"},
        {"id":"12f-hybrid-intake-workspace-json","target_path":"docs/kb/data/hybrid_intake_workspace.json","status":"done"},
        {"id":"12f-generated-assets-json","target_path":"docs/kb/data/generated_assets.json","status":"done"},
        {"id":"12f-generated-assets-checklist-json","target_path":"docs/kb/data/generated_assets_checklist.json","status":"done"},
        {"id":"12f-multi-source-intake-json","target_path":"docs/kb/data/multi_source_intake.json","status":"done"},
        {"id":"12f-source-mapping-engine-json","target_path":"docs/kb/data/source_mapping_engine.json","status":"done"},
        {"id":"12f-tenant-scope-json","target_path":"docs/kb/data/tenant_scope.json","status":"done"},
        {"id":"12f-publish-workflow-json","target_path":"docs/kb/data/publish_workflow.json","status":"done"},
        {"id":"12f-approval-matrix-json","target_path":"docs/kb/data/approval_matrix.json","status":"done"},
        {"id":"12f-session-a-handoff-json","target_path":"docs/kb/data/session_a_handoff.json","status":"done"},
        {"id":"12f-wizard-page","target_path":"docs/kb/wizard.html","status":"done"},
        {"id":"12f-generated-page","target_path":"docs/kb/generated.html","status":"done"},
        {"id":"12f-enterprise-upload-page","target_path":"docs/kb/enterprise-upload.html","status":"done"},
        {"id":"12f-intake-workspace-page","target_path":"docs/kb/intake-workspace.html","status":"done"}
      ]
    }
  ],
  "post_generation_recovery_guide": {
    "scenario_th":"ถ้า session หายก่อน commit · ใช้ checklist นี้ย้อน audit ว่าไฟล์ไหนมี/ไม่มี · ไฟล์ไหนสั้นกว่าที่ควร",
    "scenario_en":"If a session is lost before commit · use this checklist to audit which files exist vs missing · which files are thinner than declared",
    "steps":[
      "1. Walk every checklists[].items[] · verify target_path exists on disk",
      "2. If status='done' but file missing → set status='pending' and log recovery task",
      "3. If status='done' but file smaller than declared scope → status='partially-done' and log enrichment task",
      "4. Cross-check against generated_assets.json entries · every entry should have a matching checklist item",
      "5. Run validate.mjs · route smoke (/kb/*.html) · JSON parse check"
    ]
  },
  "phase_completion_view": {
    "12A":{"items_total":7,"items_done":7,"progress_percent":100},
    "12B":{"items_total":5,"items_done":5,"progress_percent":100},
    "12C":{"items_total":5,"items_done":5,"progress_percent":100},
    "12D":{"items_total":8,"items_done":8,"progress_percent":100},
    "12E":{"items_total":15,"items_done":15,"progress_percent":100},
    "12F":{"items_total":15,"items_done":15,"progress_percent":100}
  },
  "deferred_after_12f":[
    "DOC-017 Multi-source Intake canonical-spec authoring (requires CR + DEC gate · deferred past Phase 12 close)",
    "DOC-023 Premium Wizard canonical-spec authoring (deferred past Phase 12 close)",
    "DOC-024 Per-tenant Nerve factory canonical-spec authoring (deferred)",
    "DOC-025 Claude-Code delivery model canonical-spec authoring (deferred)",
    "DOC-026 Generated Assets Navigator canonical-spec authoring (deferred)",
    "A-owned Premium Wizard runtime implementation",
    "A-owned Enterprise Upload runtime implementation",
    "A-owned Generated Assets Navigator review UI implementation",
    "A-owned Intake Workspace runtime implementation",
    "73 → 84 services expansion (Session A channel · services.json + feature-catalog)",
    "Admin Control Plane implementation (Session A)",
    "Device / Layout / Interaction standards documentation (Session A)",
    "App-level Hint System integration (Session A)",
    "Feature flag / registry / runtime hooks for wizard + intake (Session A)"
  ],
  "honest_note_th": "checklist 100% สะท้อน deliverable ที่ 12A..12F ประกาศไว้ · ไม่ใช่ประมาณการ · ทุก item ตรวจได้จาก path · DOC-* canonical specs ถูก defer เพราะกฎห้ามเปิด CR ใหม่ในรอบ 12F · runtime implementation ทั้งหมดเป็น Session A ต่อ",
  "honest_note_en": "Checklist is a 100% reflection of what 12A..12F declared as deliverables · not an estimate · every item is verifiable by path · DOC-* canonical specs are deferred because no new CR can open in this pass · all runtime implementation continues as Session A work"
}
