Sale POC /Guide
build-time AI · runtime deterministic 🔒A
How it works

Flow การทำงาน 3 หน้าจอ

Golden Rule: AI สร้าง/แก้ ระบบ (build-time) เท่านั้น — AI ไม่เคยคำนวณเงิน. ตัวเลขทุกตัวมาจาก SQL ที่ผ่านการรีวิว รันแบบ deterministic ตรวจย้อนได้ (rule_id + breakdown).

[1] Datasets        [2] Skill Studio                [3] Run / Reports
อัปโหลดไฟล์    →   อธิบายกฎ → AI ร่าง skill+SQL  →   พิมพ์คำขอ → AI เลือก skill
infer schema       → คนตรวจ → Test → Deploy          → ยืนยัน → รัน SQL + เก็บรายงาน
   (data)           (AI assist · human gate)            (deterministic 🔒)
หน้าจอAI ทำอะไรคนทำอะไรระบบรันอะไร
Datasetsinfer ชนิดคอลัมน์อัปโหลดไฟล์สร้างตาราง + ingest
Skill Studioร่าง skill.md + SQLตรวจ / แก้ / อนุมัติTest SQL
Run / Reportsเลือก skill + เติม paramยืนยันรัน SQL ที่ deploy แล้ว

1 · Datasets /datasets

อัปโหลด .xlsx / .csv → ระบบ infer schema อัตโนมัติ → สร้างตารางใน DB ให้ AI เอาไปสร้าง skill ได้ (optional — มี built-in poc_model ให้อยู่แล้ว)

Flow
ลากไฟล์มาวาง / คลิกเลือก
        │
        ▼   POST /api/upload (multipart)
   • SheetJS อ่านทุก sheet  (1 sheet = 1 ตาราง)
   • infer ชนิดคอลัมน์: numeric / date / text
   • CREATE TABLE poc_sale.ds_<sheet> + ingest แถว
   • ลงทะเบียนใน poc_sale.uploaded_dataset
        │
        ▼
แสดงผล: ชื่อตาราง + column chips + รายการ datasets
วิธีใช้
  1. คลิก dropzone (เส้นประ) เลือกไฟล์ — เลือกปุ๊บ อัปโหลดอัตโนมัติ
  2. รอ ingest เสร็จ → เห็นตาราง + คอลัมน์ที่ infer ได้
  3. ตารางใหม่ไปโผล่ใน dropdown ของ Skill Studio (STEP 1)
States
Empty · ยังไม่มี dataset → dropzone ใหญ่Uploading · spinner กำลัง ingestError · ไฟล์ผิด → กล่องแดง + ลองใหม่Library · การ์ดรายตาราง + column chips
ข้อจำกัด: ≤ 10MB / 5,000 แถวต่อ sheet · ชนิด: numeric / date / text
API · GET /api/datasets · POST /api/upload

2 · Skill Studio /studio

เปลี่ยน "กฎภาษาคน" → skill (spec skill.md + SQL ที่รันได้) ผ่าน AI → คนรีวิว → Test → Deploy. เก็บใน poc_model.skill (รอด restart).

Status lifecycle:drafttested ✓🔒 live
Flow A · สร้าง skill ใหม่ (+ Add skill)
+ Add skill
   │
   ▼  STEP 1  เลือกชุดข้อมูล (Built-in poc_model | ds_* ที่อัปโหลด)
      STEP 2  อธิบายกฎเป็นภาษาคน
   │
   ▼  ✨ Generate         POST /api/generate
   AI (gpt-oss-120b) ร่าง: title + SQL (แก้ได้) + skill.md   ← draft
   │
   ▼  💾 บันทึกเป็น draft  POST /api/skills {op:"save"}
   เก็บลง poc_model.skill (status=draft) → เปิด View ต่อ
Flow B · รีวิว / ทดสอบ / อนุมัติ (ดู)
ดู (แถวใดก็ได้)
   │  เห็น SQL + skill.md + meta
   │
   ├─ ▶ Test against sample data   POST /api/run {sql, period}
   │      รัน SQL จริงบน DB (deterministic) · ผ่าน+draft → "tested"
   │
   └─ 🔒 Approve & Deploy          POST /api/deploy
          status → "deployed" (live) → ใช้ใน Run/Reports ได้
วิธีใช้
  1. + Add skill → เลือกข้อมูล → พิมพ์กฎ → Generate
  2. ตรวจ SQL ที่ AI ร่าง (แก้ได้) → บันทึกเป็น draft
  3. ในหน้า ดู กด Test (ใส่ period; built-in = 2026-06)
  4. ถูกต้อง → Approve & Deploy → skill กลายเป็น live
⚠️AI gen SQL แปรผลทุกครั้ง — ด่าน review ก่อน deploy คือตัวกันพลาด · ข้อมูล built-in เป็น period 2026-06 (เทสต์ด้วย 2026-01 = 0 แถว)
API · GET /api/skills · POST /api/generate · POST /api/skills (save/status) · POST /api/run · POST /api/deploy

3 · Run / Reports /run

ผู้ใช้พิมพ์คำขอ → AI router เลือก skill ที่ deploy แล้ว + เติม param → คนยืนยัน → ระบบรัน SQL → เก็บเป็นรายงาน (poc_model.report_run). AI ทำแค่ เลือก + เติม param — ไม่บวกเลขเอง.

Flow A · รันรายงานใหม่ (+ New report)
+ New report
   │
   ▼  พิมพ์คำขอ  เช่น "คำนวณค่าคอม port-in 2026-06"
   ▼  หา skill ที่ตรงกัน →   POST /api/route   (router llama-3.1-8b)
   AI เลือก skill + period + confidence + เหตุผล   ← ไม่แตะเงิน
   │
   ▼  ✅ ยืนยัน & รัน        POST /api/run {skillId, params}
   รัน SQL ที่รีวิวแล้วแบบ deterministic 🔒
   │
   ▼  ผลโชว์ + auto-save     POST /api/runs → report_run
Flow B · ดูผลย้อนหลัง (ดูผล)

กด ดูผล ที่แถวประวัติ → popup: stat cards (Total / Rows / Runtime) + ตารางผล + breakdown trace ราย row + 🔒 executed SQL (audit). รันซ้ำได้ผลเดิมเสมอ.

วิธีใช้
  1. + New report → พิมพ์คำขอ → หา skill ที่ตรงกัน
  2. เช็คว่า AI เลือกถูก + แก้ period ได้ (built-in 2026-06) → ยืนยัน & รัน
  3. เห็นผล + บันทึกเป็นรายงานอัตโนมัติ → กด ดูผล ดูซ้ำได้
🔒ทุกตัวเลขตรวจย้อนได้ — SQL ที่รีวิว + rule_id + breakdown. router ไม่มั่นใจ → ไม่เดา (บอก "ไม่พบ skill ที่ตรง")
API · GET /api/runs · POST /api/route · POST /api/run · POST /api/runs

ความสัมพันธ์ 3 หน้า + ข้อมูล

Datasets ──(ตาราง ds_*)──► Skill Studio ──(skill live)──► Run / Reports
 อัปข้อมูล                 สร้าง+อนุมัติ skill              เรียกใช้ + ออกรายงาน
  • poc_model — โครง KIRO blueprint (agent · team · organization tree · target · sales_transaction · commission_rule) + skill + report_run · sample = 2026-06
  • poc_sale — ข้อมูล telco จาก Dataset.xlsx + ตาราง ds_* ที่อัปโหลด (3 seed skills เดิมยิงที่นี่)