ข้ามไปยังเนื้อหา

/land

ผู้อ่าน: Coding agent และผู้ดูแล integration คำสั่ง CLI และ schema ด้านล่างเป็นเอกสารระบบ ไม่ใช่รายการที่ผู้ใช้ต้องทำเอง ผู้ใช้เริ่มที่ เริ่มใช้งาน

พูดง่าย ๆ: Land คือขั้นเดียวที่คุณให้ไฟเขียว และงานที่ prove แล้วย้ายจาก sandbox เข้าโฟลเดอร์จริงของคุณ คุณสั่ง /land (หรือบอกชัดเจนว่าให้ land) harness ตรวจอีกครั้งว่าการอนุมัติและ proof ยังใช้ได้ แล้ว apply ไฟล์ archive ข้อตกลง และ cleanup ผลที่ได้คือ diff ที่ยังไม่ commit: Git HEAD และ index ไม่เปลี่ยน ไม่มีการ commit, push หรือเปิด pull request ให้ตรวจ diff แล้ว commit ตามขั้นตอน Git ปกติของคุณ

จบจริงเมื่อเป็น archived เท่านั้น proven หมายถึงหลักฐานผ่าน ไม่ได้หมายถึงงานเข้าโปรเจกต์แล้ว

/land <change>

Slash command นี้คือ boundary ที่ให้อำนาจ Land อย่างชัดเจน และรัน:

Terminal window
claude-foundation advance <change> --through archived

Coordinator บันทึก proof และ external-operation assurance ปัจจุบัน เตรียม apply transaction ที่กู้คืนได้ apply projection ที่ผู้ใช้อนุญาต ตรวจ identity ของ target archive ผ่าน OpenSpec และ cleanup ทุก writable repository ได้ diff แบบยังไม่ commit โดย HEAD และ index ไม่เปลี่ยน งานจบเมื่อ runtime เป็น archived; proven ยังไม่จบ

Land เป็นด่านบังคับเพียงด่านเดียว จะปฏิเสธเว้นแต่การอนุมัติ spec ยังใช้ได้ change อยู่ที่ proven assurance ผ่าน และ proof ตรงกับ workspace hash ปัจจุบัน ไม่มีการ Land แบบยังไม่ prove หรือแบบยอมรับความเสี่ยง ถ้า proof เก่าแล้ว route advance --through archived เดียวกันจะ prove workspace ปัจจุบันก่อน land advance เป็นเพียง alias ของ route นี้ ถ้า Prove บันทึก path ของ control-plane, CI หรือ secret หรือไฟล์ที่ถูกลบไว้ ผลของ Land จะแสดงเป็น protected paths changed และ paths deleted (เฉพาะ path) ก่อน apply

ถ้า change แก้ package.json หรือ lockfile ที่ root หลัง apply แล้ว Land จะติดตั้ง dependency ในโฟลเดอร์ของคุณด้วยคำสั่งเดียวกับที่ sandbox ใช้ (sandbox.setupCommand หรือคำสั่งของ lockfile เช่น npm ci) คำสั่งของโปรเจกต์จึงหา package ใหม่เจอ ถ้าไม่ต้องการ ให้ตั้ง sandbox.installDependencies: false และไม่ตั้ง setup command การติดตั้งที่ล้ม จะไม่ย้อน Land กลับ ระบบบันทึกผลไว้และแสดงคำสั่งให้รันเอง Repository ลูกของ change แบบหลาย repository จะไม่ถูกติดตั้งให้

