/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 หมายถึงหลักฐานผ่าน ไม่ได้หมายถึงงานเข้าโปรเจกต์แล้ว
สำหรับ agent และผู้ดูแล integration
หัวข้อที่มีชื่อว่า “สำหรับ agent และผู้ดูแล integration”/land <change>Slash command นี้คือ boundary ที่ให้อำนาจ Land อย่างชัดเจน และรัน:
claude-foundation advance <change> --through archivedCoordinator บันทึก 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 แทนที่จะ
กลายเป็นศูนย์ที่ทำให้เข้าใจผิด