Keamanan dan keandalan
Linmas 0.8.0 memperkuat batas keamanan alur tinjauan dan rilis:
- Pembatasan sistem berkas, perencanaan penghapusan instalasi, dan pembersihan menjaga kepemilikan serta menolak operasi secara aman, tanpa beralih ke perubahan path leksikal yang tidak aman.
- Paket Proof Chain mengikat setiap temuan pada sumber tervalidasi dan tanda terima keputusan.
- Keputusan tinjauan manusia terikat pada referensi tinjauan dalam proses yang sama dan digest capsule yang tepat, sehingga pemanggil tidak bisa menggantinya dengan hasil lain.
- Kredensial, input tinjauan, keluaran mentah penyedia, dan stderr tetap disamarkan pada batas kesalahan publik.
- Kegagalan penyedia menggunakan klasifikasi eksplisit, termasuk status transmisi dan kemungkinan percobaan ulang.
- Validasi argumen CLI, entrypoint paket, dan isi paket dilakukan secara ketat.
- Persiapan peluncuran Codex terisolasi dan pemeriksaan sistem berkas mempertahankan kontrak keamanan masing-masing platform.
Kontrol ini meningkatkan keandalan dan integritas bukti tanpa menjadikan hasil kebijakan atau respons model sebagai persetujuan otomatis.
Perubahan kontrak permintaan MCP yang memutus kompatibilitas
Alur keputusan tinjauan manusia tidak lagi menerima review_result dari pemanggil. Pada 0.8.0, linmas_review_execute mengembalikan reviewReference terikat yang berisi handle lokal proses dan capsuleDigest SHA-256. Berikan nilai tersebut ke linmas_review_decide sebagai review_handle dan capsule_digest. Referensi harus digunakan oleh proses server MCP yang sama dan digest harus cocok persis.
Sebelum 0.8.0 (hasil diberikan oleh pemanggil):
{
"workspace_root": "/work/linmas-demo",
"review_result": { "schemaVersion": 1, "findings": [] },
"decision": { "disposition": "manual_review_required" }
}
Setelah 0.8.0 (referensi terikat dikembalikan oleh execute, lalu diberikan ke decide):
{
"reviewReference": {
"handle": "demo-review-handle",
"capsuleDigest": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
}
}
{
"workspace_root": "/work/linmas-demo",
"review_handle": "demo-review-handle",
"capsule_digest": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"decision": { "disposition": "manual_review_required" }
}
Handle dan digest di atas hanyalah nilai sintetis yang aman. Pemanggil nyata harus memakai nilai dari panggilan linmas_review_execute miliknya sendiri. Tinjauan manusia, persetujuan transmisi, dan persetujuan penulisan tetap merupakan tahap terpisah.
Kontrak Windows
- Alur deterministik/offline dan CLI tetap didukung di Windows.
- Persiapan peluncuran Codex terisolasi didukung di Windows dengan perlindungan sumber terautentikasi yang sama.
- Penghapusan instalasi dan pembersihan destruktif sengaja ditolak secara aman di Windows.
- Diagnostik yang ditetapkan repository adalah
SAFE_FILESYSTEM_OPERATION_UNAVAILABLE karena Node.js belum menyediakan operasi perubahan relatif terhadap handle yang diperlukan untuk mempertahankan aturan antipenggantian Linmas di platform tersebut.
- Simulasi penghapusan instalasi tetap tersedia tanpa mengubah data.
0.8.0 tidak mengklaim kesetaraan operasi destruktif native Windows. Gunakan lingkungan POSIX yang didukung untuk pembersihan destruktif atau tunggu implementasi native yang ditinjau terpisah; jangan mengganti perlindungan dengan mekanisme berbasis path.
Pembaruan: 0.7.0 ke 0.8.0
Untuk CLI npm:
npm install --global linmas@0.8.0
npx --yes linmas@0.8.0 list
Codex menyimpan sumber marketplace dan ref secara terpisah. Ref bergerak seperti main bisa disegarkan; ref tetap seperti v0.7.0 tidak berpindah saat disegarkan. marketplace upgrade tidak mengubah patokan sumber yang sudah ada, dan marketplace add kedua dengan ref berbeda ditolak sampai sumber lama dihapus. Verifikasi ref terkonfigurasi dan versi plugin yang terpasang sebelum memulai tugas baru.
A. Marketplace yang mengikuti ref bergerak
Jika marketplace mengikuti main atau cabang bergerak lain, segarkan sumber yang sama lalu pasang atau aktifkan kembali plugin:
codex plugin marketplace upgrade linmas
codex plugin add linmas@linmas
codex plugin marketplace list --json
codex plugin list --json
Entri marketplace dalam config.toml Codex harus tetap menunjukkan ref bergerak yang dimaksud, dan daftar plugin harus melaporkan versi rilis terpasang. marketplace upgrade saja tidak memperbarui plugin yang sudah tersimpan dalam cache. Mulai ulang desktop/app-server Codex dan buat tugas baru setelahnya.
B. Marketplace yang dipatok ke v0.7.0
Ketika codex plugin list --json menunjukkan plugin 0.7.0 terpasang dan marketplace dipatok ke v0.7.0, hapus plugin terlebih dahulu, hapus sumber marketplace lama, lalu tambahkan kembali sumber dengan ref tetap yang baru:
codex plugin remove linmas@linmas
codex plugin marketplace remove linmas
codex plugin marketplace add TanKimGwan/linmas --ref v0.8.0
codex plugin add linmas@linmas
codex plugin marketplace list --json
codex plugin list --json
Pastikan bagian [marketplaces.linmas] dalam config.toml Codex memuat ref = "v0.8.0" dan entri linmas@linmas terpasang melaporkan versi 0.8.0. Keberhasilan marketplace upgrade linmas bukan bukti ref yang dipatok telah berubah. Mulai ulang desktop/app-server Codex dan buat tugas baru setelah verifikasi.
Perbarui pemanggil MCP agar mengikuti kontrak terikat review_handle/capsule_digest sebelum menggunakan linmas_review_decide pada 0.8.0.
Pemulihan versi
Jika perlu kembali ke rilis sebelumnya, gunakan Git revert yang ditinjau atau patok paket npm dan marketplace Codex ke 0.7.0 / v0.7.0, lalu mulai ulang desktop/app-server Codex dan verifikasi alat dari tugas baru. Jangan memakai reset destruktif, mencampur kontrak pemanggil 0.7.0 dengan server 0.8.0, atau menarik rilis melalui npm unpublish.