⚖️ พิสูจน์ว่าการแก้ไขแต่ละรายการที่นำไปใช้แล้วได้ผลจริง โดยอ่านโค้ดแล้วเทียบกับสิ่งที่ harden บันทึกไว้ จากนั้นปิดรายการที่ผ่านให้จบ
วิธีใช้
- ตรวจสอบทั้งหมด
- ระบุ path
- ตามระดับความสำคัญ
/lagune-verify
/lagune-verify src/routes/upload.ts
/lagune-verify เฉพาะระดับวิกฤตและสูง
หลักการทำงาน
คำสั่งนี้อ่านโค้ดทุกจุดที่ harden บันทึกไว้ และยืนยันว่าโค้ดตรงกับที่อ้างไว้จริง การพิสูจน์ก็คือการเทียบนี้ คือเทียบโค้ดกับบันทึก มาตรการควบคุมแต่ละรายการจะได้ผลตัดสินอย่างใดอย่างหนึ่งจาก 3 แบบ:
| ผลตัดสิน | ความหมาย |
|---|---|
| ✅ Risk closed | โค้ดทำตามที่บันทึกอ้างไว้ทุกประการ |
| ❌ Risk not closed | มาตรการควบคุมยังเปิดอยู่ verify จะส่งคุณกลับไปที่ harden |
| ❓ Cannot tell from the code | ดูหลักฐานจากโค้ดอย่างเดียวไม่ได้ |
จากนั้น verify จะปิดความเสี่ยงที่พิสูจน์แล้วว่าปิดได้ออกจากทั้งห่วงโซ่เมื่อคุณยืนยัน ตัวอย่างเช่น:
- การอัปโหลดไฟล์ (ผลตัดสิน: ✅ Risk closed)
- วิธีพิสูจน์: อ่าน handler ของการอัปโหลดแล้วเห็นว่าตรวจชนิดจริงของไฟล์จากเนื้อหา บังคับขนาดสูงสุด และปฏิเสธทุกอย่างที่นอกเหนือจากนั้น ตรงตามที่บันทึกอ้างไว้ทุกประการ
- หลักฐาน: ฟังก์ชัน
handleUploadซึ่งตรวจชนิดจริงของไฟล์จากเนื้อหา
ถ้าความเสี่ยงยังไม่ปิด verify จะบอกตรง ๆ และส่งคุณกลับไปที่ /lagune-harden เพราะการแก้ไขยังเปิดอยู่
- คำสั่งนี้สร้างต่อจากบันทึก hardening ทั้งหมด
- คำสั่งนี้อ่านโค้ดของคุณเพื่อตัดสินเท่านั้น และไม่ลดทอนมาตรการควบคุมหรือเขียนโค้ดใหม่เพื่อให้ผลตัดสินผ่าน
- รันซ้ำเพื่อปรับผลตัดสินให้ตรงกับสภาพปัจจุบัน: ผลตัดสินที่ล้าสมัยจะหายไป และความเสี่ยงที่ไม่ได้ปิดอยู่แล้วจะกลับมาถูกชี้ว่าเป็นปัญหาอีกครั้ง
- เมื่อพิสูจน์ได้ว่าความเสี่ยงปิดแล้ว คำสั่งนี้จะถามคุณหนึ่งครั้ง แล้วลบข้อตรวจพบนั้นออกจากทั้งห่วงโซ่ (detect, plan, harden และการติดตาม)
- คำสั่งนี้ไม่เขียนรายงานของตัวเอง: ผลตัดสินแต่ละรายการอยู่ในบล็อกของมาตรการควบคุมนั้นใน
.lagune/memory/harden.mdซึ่ง harden จะอ่านในการรันครั้งถัดไป
verify สร้างต่อจาก /lagune-harden
รอบการทำงานสิ้นสุด
เมื่อปิดทุกอย่างในขอบเขตแล้ว รอบการทำงานจึงสิ้นสุดลง และจะเปิดใหม่ก็ต่อเมื่อโค้ดเปลี่ยน ความปลอดภัยปิดให้จบได้ เวิร์กโฟลว์จึงมีจุดสิ้นสุด ไม่ใช่วนซ้ำไม่รู้จบ
คำถามที่พบบ่อย
/lagune-verify อ่านโค้ดแล้วเทียบกับสิ่งที่ harden บันทึกไว้ แล้วให้ผลตัดสินอย่างใดอย่างหนึ่งจาก 3 แบบ: Risk closed (ปิดความเสี่ยงแล้ว), Risk not closed (ยังไม่ปิดความเสี่ยง) หรือ Cannot tell from the code (ดูจากโค้ดอย่างเดียวไม่ได้)
เมื่อ verify พิสูจน์ได้ว่าความเสี่ยงปิดแล้ว verify จะปิดข้อตรวจพบนั้น คือลบออกจากทั้งห่วงโซ่เมื่อคุณยืนยัน เพื่อไม่ต้องประมวลผลซ้ำอีก
ได้ SDH ปิดให้จบได้: ข้อตรวจพบที่พิสูจน์แล้วว่าปิดได้จะปิดออกจากห่วงโซ่ เวิร์กโฟลว์จึงมีจุดสิ้นสุด ไม่ใช่วนซ้ำไม่รู้จบ
