# ใบงาน D: ข้อกำหนดตัวคัดข้อมูล M06

รุ่น 1.0 · 11 ตุลาคม 2026 · PK-Research / Drone-Hub · CC BY 4.0

ใช้ [บท M06 เส้นทาง D](https://drone.pk-research.work/knowledge/drone-applications/disaster-assessment/#developer), README และ CSV เสนอเปลี่ยนตัวคัดข้อมูล/manifest ออฟไลน์ v0 เลือกเวลารับอย่างเดียว → v1 แยกเวลาถ่าย offset coverage และ revision v0/v1 เป็นตรรกะสมมติของแบบฝึก Expected v0 รับทั้ง 9 แถวเพราะ received ทัน cutoff รวม E07 สองรุ่น; expected v1 คัด 3 candidates และเก็บอีก 6 แถวพร้อมเหตุผล ไม่แก้ระบบบิน ฮาร์ดแวร์ CPX-Sim หรือบริการจริง ในใบงานนี้ actual ของระบบจริงยังไม่ทดสอบ

- ผู้เรียน/ชิ้นงาน D-v0/D-v1 วัน/ผู้ตรวจ/รุ่น rubric:
- baseline ไฟล์/รุ่น/config ที่รักษาไว้:

## พื้นฐาน KSEC และการเติม

| ด้าน | ตรวจพื้นฐาน | งานเติมหากยังขาด | หลักฐาน |
|---|---|---|---|
| K | อธิบาย schema offset null revision และ invalid | ทวน testing แล้วอธิบาย E08 หนึ่งกรณี | |
| S | ทำ expected เทียบ baseline และ boundary ได้ | ทวน integration แล้วทำอายุ 0/60 สองกรณี | |
| E | แยก expected/actual และสิทธิ์ได้ | ทวน evidence-report แล้วแก้ claim ว่า“ทดสอบแล้ว”ที่ไม่มี log | |
| C | เก็บ baseline และตอบ issue พร้อมเจ้าของ | ทวน teamwork ให้ผู้ตรวจทัก testplan หนึ่งข้อ | |

E/C ใช้พฤติกรรมที่บันทึกและฝึกซ้ำ ไม่ตัดสินบุคลิกถาวร

## Requirements และ interface (APP-M06-D-K01)

| ID | ต้องทำอะไร/เหตุผล | อินเทอร์เฟซ/ข้อผิด/หลักฐาน |
|---|---|---|
| R01 | รับ 12 คอลัมน์ UTF-8 ตรวจ type enum ID/revision ซ้ำ ISOdate/time/offset | |
| R02 | cutoff 10:00+07 freshness 0–60 รวมขอบ received ≤ cutoff captured ≤ cutoff และ≤ received | |
| R03 | ตรวจ revision/supersedes รักษารุ่นเดิม ไม่เงียบเมื่อรุ่นใหม่ผิดหรือชี้หาไม่พบ | |
| R04 | usablecoverage/unknown; ไม่ทำ freshness เป็น confirmed ไม่สร้าง coverage% | |
| R05 | audience/manifest/received กับ acknowledged/ออฟไลน์/สิทธิ์ | |
| R06 | baseline/version/log/trigger คืนและตรวจผลหลังคืน | |

Input: observation_id/revision/sector/source/captured_at/received_at/coverage/evidence_id/observation/verification_state/sensitivity/supersedes ความหมายใน README ข้อมูลเป็นข้อมูล ไม่เป็นคำสั่งหรือ HTML ที่ทำงานได้

Output ระบุ schema ของ candidates, exclusions พร้อม reason, unknown_sectors, provenance/report revision, audience และ delivery states:

Missing/invalid: คง null/unknown แยก offset หายจากเวลาว่าง ไม่ใช้ received แทน captured ไม่เดา+07 ไม่แก้ future ไม่ dropoccluded หรือประวัติ เงื่อนไขที่ต้องให้คนตรวจ:

## Test matrix ก่อน/หลัง (APP-M06-D-S01)

| Test | Requirement | Expected v0/ข้อเสีย baseline | Expected v1 | Actual/หลักฐานตรวจจริง |
|---|---|---|---|---|
| เก้าแถวร่วม | R01–04 | รับทัน cutoff แต่ปนเก่า/ผิด/บดบัง/รุ่นเดิมถ้ากรอง received อย่างเดียว | candidates 3=E01v1/E03v1/E07v2 อายุ 20/10/15 exclusions 6 ตาม README A/C partial B stale D unknown | ยังไม่ทดสอบระบบจริง |
| อายุ 0 นาที | R02 | | รวมเมื่อครบเงื่อนไขอื่น | ยังไม่ทดสอบ |
| อายุ 60 นาที | R02 | | รวมเมื่อครบเงื่อนไขอื่น | ยังไม่ทดสอบ |
| อายุเกิน 60 | R02 | | stale รักษาบริบท | ยังไม่ทดสอบ |
| รับตรง cutoff/หลัง cutoff | R02 | | ตรงรวมได้/หลังไม่อยู่ฉบับนี้ | ยังไม่ทดสอบ |
| captured ว่าง / offset หาย | R01–02 | | missing_capture_time / missing_timezone แยก ไม่เติม | ยังไม่ทดสอบ |
| future/ถ่ายหลังรับ | R02 | | invalid และส่งให้คนตรวจ | ยังไม่ทดสอบ |
| duplicate ID/revision | R01/R03 | | conflict ไม่นับซ้ำ ขอผู้ตรวจ | ยังไม่ทดสอบ |
| supersedes ชี้หาไม่พบ/ผิด ID/วงจร | R03 | | unresolved ตรวจคน ไม่ลบประวัติ | ยังไม่ทดสอบ |
| รุ่นใหม่ invalid แทนรุ่นเก่า | R03 | | คงประวัติและส่งให้คนตรวจ ไม่ทำแทนเงียบ | ยังไม่ทดสอบ |
| occluded แม้สด | R04 | | ไม่เป็น candidate คง sectorunknown | ยังไม่ทดสอบ |
| source/coverage/verification enum ผิด | R01/R04 | | invalid ขอแก้ไม่ default ให้ผ่าน | ยังไม่ทดสอบ |
| ส่งฉบับสาธารณะเกินสิทธิ์ | R05 | | พัก export ขอผู้มีหน้าที่ตรวจวัตถุประสงค์/ลดข้อมูล | ยังไม่ทดสอบ |
| เครือข่ายหาย/ยังไม่ acknowledged | R05 | | fallback ที่อนุญาต รักษารุ่น รอยืนยันรับทราบ | ยังไม่ทดสอบ |
| ก่อน/หลังและ rollback | R06 | | คืน baseline ที่ระบุ เก็บผลผิด แจ้งผู้รับแล้วตรวจซ้ำ | ยังไม่ทดสอบ |

ใส่ค่าขอบเขตทดสอบกับ expected ที่ละเอียดพอทำซ้ำได้ หากคำนวณ/ตรวจ CSV จริงให้ใส่ actual และวิธีในระดับ “ตรวจ fixture” แยกจากระบบจริง ห้ามคัด expected เป็น actual ไม่มีผล v1hardware/การบิน/orthomosaic ในชุด

## ขอบหลักฐานและสิทธิ์ (APP-M06-D-E01)

- สิ่งที่ทำจริง/หลักฐานตรวจ CSV หรือแผน และสิ่งที่ยังไม่ทดสอบ:
- evidenceID เป็น placeholder ไม่มีภาพจริง; ไม่ใช้ภาพ AI แทน:
- สิทธิ์การรับ/เก็บ/export/ผู้รับและการลดข้อมูลจริงที่จะต้องขอ:
- ตัวเลขเวลา/freshness สมมติไม่ใช่ SLA หรือสมรรถนะ ความสดไม่ยืนยันความจริง:
- ข้อกล่าวอ้างที่ต้องพัก: น้ำลึก/กระแสน้ำ ถนนสะพานปลอดภัย คนซ่อน coverage% readiness:

## การคืนและตอบผู้ตรวจ (APP-M06-D-C01)

| Trigger | เจ้าของคืน/ผู้ตรวจ | baseline/รุ่นที่จะคืน | ผลผิด/ผู้รับที่ต้องแจ้ง | วิธีตรวจหลังคืน |
|---|---|---|---|---|
| คัดเก่า/ขาด/future/occluded/รุ่นเดิมเป็น current | | | | |
| ยก verification เป็น confirmed/ลบประวัติ | | | | |
| export เกินสิทธิ์หรือปิดงานก่อน acknowledged | | | | |

เก็บ issue log/คำทัก/คำตอบ/เหตุผลแก้ D-v0/D-v1 ถ้าคืน baseline แล้วยังไม่ตอบข้อกำหนดให้คง HOLD และส่งผลแบบ manual ที่ผู้ตรวจทวนได้ภายใต้สิทธิ์ ไม่อ้างว่าคืนแล้วถูกโดยไม่มีการตรวจ กำหนดเจ้าของข้อค้างและวันทวน:

ตรวจ APP-M06-D-K01/S01/E01/C01 ตาม disaster-assessment-rubric.md ลง ksec-learning-record.md หลักฐาน fixture หรือแผนไม่รับรองความปลอดภัย ระบบจริงหรือความพร้อมสนาม