ถ้า Apply ชนเฉพาะไฟล์ใน target ที่สร้างซ้ำได้ (เช่น __pycache__/*.pyc) และสะอาดตอน isolate REPAIR ที่คืนมาจะคืนไฟล์เหล่านั้นเป็นค่าจาก base ด้วย advance <change> --through archived --restore-target <paths> ภายใน transaction edit อื่นใน target ที่ชนจะถูกเก็บไว้ ถ้าแก้คนละบรรทัดกับ change harness จะ merge เข้า sandbox copy, Prove ใหม่ แล้วจึง apply ถ้าแก้บรรทัดเดียวกัน agent เป็นผู้ merge การทิ้ง edit ใน target ต้องให้ผู้ใช้ตัดสินใจ และไฟล์ที่ถูกแก้หลังบันทึกจะไม่ถูกเขียนทับ

ขณะที่ diff ที่ Land แล้วยังไม่ commit ผู้ใช้ undo Land ที่ archive แล้วได้ด้วย advance <change> --undo-land --decision-ref <user-decision> harness จะคืนทุก path ที่ Land เขียนเป็น bytes ก่อน Land, retire change และเก็บสิ่งที่ Land ไว้ใต้ .foundation/recovery/land-undone/ ระบบจะปฏิเสธโดยไม่เขียนอะไรถ้า HEAD ขยับ path ที่ Land ถูก stage หรือถูกแก้หลัง Land

Land ทำได้เสมอแม้ change ซ้อนกัน ไม่มีใครต้อง commit change แรกที่ Land แล้วก่อน change ถัดไปจะ Land เมื่อ diff ที่ change ก่อนหน้า Land ไว้และยังไม่ commit แตะไฟล์ ที่ change นี้แก้ด้วย harness จะ merge edit ที่ Land แล้วเข้า sandbox copy ของ change นี้ Prove ใหม่เฉพาะส่วนที่ merge ทำให้หมดอายุ แล้วจึง apply ถ้าทั้งสองแก้บรรทัด เดียวกัน agent จะ merge ใน sandbox copy โดยเก็บเนื้อหาที่ Land แล้วไว้ ระบบไม่เสนอให้ ทิ้ง bytes ที่ Land ไปก่อน และถามผู้ใช้เฉพาะเมื่อ intent ของสอง change ขัดกันจริง

มีเพียง recoverable Land transaction ของ harness ที่ apply product และ sync agreement ได้ Agent ไม่แก้ไฟล์เหล่านั้นนอก transaction และ Land ไม่ให้อำนาจ commit, push, publish หรือเปิด PR ระหว่างที่ Land ยัง active phase guard จะปฏิเสธ คำสั่ง shell เหล่านี้ เว้นแต่เป็น child ของ runtime transaction ที่มี marker หลัง archive แล้ว commit, push และ PR เกิดได้เฉพาะผ่าน /deliver (คำขอตรง ๆ อย่าง “เปิด PR ให้เลย” ก็นับ) หรือคำสั่งตรงของคุณ follow-up จาก review ที่อ้าง URL ของ PR ที่ deliver แล้วจะอัปเดต PR เดิมแทนการเปิดใหม่ Base ที่ขยับ conflict, transaction ที่ค้าง, external owner ที่ยังใช้ไม่ได้, child repository หรือ pre-Land handoff ที่ยังไม่เสร็จจะหยุดด้วย WAIT, REPAIR, RUN_EXTERNAL หรือ ASK_USER พร้อมสาเหตุ actor ทางเลือกปลอดภัย state ที่เก็บไว้ และ resume route ที่แน่นอน

Declaration ที่เป็น post-land และ safe-before-activation ไม่ต้องมีผู้เซ็นรับ ก่อน Land และยังค้นเจอเป็น operational obligation หลัง archive การ archive ยืนยันการส่งมอบ code แต่ไม่ได้อ้างว่า deploy, activate หรือตรวจ production เสร็จแล้ว

Automatic recovery ที่ปลอดภัย รวมทั้ง host-permission integration และ journal resume ทำได้ภายในอำนาจปัจจุบัน ส่วน external delivery record และ legacy transaction diagnostic ยังอยู่เป็น primitive ขั้นสูงใต้ help --all แต่ไม่ใช่ ขั้นที่ user ต้องทำ Change ที่ archive แล้วจะคืน DONE สำเร็จ

Metrics รักษาค่าที่ไม่รู้ไว้ ถ้า host รายงาน usage ไม่ได้ cost เป็น null แทนที่จะ กลายเป็นศูนย์ที่ทำให้เข้าใจผิด