ترمینال
ترمینال واقعی در فضای کار، و شل پایدار که ایجنت میتواند براند — با sandbox و پرسش مجوز.
ایبان جعبهٔ گفتگو با پیشنمایش قلابی فرمان نیست. فضای کار ترمینال یکپارچه دارد. ابزار Shell ایجنت از نشست پایدار (ConPTY در ویندوز، PTY یونیکس در جاهای دیگر) استفاده میکند تا cd، محیط و کار طولانی بین فراخوانها بماند. Await منتظر آن کارها میماند.
چرا فروخته میشود
ایجنتی که نتواند تست، فرمتر یا git را اجرا کند در «کد پیشنهادی» میماند. شل PTY حلقه را روی ماشین شما میبندد.
کنترل
سطح sandbox خاموش / نرم / محدود اعمال میشود. Ask / Allow safe / Allow all همچنان فرمان را دروازهبانی میکنند. Plan و Ask به ایجنت اجازه نمیدهند از شل محصول را عوض کند.
حد
این rlimit / job object سطح سیستمعامل است — نه AppContainer یا landlock. Restricted کمربند ایمنی است، نه زندان چندمستأجره.
CLI بدون رابط از همان باینری دسکتاپ میتواند ترمینال و ایجنت را براند.
41 def charge(order, wallet): 42 tax = order.subtotal * 0.09 43 total = order.subtotal + tax 44 if wallet.balance < total: 45 raise InsufficientFunds(total) 46 wallet.debit(total) 47 return Receipt(order.id, total)
مالیات منطقهای را از نرخ ثابت جدا کن و قبل از debit موجودی را درست چک کن.
۶ فایل خوانده شد · ۲ جستجو · ۱ تست
charge هنوز ۰٫۰۹ را سخت گذاشته. tax_for(region) هست. can_cover را به کیف وصل میکنم.
پچ ۱۲ خطی روی دو فایل. دیف را ببینید.
قبل از دستزدن به checkout، رویکرد مالیات چندمنطقهای را بنویس.
Plan · شل و ویرایش محصول محدود است
اول قرارداد tax_for را ثابت میکنم، بعد charge را عوض میکنم، بعد test_charge.
برنامه آماده است. وقتی تأیید کردید به Agent برمیگردم.
charge از کجا مالیات میگیرد و کدام تست آن را قفل کرده؟
Ask · فقط خواندن
نرخ در checkout.py:42 است. test_charge همان ۰٫۰۹ را assert میکند.
چیزی نوشته نشد.
InsufficientFunds برای سفارش معاف از مالیات هم بالا میآید. اول شواهد.
Debug · بازتولید قبل از فیکس
شکست وقتی region معاف است و wallet.can_cover هنوز نرخ ثابت را میبیند.
رد شکست آماده است. اصلاح را بعد از تأیید مینویسم.
- tax = order.subtotal * 0.09 + tax = order.tax_for(region) - if wallet.balance < total: + if not wallet.can_cover(total, region): wallet.debit(total)