@azure-id/orc 0.55.2 โ†’ 0.56.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README-id.md CHANGED
@@ -1,503 +1,684 @@
1
- <div align="center">
2
-
3
- # ๐Ÿ‹ ORC
4
-
5
- **Kumpulan skill orkestrator untuk [Claude Code](https://claude.com/claude-code).**
6
-
7
- *Terima permintaan โ†’ pahami โ†’ rencanakan โ†’ beri nilai โ†’ kerjakan paralel โ†’ periksa โ†’ uji โ†’ kirim.*
8
-
1
+ <div align="center">
2
+
3
+ # ๐Ÿ‹ ORC
4
+
5
+ **Kumpulan skill orkestrator untuk [Claude Code](https://claude.com/claude-code).**
6
+
7
+ *Terima permintaan โ†’ pahami โ†’ rencanakan โ†’ beri nilai โ†’ kerjakan paralel โ†’ periksa โ†’ uji โ†’ kirim.*
8
+
9
9
  ![npm](https://img.shields.io/npm/v/%40azure-id%2Forc?style=for-the-badge&color=cb3837&logo=npm)
10
- ![Version](https://img.shields.io/badge/version-0.55.1-blue.svg?style=for-the-badge)
11
- ![License](https://img.shields.io/badge/license-MIT-green.svg?style=for-the-badge)
12
- ![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg?style=for-the-badge)
13
- ![Claude Code](https://img.shields.io/badge/Claude_Code-Skills-purple.svg?style=for-the-badge)
14
- ![Dependencies](https://img.shields.io/badge/dependencies-zero-lightgrey.svg?style=for-the-badge)
15
-
16
- **Versi terbaru: v0.55.1** ยท diperbarui 27-08-2026 ยท [daftar perubahan lengkap](CHANGELOG.md)
17
-
18
- **Ada di npm: [`@azure-id/orc`](https://www.npmjs.com/package/@azure-id/orc)** โ€” `npm i -g @azure-id/orc`
19
-
20
- **๐Ÿ‡ฌ๐Ÿ‡ง [Read this in English](README.md)**
21
-
22
- </div>
23
-
24
- ---
25
-
26
- > **Tentang terjemahan ini.** Halaman ini memakai bahasa yang sederhana supaya
27
- > mudah dipahami. Semua **perintah, nama berkas, nama model, dan kata status**
28
- > ditulis apa adanya dalam bahasa Inggris โ€” itu bukan kata biasa, itu nama yang
29
- > harus Anda ketik persis seperti aslinya.
30
- >
31
- > Kalau ada bagian yang terasa berbeda dengan versi Inggris, **[README.md](README.md)
32
- > yang berlaku**.
33
-
34
- ---
35
-
36
- ## Apa itu ORC?
37
-
38
- Anda memberi ORC sebuah permintaan โ€” bisa satu kalimat, bisa sebuah dokumen
39
- kebutuhan. ORC akan:
40
-
41
- 1. mencari tahu apa sebenarnya maksud Anda,
42
- 2. membuat rencana kerja,
43
- 3. mengirim setiap tugas ke **model paling murah yang masih sanggup mengerjakannya**,
44
- 4. mengerjakan tugas-tugas yang tidak saling bentrok **secara bersamaan**,
45
- 5. memeriksa hasilnya,
46
- 6. mengujinya terhadap definisi "selesai" yang sudah Anda setujui,
47
- 7. lalu mengirimkannya.
48
-
49
- ORC menyimpan catatan kerjanya ke disk sambil jalan. Jadi pekerjaan panjang tetap
50
- selamat kalau Anda berhenti di tengah, kalau kuota token habis, atau kalau Anda
51
- membuka sesi obrolan yang benar-benar baru.
52
-
53
- **ORC bukan program yang berjalan sendiri.** ORC adalah kumpulan berkas markdown
54
- berisi **skill**, **perintah garis miring** (`/perintah`), dan **definisi
55
- subagen** yang dibaca dan diikuti oleh Claude Code. Paket npm ini โ€” yang tidak
56
- punya satu pun dependensi โ€” hanya menyalin berkas-berkas itu ke folder `.claude/`
57
- Anda.
58
-
59
- ```text
60
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Anda yang menentukan cakupan + persetujuan โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
61
- permintaan / dokumen โ”€โ”€โ–ถ terima โ”€โ–ถ pahami โ”€โ–ถ rencana โ”€โ–ถ nilai โ”€โ–ถ โ‡‰ gelombang paralel โ‡‰ โ”€โ–ถ periksa โ”€โ–ถ uji โ”€โ–ถ kirim
62
- (berdasar kode) (per tugas) (model termurah yang sanggup) (disimpan ke disk)
63
- ```
64
-
65
- ---
66
-
67
- ## ๐Ÿ‘€ Lihat dulu sebelum Anda pakai
68
-
69
- Setiap lane ditulis lengkap sebagai **mock run** โ€” contoh jalannya: apa yang Anda
70
- ketik, apa yang ORC balas, dan berkas apa yang muncul di disk. Tidak ada yang
71
- benar-benar dijalankan untuk membuatnya. Contoh-contoh itu ada supaya Anda tidak
72
- perlu membakar token hanya untuk tahu sebuah perintah melakukan apa.
73
-
74
- ### **โ–ถ [Mulai di sini: `mock-run/INDEX.md`](mock-run/INDEX.md)**
75
-
76
- Bisa juga dibaca tanpa meninggalkan komputer Anda:
77
-
78
- ```bash
79
- orc mock-run list # semua contoh, urut dari yang paling awal dibaca
80
- orc mock-run show orc-pact # baca satu
81
- orc ui # โ–ธ Mocked Skill Use โ€” contoh yang sama, bisa dicari
82
- ```
83
-
84
- ---
85
-
86
- ## Kenapa dibuat seperti ini?
87
-
88
- Satu agen yang diberi pekerjaan nyata selalu gagal dengan cara yang sama: ia
89
- diam-diam memilih satu tafsiran dari permintaan Anda, memakai model termahal
90
- untuk semuanya, lupa keputusan begitu konteksnya dipadatkan, bilang "selesai"
91
- terhadap definisi yang tidak pernah ditulis siapa pun, mengutip kode yang tidak
92
- ada, dan tidak meninggalkan apa pun untuk diperiksa.
93
-
94
- Itu semua **masalah proses** โ€” persis masalah yang di tim manusia diselesaikan
95
- dengan pembagian peran, review, dan kesepakatan tertulis. ORC menuliskan
96
- kedisiplinan itu sebagai skill:
97
-
98
- - **Mengatur dan mengerjakan adalah dua pekerjaan berbeda.** Sang orkestrator
99
- tidak pernah menulis kode. Bahkan perubahan satu baris pun dikirim ke subagen,
100
- supaya konteks orkestrator tetap ringan sepanjang pekerjaan.
101
- - **Setiap tugas diberi nilai, dan nilai itu yang memilih model.** Anda melihat
102
- tabelnya sebelum apa pun dimulai, dan setiap agen punya nama serta model yang
103
- dikunci โ€” jadi model apa yang benar-benar dipakai adalah fakta yang bisa Anda
104
- periksa.
105
- - **"Selesai" ditulis sebelum pekerjaan dimulai.** Tahap penerimaan menghasilkan
106
- spesifikasi yang Anda setujui, dan definisi "selesai" di dalamnya jadi bahan
107
- pengujian terakhir.
108
- - **Tidak ada yang dipercaya begitu saja, semuanya harus dibuktikan.** Kutipan
109
- `berkas:baris`, keluaran build apa adanya, temuan yang menunjuk baris nyata โ€”
110
- dan orkestrator memeriksa sampel dari bukti itu, jadi kutipan karangan langsung
111
- ditolak, bukan ikut masuk ke tugas berikutnya.
112
- - **Disk lebih dipercaya daripada ingatan.** ORC rajin menyimpan titik simpan,
113
- jadi setiap jeda jadi titik lanjut yang bersih โ€” termasuk di sesi baru.
114
- - **Ketelitian bisa diatur.** Tulang punggung yang sama bisa jalan sebagai
115
- `/orc-mini` (satu subagen), `/orc` (fitur sungguhan), dan `/orc-ultra`
116
- (dengan penasihat dan gerbang penilaian).
117
- - **Ia belajar.** Pola kode membuat agen menulis mirip gaya kode Anda, wiki
118
- membuat setiap rencana berikutnya lebih tajam, dan catatan jejak dibaca oleh
119
- `/orc-retro` yang menyetel ulang penilaiannya dari kerja nyata.
120
-
121
- ---
122
-
123
- ## Cara mulai
124
-
125
- ORC ada di npm dengan nama **[`@azure-id/orc`](https://www.npmjs.com/package/@azure-id/orc)**.
126
-
127
- ```bash
128
- npm i -g @azure-id/orc # pasang
129
- npm i -g @azure-id/orc@latest # perbarui ke rilis terbaru
130
- ```
131
-
132
- <details>
133
- <summary>Atau pasang langsung dari GitHub</summary>
134
-
135
- <br>
136
-
137
- ```bash
138
- npm i -g https://github.com/azure-id/orc/archive/refs/heads/main.tar.gz
139
- ```
140
-
141
- </details>
142
-
143
- Lalu, di dalam sebuah proyek:
144
-
145
- ```bash
146
- orc init # pasang ke ./.claude (proyek ini saja)
147
- orc init --global # pasang ke ~/.claude (semua proyek)
148
- orc onboarding # panduan lengkap langsung di terminal โ€” tanpa buka GitHub
149
- orc config # lihat atau ubah pengaturan (nol token model)
150
- orc ui # panel kendali lokal
151
- orc --help # semua perintah
152
- ```
153
-
154
- Setelah dipasang:
155
-
156
- 1. Tempelkan templat PR tim Anda ke `skills/orc/subskills/orc-pr/pr.md`.
157
- 2. Tambahkan `.claude/orc/run/` ke `.gitignore` proyek Anda.
158
- 3. Jalankan **`/agents`** untuk memastikan Claude Code Anda menerima id model
159
- milik para agen.
160
- 4. **Jalankan sesi utama Anda di Opus 5.** Sebuah subagen tidak akan pernah bisa
161
- memakai model yang lebih baik daripada sesi Anda. Ini penyebab paling sering
162
- dari keluhan "kok modelnya salah" โ€” lihat
163
- [pemilihan model](guides/model-selection.md).
164
- 5. Kalau sebuah `/perintah` tidak muncul, mungkin Claude Code Anda membaca
165
- perintah dari folder lain โ€” pindahkan berkas di `commands/` ke sana.
166
-
167
- <details>
168
- <summary><b>Tetap memakai versi terbaru</b></summary>
169
-
170
- <br>
171
-
172
- `orc update` menyalin ulang berkas yang **sudah ada** di paket ini. Perintah itu
173
- tidak menyentuh internet sama sekali. **`orc upgrade` adalah yang menarik versi
174
- baru**: ia mengambil paket terbaru dulu, lalu memasangnya. Berkas
175
- `.claude/orc.config.yaml` Anda selamat di kedua perintah itu.
176
-
177
- ```bash
178
- orc version # versi Anda, dan apakah ada yang lebih baru
179
- orc changelog # apa yang akan Anda DAPAT kalau upgrade
180
- orc upgrade # ambil yang terbaru, lalu perbarui proyek ini
181
- orc upgrade --global # sama, tapi untuk ~/.claude
182
- orc upgrade --from @azure-id/orc # dari npm, disebut jelas
183
- orc upgrade --from github:azure-id/orc # dari fork, atau spesifikasi npm apa pun
184
- ```
185
-
186
- Atau perbarui paketnya sendiri lalu pasang ulang:
187
-
188
- ```bash
189
- npm i -g @azure-id/orc@latest
190
- orc update
191
- ```
192
-
193
- Pemeriksaan versi dilakukan lewat HTTPS, hasilnya disimpan 24 jam, dan gagal
194
- diam-diam kalau Anda sedang offline. Matikan dengan `ORC_NO_UPDATE_CHECK=1`.
195
-
196
- Anda tidak perlu menjalankan perintah untuk tahu ada versi baru: pemberitahuan
197
- yang sama muncul di dalam Claude Code lewat hook milik ORC, dengan **nol token
198
- model** โ€” hook itu skrip yang dijalankan Claude Code, bukan giliran model.
199
-
200
- Kalau pemasangan dari GitHub gagal (sering terjadi di **NVM**), `orc upgrade`
201
- akan mencoba ulang sendiri dengan berkas tarball biasa.
202
-
203
- </details>
204
-
205
- > **"ORC tidak melihat wiki saya"?** Jalankan **`orc wiki sync`**, bukan
206
- > pemindaian baru. Dokumen tanpa manifest itu *belum terdaftar*, bukan hilang โ€”
207
- > ini biasa terjadi kalau pemindaian berhenti di salah satu jeda `/orc-wiki`.
208
- > Sync membangun ulang daftarnya dari dokumen yang sudah Anda punya, gratis.
209
-
210
- > **"Sebenarnya ORC tahu apa tentang proyek saya?"** `orc wiki docs` menampilkan
211
- > semua dokumen yang terdaftar, `orc wiki coverage` memberi tahu berapa banyak
212
- > kode Anda yang sudah pernah ditulis di dokumen, dan `orc pattern show <lang>`
213
- > mencetak kebiasaan kode yang diberikan ke setiap agen penulis kode di sini.
214
- > Semuanya gratis dan hanya membaca โ€”
215
- > **[`guides/knowledge-reads.md`](guides/knowledge-reads.md)**.
216
-
217
- ---
218
- ## Hook di terminal
219
-
220
- ORC punya hook terminal supaya Anda bisa melihat: persentase jendela konteks,
221
- pemakaian 5 jam, pemakaian mingguan, dan beberapa hal lain.
222
-
223
- <img width="725" height="96" alt="image" src="https://github.com/user-attachments/assets/6a649c87-81ea-4fd9-9d0b-6bb4b97fe9cd" />
224
-
225
- <br>
226
-
227
- ---
228
-
229
- ## Lane yang tersedia
230
-
231
- > [!TIP]
232
- > Lane ini menyambung secara alami: **`/orc-brainstorm` โ†’ `/orc-grill` โ†’
233
- > `/orc-analyze` โ†’ `/orc-plan` โ†’ `/orc-route` โ†’ `/orc`**. Anda boleh mulai dari
234
- > mana saja.
235
-
236
- ### Membuat sesuatu
237
-
238
- | Perintah | Kegunaannya | Contoh jalannya |
239
- |---|---|---|
240
- | **`/orc`** | Alur penuh: terima โ†’ rencana โ†’ gelombang paralel bernilai โ†’ periksa โ†’ uji โ†’ kirim. Rajin menyimpan titik simpan; bisa dilanjutkan di sesi baru. | [lihat](mock-run/orc.md) |
241
- | **`/orc-ultra`** | Sama, ditambah penasihat Opus 5 **xhigh** dan tiga gerbang penilaian. Analisis dalam, pola kode, tes, dan keamanan dipaksa menyala. Memang mahal. | [lihat](mock-run/orc-ultra.md) |
242
- | **`/orc-mini`** | Satu agen Sonnet 5, satu pemeriksaan build + tes, lalu kirim. Melewati review penuh dan pengujian. Bisa pindah ke alur penuh di tengah jalan kalau diminta. | [lihat](templates/skills/orc-mini/examples/mini-run-mock.md) |
243
- | **`/orc-fast`** | Lane tercepat. Butuh wiki yang masih segar **dan** pola kode yang sudah tersimpan; kalau ada, ia melewati tahap analis dan perencana sepenuhnya. Kalau salah satu syarat tidak ada, ia mundur ke `/orc-mini` โ€” obrolan tidak pernah berhenti. | [lihat](mock-run/orc-fast.md) |
244
- | **`/orc-quick`** | Minta apa saja: perbaikan kecil, pertanyaan, mencari bug, menaikkan versi dependensi, komentar PR. Lihat โ†’ tanya sekali โ†’ kerjakan. **Selalu bertanya agen mana yang mau dipakai**, dan tidak ada pengaturan yang bisa mengubah itu. | [lihat](mock-run/orc-quick.md) |
245
- | **`/orc-diy`** | Lane racikan Anda sendiri, disusun di terminal dengan `orc diy` lalu dikompilasi. Kalau belum disetel atau sudah basi, ia menolak jalan dan menawarkan `/orc` biasa. | [lihat](mock-run/orc-diy.md) |
246
-
247
- ### Memikirkan apa yang mau dibuat
248
-
249
- | Perintah | Kegunaannya | Contoh jalannya |
250
- |---|---|---|
251
- | **`/orc-brainstorm`** | Idenya belum ada. Ia membuat banyak calon ide memakai beberapa sudut pandang, **tanpa mengkritik apa pun saat masih mengumpulkan**, mengelompokkannya jadi beberapa arah nyata, menguji setiap arah, lalu merekomendasikan satu dan **menunggu โ€” ia tidak pernah memilih untuk Anda**. Setiap daftar pilihan selalu diakhiri satu slot untuk ide Anda sendiri. | [lihat](mock-run/orc-brainstorm.md) |
252
- | **`/orc-grill`** | Idenya sudah ada satu, tapi masih kabur. Ia bertanya beberapa ronde, **mencari faktanya sendiri** alih-alih menyuruh Anda menghafal isi kode Anda sendiri, dan tidak pernah menjawab pertanyaannya sendiri. Selesai kalau *Anda* bilang idenya sudah pas. | [lihat](mock-run/orc-grill.md) |
253
- | **`/orc-analyze`** | Dokumen atau permintaan โ†’ spesifikasi yang jelas batasnya dan berpijak pada kode. Setiap klaim membawa bukti `berkas:baris`, atau berubah jadi pertanyaan. Mode dalam menambah beberapa pemeriksa paralel. | [lihat](templates/skills/orc-analyze/examples/analyze-mock.md) |
254
- | **`/orc-plan`** | Permintaan atau spesifikasi โ†’ rencana tugas sungguhan: berkas nyata, urutan ketergantungan, sifat tiap tugas, dan keputusan tes per tugas. | [lihat](mock-run/orc-plan.md) |
255
- | **`/orc-doc`** | Menulis dokumen panjang โ€” PRD, TSD, kesepakatan antar tim, laporan status, atau runbook โ€” sebagai Markdown yang bisa diimpor rapi ke Notion, Obsidian, Google Docs, Coda, Craft, dan GitHub. **ORC tidak pernah membaca isi dokumennya**: tiap bagian jadi berkasnya sendiri di `sections/`, tiap penulis memegang tepat satu berkas, tiap pemeriksa membaca satu potongan, dan `document.md` hanyalah hasil rakitan yang dibangun ulang gratis. Setiap gelombang adalah titik berhenti yang aman, dan berbulan-bulan kemudian bisa dilanjutkan tanpa Anda menjelaskan ulang apa pun. | [lihat](mock-run/orc-doc.md) |
256
- | **`/orc-route`** | Rencananya sudah ada โ€” lane mana yang sebaiknya mengerjakan? Ia menyebut satu lane, lalu pilihan lain beserta apa yang Anda korbankan, dan lane mana yang tidak mungkin beserta syarat yang menghalanginya. **Ia menolak memilih lane hanya dari satu kalimat**, karena itu sama saja menebak. | [lihat](mock-run/orc-route.md) |
257
- | **`/orc-explain`** | "Tunggu, tadi apa?" Ia mengulang pesan terakhir: intinya dulu, lalu latar belakang yang tadi dianggap sudah Anda tahu, lalu semua istilah khas ORC dijelaskan dengan kata-kata proyek Anda sendiri. | [lihat](mock-run/orc-explain.md) |
258
- | **`/orc-poly`** | Satu perubahan yang menyentuh dua repo atau lebih, tanpa jadi melenceng. Kode repo tetangga hanya dibaca; ia membekukan batas bersama jadi sebuah kontrak lalu menulis satu rencana per repo. Ia tidak pernah membangun apa pun. | [lihat](templates/skills/orc-poly/examples/poly-run-mock.md) |
259
-
260
- ### Mengajari ORC tentang proyek Anda
261
-
262
- | Perintah | Kegunaannya | Contoh jalannya |
263
- |---|---|---|
264
- | **`/orc-wiki`** | Memindai kode Anda jadi `wiki/` yang menetap, tiap klaim menunjuk berkas nyata, lalu mengarahkan `CLAUDE.md` ke sana. Kesegarannya dihitung saat dibaca, tidak pernah disimpan. Mahal dan harus Anda minta โ€” ia selalu memperingatkan dulu. | [lihat](templates/skills/orc-wiki/examples/wiki-run-mock.md) |
265
- | **`/orc-pattern`** | Mempelajari kebiasaan kode Anda per bahasa, supaya agen menulis kode yang mirip gaya kode Anda. Kebiasaan Anda yang menang; aturan wajib soal keamanan dan kebenaran tetap dibawa. | [lihat](mock-run/orc-pattern.md) |
266
- | **`/orc-learn`** | Dokumen pengenalan untuk manusia, satu fitur sekali jalan, menunjuk `berkas:baris`. Tersimpan lokal dan diabaikan git. | [lihat](templates/skills/orc-learn/examples/learn-run-mock.md) |
267
- | **`/orc-claude`** | Membuat atau menyegarkan `CLAUDE.md` repo ini dari fakta yang sudah diperiksa. Tanpa pertanyaan; tulisan Anda sendiri tidak pernah dipotong. | [lihat](templates/skills/orc-claude/examples/claude-run-mock.md) |
268
- | **`/orc-export`** | Merangkum wiki, pola kode, `PACT.md`, dan kartu batas jadi satu `AGENTS.md` yang bisa dibawa ke mana-mana โ€” diturunkan, bersidik jari, bisa diperiksa dengan `--check`. Supaya ORC tidak jadi jebakan. | [lihat](mock-run/orc-export.md) |
269
-
270
- ### Memeriksa apa yang sudah terjadi
271
-
272
- | Perintah | Kegunaannya | Contoh jalannya |
273
- |---|---|---|
274
- | **`/orc-challenge`** | Menilai sesuatu yang **sudah jadi** โ€” TSD, PRD, ADR, kontrak API, README, satu modul kode โ€” terhadap tujuan yang **Anda** nyatakan, lalu **berhenti dan menyuruh Anda memperbaikinya di sesi lain**. ORC menilai, Anda memperbaiki, ORC menilai lagi: **ia tidak pernah memperbaiki apa yang ia nilai**, karena sesi yang baru saja menulis perbaikan pasti memberi nilai bagus pada pekerjaannya sendiri. **Dan ia tidak pernah menebak arti "bagus" di sini.** | [lihat](mock-run/orc-challenge.md) |
275
- | **`/orc-pact`** | Janji-janji yang dipegang proyek Anda, dan mana yang sekarang diragukan. Empat status, semuanya **dihitung saat dibaca**: HOLDING ยท DRIFTED ยท **UNCHECKABLE** (status jujur โ€” bukan kegagalan) ยท BROKEN. Ia tidak pernah mengarang janji dan tidak pernah mencabut janji untuk Anda. | [lihat](mock-run/orc-pact.md) |
276
- | **`/orc-boundary`** | Apa yang **sebaiknya tidak** dicoba ORC di sini, dan apa persisnya yang akan mengubah itu. EXECUTE ยท ESCALATE ยท REFUSE, per area. **REFUSE selalu menyebutkan apa yang akan membuatnya jadi boleh.** Ia hanya membatasi ORC sendiri, tidak pernah membatasi perintah Anda. | [lihat](mock-run/orc-boundary.md) |
277
- | **`/orc-verify`** | Menguji hanya perubahan yang belum di-commit: build, tes, kewajaran diff, dan temuan pada tangga P0โ€“P3. Hanya membaca. | [lihat](templates/skills/orc-verify/examples/verify-mock.md) |
278
- | **`/orc-aftermath`** | Apakah yang kita kirim kemarin bertahan? Dinilai dari masa depan repo itu sendiri: berkas yang cepat ditulis ulang, commit yang dibatalkan, tes yang dihapus, janji yang patah. **Perubahan berulang itu sinyal, bukan vonis**, dan ia tidak pernah menyebut nama orang. | [lihat](mock-run/orc-aftermath.md) |
279
- | **`/orc-budget`** | Berapa biaya sebuah pekerjaan, dalam satuan yang benar-benar ditagihkan ke Anda. Sebuah **vektor token** โ€” input baru, tulis cache, baca cache, output; tidak pernah dicampur โ€” ditampilkan empat cara: token, dolar, persen dari jendela 5 jam Anda, dan risiko jendela konteks. Butuh rencana, bukan satu kalimat. | [lihat](mock-run/orc-budget.md) |
280
- | **`/orc-retro`** | Mengolah catatan jejak jadi laporan kalibrasi lalu mengirimkannya ke hulu sebagai PR. | [lihat](templates/skills/orc-retro/examples/retro-mock.md) |
281
-
282
- ### Mengirim dan menyerahkan
283
-
284
- | Perintah | Kegunaannya | Contoh jalannya |
285
- |---|---|---|
286
- | **`/orc-pr-setup`** | Menentukan di mana perubahan besar dipotong jadi beberapa pull request bertumpuk: lapisan berurutan, masing-masing dengan tujuan, daftar berkas, dan perkiraan biaya. Ia berhenti dan bertanya di setiap sambungan yang meragukan, dan tidak pernah menyentuh git. | [lihat](mock-run/orc-pr-setup.md) |
287
- | **`/orc-pr-driver`** | Menjalankan rencana itu: satu branch per lapisan, **pemeriksaan hijau wajib di dasar tiap lapisan**, `gh stack submit`, lalu susun ulang dan merge dari bawah ke atas. | [lihat](mock-run/orc-pr-setup.md) |
288
- | **`/orc-handoff`** | Untuk orang yang tidak membaca kode. Nilainya ditentukan oleh **ada atau tidaknya pemeriksaan murah**, bukan oleh jenis berkasnya. Ia menampilkan perintah pembatalan *sebelum* menulis, dan tidak pernah menyentuh berkas merah. | [lihat](mock-run/orc-handoff.md) |
289
-
290
- ---
291
-
292
- ## Dokumen yang benar-benar bisa dipindahkan
293
-
294
- `/orc-doc` menulis dokumen panjang โ€” dan Markdown dipilih justru karena berkas
295
- Markdown bisa dibawa ke mana-mana:
296
-
297
- | Tujuan | Bisa impor `.md`? |
298
- |---|---|
299
- | Notion ยท Obsidian ยท Google Docs ยท Coda ยท Craft ยท Apple Notes ยท GitHub | **langsung bisa** |
300
- | Docusaurus ยท Hugo ยท Jekyll ยท MkDocs | bisa โ€” dan justru *butuh* front matter YAML |
301
- | Confluence | tidak langsung. Siapkan aplikasi importir dari marketplace |
302
- | Microsoft OneNote | **tidak bisa**. Ubah dulu ke Word atau PDF |
303
-
304
- Tabel itu bukan hiasan: `orc doc lint --target` benar-benar menegakkan batas
305
- nyata dari tempat tujuan dokumen Anda. Notion hanya punya tiga tingkat judul,
306
- jadi H4 di sana adalah **error**. Paragraf yang dipotong keras per baris adalah
307
- error di mana pun, karena potongan di kolom 80 akan jadi ganti baris sungguhan di
308
- dalam paragraf Notion.
309
-
310
- Ada lima templat dasar โ€” `prd` ยท `tsd` ยท `collaboration` ยท `report` ยท `workflow` โ€”
311
- masing-masing sebagai lantai, bukan kandang. `orc doc templates` mencetaknya;
312
- Anda juga boleh membawa templat sendiri dan judul-judulnya akan jadi kerangka.
313
-
314
- **Penjelasan lengkap: [`guides/documents.md`](guides/documents.md).**
315
-
316
- ---
317
-
318
- ## `orc ui` โ€” panel kendali
319
-
320
- Halaman web lokal untuk **semua bagian ORC yang bukan ai**. Satu batas yang
321
- menentukan segalanya: **ia tidak pernah menjalankan lane, tidak pernah memanggil
322
- `claude`, dan tidak pernah memanggil API model.** Semua yang ditampilkan atau
323
- ditulisnya berasal dari keluaran CLI yang pasti.
324
-
325
- <img width="1870" height="1269" alt="image" src="https://github.com/user-attachments/assets/207fe821-9aa6-430e-bdcc-968340cc687f" />
326
-
327
- ```bash
328
- orc ui # jalan di 127.0.0.1:9921 dan membuka browser
329
- orc ui --port 9930 # port yang Anda sebut sendiri tidak akan pindah โ€” bentrok berarti error
330
- orc ui --no-open # cetak URL-nya saja
331
- orc ui --idle 0 # matikan mati-otomatis saat menganggur (bawaan: 30 menit)
332
- orc ui --fixtures # data contoh, tidak perlu proyek sama sekali
333
- orc ui --stop # matikan server proyek ini
334
- ```
335
-
336
- | Panel | Menampilkan | Bisa mengubah |
337
- |---|---|---|
338
- | Overview | versi, `orc doctor`, kesegaran wiki, apa yang sedang menunggu โ€” plus **Worth doing**, satu daftar semua hal yang butuh keputusan Anda | โ€” |
339
- | Settings | semua kunci pengaturan, dikelompokkan, masing-masing dengan kontrolnya sendiri | perubahan disiapkan dulu, lalu diterapkan bersama |
340
- | Runs | riwayat pekerjaan; satu baris terbuka di tempat berisi ringkasan keadaan, teks untuk melanjutkan, titik simpan, dan ekor catatan jejak | โ€” |
341
- | **Knowledge** | **lima tab**: kesegaran wiki DAN **isinya** (setiap dokumen, apa yang dicakupnya, seberapa sering dibaca), cakupan terhadap berkas terlacak Anda, pola kode beserta pertentangan yang ditandai, ingatan perbaikan dengan pemangkasan yang **ditinjau dulu baru diterapkan**, dan tampilan repo tetangga yang hanya bisa dibaca | `wiki sync`, `gotcha prune` |
342
- | Stats | pemakaian lane dan agen, penurunan model, serta tab **Cost** yang batangnya menjaga "baca cache" tetap terlihat terpisah | โ€” |
343
- | Flow | alur DIY yang sudah dikompilasi, gerbangnya, dan urutan semua fasenya | `diy set`, `diy compile`, preset |
344
- | Crosslink | **Design** (batas antar repo sebagai gambar) dan **Settings** (kesegaran tiap tetangga) | `crosslink add` / `remove` |
345
- | Promises ยท Boundary ยท Self-serve | buku janji, kartu batas, dan permukaan yang boleh diubah orang non-teknis | `pact check`, `pact sync`, `handoff set` |
346
- | **Docs** | setiap dokumen `/orc-doc` sebagai **pita** โ€” satu blok per bagian, lebarnya sesuai panjangnya dan warnanya sesuai statusnya โ€” plus berkas tiap bagian, jalur gelombang, kartu kesehatan lint, dan pratinjau gelombang | `doc compile` ยท `doc migrate` |
347
- | **Mocked Skill Use** | semua contoh jalannya yang ikut dikirim bersama ORC, dikelompokkan dan bisa dicari, dengan panel baca | โ€” |
348
- | Learn | panduan `orc onboarding`, satu bagian sekali baca | โ€” |
349
- | Experiment | setiap lane dengan tombol salin; membuka sesi Claude di terminal | โ€” |
350
- | Maintenance | `update`, `update --prune`, `doctor --fix`, `upgrade` | tinjau dulu, baru terapkan |
351
-
352
- - **Panel ini *adalah* CLI.** Ia membaca `orc <perintah> --json` dan menjalankan
353
- perintah asli untuk setiap penulisan, jadi ia tidak mungkin melenceng dari
354
- CLI โ€” ia tidak menyimpan salinan kedua dari apa pun.
355
- - **Tindakan gratis dapat tombol. Tindakan berbayar dapat perintah untuk disalin.**
356
- - **Tidak ada yang berjalan otomatis**, dan pemangkasan selalu menyebut **setiap**
357
- berkas. Sebuah angka bukan berarti persetujuan.
358
- - **Diperlakukan sebagai permukaan tulis**: hanya loopback, token baru tiap kali
359
- dijalankan, pemeriksaan Host untuk mencegah DNS rebinding, tanpa CORS, dan
360
- perubahan hanya lewat POST.
361
- - **Hanya untuk proyek ini, tidak ada pengaturan `--global`.** Kalau ada
362
- pemasangan global yang bisa mengalahkan pemasangan proyek, setiap halaman
363
- memasang spanduk peringatan. Ia hanya melaporkannya; ia tidak pernah menyunting
364
- pengaturan global.
365
- - **Bahasa Inggris dan Indonesia.** Yang diterjemahkan hanya kalimat milik panel
366
- itu sendiri โ€” kunci pengaturan, id model, jalur berkas, perintah, dan pesan
367
- doctor dicetak persis seperti tulisan CLI, karena kunci pengaturan yang
368
- diterjemahkan adalah kunci yang tidak ada.
369
-
370
- Nol dependensi, tanpa langkah build: `node:http`, JavaScript biasa, dan CSS yang
371
- ditulis tangan.
372
-
373
- ---
374
-
375
- ## Bagaimana modelnya dipilih
376
-
377
- Setiap tugas diberi nilai 0โ€“100 dengan **hitungan, bukan perasaan**: perencana
378
- melaporkan beberapa sifat tugas (luasnya, kebaruannya, kerumitan logikanya,
379
- permukaan tes, risiko yang dikutip, ketidakpastian) dan satu rumus tetap yang
380
- dipublikasikan mengubahnya jadi angka. Risiko yang dikutip memaksa nilai minimal
381
- 70. Nilai itu dipetakan lewat tabel yang dipublikasikan ke **agen bernama dengan
382
- model terkunci** โ€” jadi apa yang benar-benar berjalan bisa diperiksa, bukan
383
- sekadar diminta lewat kalimat.
384
-
385
- > **Aturan yang paling sering membuat orang bingung:** model sebuah subagen tidak
386
- > akan pernah lebih tinggi daripada model sesi utama Anda. Jalankan sesi Anda di
387
- > Opus 5.
388
-
389
- **Penjelasan lengkap โ€” pita nilainya, `opus5_only`, dan penjaga tingkat yang
390
- dipasang `orc init`: [guides/model-selection.md](guides/model-selection.md).**
391
-
392
- ---
393
-
394
- ## Pengaturan
395
-
396
- Pengaturan diubah lewat **CLI `orc config`** โ€” masukan dan keluaran terminal yang
397
- pasti, jadi biayanya **nol token model**.
398
-
399
- ```bash
400
- orc config # menu interaktif
401
- orc config list # pengaturan yang sedang berlaku
402
- orc config recommend # baca repo ini, sarankan SATU profil, beserta alasannya
403
- orc config profile paranoid
404
- ```
405
-
406
- Perubahan Anda tersimpan di `.claude/orc.config.yaml`, dan `orc update` tidak
407
- pernah menimpanya. `orc ui` โ–ธ Settings menyunting kunci yang sama lewat pemeriksa
408
- yang sama.
409
-
410
- **Semua kunci, nilai bawaannya, dan gunanya masing-masing:
411
- [guides/configuration.md](guides/configuration.md).**
412
-
413
- ---
414
-
415
- ## Isi paketnya
416
-
417
- ```
418
- templates/
419
- โ”œโ”€โ”€ skills/ 29 skill โ€” lane di atas, plus yang tidak punya perintah
420
- โ”‚ sendiri: context-combiner, orc-advisor, orc-judge,
421
- โ”‚ orc-analyze-mini, dan _shared/ (kesepakatan lintas lane)
422
- โ”œโ”€โ”€ commands/ 27 perintah garis miring
423
- โ”œโ”€โ”€ hooks/ penjaga effort (PreToolUse) ยท peringatan statusline ยท catatan jejak
424
- โ””โ”€โ”€ agents/ 40 subagen dengan model terkunci + MODEL-MAPPING.md
425
- bin/cli.js pemasang, penyunting pengaturan, penyusun alur, pembaca status
426
- pekerjaan, dan separuh pasti dari setiap lane. Setiap pembacaan
427
- bisa menjawab --json
428
- bin/webui/ `orc ui` โ€” panel kendali lokal: css/ + js/ + i18n/<bahasa>/ +
429
- fixtures/, satu berkas per lapisan dan per panel. Nol dependensi
430
- bin/mockrun-catalog.js katalog contoh jalannya (diturunkan dari berkas di disk)
431
- mock-run/ contoh-contoh jalannya itu sendiri โ€” mulai dari INDEX.md
432
- guides/ pengaturan ยท pemilihan model ยท dokumen ยท pembacaan pengetahuan
433
- ```
434
-
435
- Skill `orc` sendiri hanyalah **tulang punggung** yang tipis: ia hanya memuat
436
- referensi atau sub-skill ketika fase itu benar-benar berjalan, jadi tugas kecil
437
- tidak perlu membayar mesin besar.
438
-
439
- ---
440
-
441
- ## Panduan yang lebih panjang
442
-
443
- Beberapa lane membawa panduan lengkapnya sendiri, di sebelah skill-nya, dengan
444
- bahasa yang sederhana:
445
-
446
- | Panduan | Baca kalau |
447
- |---|---|
448
- | [ORC-QUICK](templates/skills/orc-quick/README.md) | Anda ingin contoh lengkap lane cepat |
449
- | [ORC-DIY](templates/skills/orc-diy/README.md) | Anda ingin meracik lane sendiri |
450
- | [ORC-WIKI](templates/skills/orc-wiki/README.md) | Anda ingin basis pengetahuan, dan pengaturan crosslink antar repo |
451
- | [ORC-PR-SETUP](templates/skills/orc-pr-setup/README.md) | Anda ingin memecah perubahan besar jadi PR bertumpuk |
452
- | [ORC-PR-DRIVER](templates/skills/orc-pr-driver/README.md) | Anda sudah punya rencana tumpukan dan ingin membangun, mengirim, dan me-merge-nya |
453
- | [Pengaturan](guides/configuration.md) ยท [Pemilihan model](guides/model-selection.md) | Anda ingin semua kuncinya, atau pita penilaiannya |
454
-
455
- Setiap skill juga membawa `SKILL.md` dan `references/`-nya sendiri. Panduan di
456
- atas adalah versinya untuk manusia.
457
-
458
- ---
459
-
460
- ## Status evaluasi
461
-
462
- Kumpulan skill ini dinilai **dari ujung ke ujung**, bukan berkas per berkas: satu
463
- spesifikasi yang bisa dijalankan per lane, diuji terhadap proyek Express di
464
- kotak pasir, dan dinilai dari bukti di disk โ€” catatan jejak, folder pekerjaan,
465
- dan berkas hasil.
466
-
467
- Putaran penuh terakhir adalah **30 evaluasi terhadap payload v0.34.0**: 25 berkas
468
- hasil terisi dan 38 berkas jejak, dengan 5 evaluasi yang tidak pernah dinilai dan
469
- 2 yang hanya dinilai sebagian โ€” semuanya disebutkan namanya di laporan. Semua
470
- yang ditemukan di sana sudah diperbaiki di rilis berikutnya atau masih tercatat.
471
- Bacalah sebagai catatan putaran itu, bukan sebagai audit terkini:
472
- [EVAL-REPORT.md](EVAL-REPORT.md).
473
-
474
- ---
475
-
476
- ## Prinsip rancangannya
477
-
478
- - **Jangan pernah menulis kode di lapisan paling atas.** Orkestrator mengatur;
479
- subagen bernilai yang mengerjakan.
480
- - **Batasi cakupannya dulu, baru dikerjakan paralel.** Salah paham jauh lebih
481
- murah diperbaiki sebelum lima agen membangun di atasnya.
482
- - **Disk lebih dipercaya daripada ingatan.** Setiap jeda adalah titik lanjut yang
483
- bersih.
484
- - **Model terkunci dan bisa diperiksa.** Agen bernama, modelnya tertulis di
485
- frontmatter.
486
- - **Kode Anda yang menang.** Pola yang dipelajari mengalah pada proyek Anda;
487
- hanya aturan keamanan dan kebenaran yang tidak bisa ditawar.
488
- - **Pengetahuan itu tambahan.** Wiki membuat perencanaan lebih baik kalau ada,
489
- dan tidak membebani apa pun kalau tidak ada.
490
- - **Katakan apa yang tidak Anda ketahui.** `UNCHECKABLE`, `no card`,
491
- `insufficient history` adalah jawaban sungguhan. Tebakan yang terdengar yakin
492
- lebih buruk daripada mengakui ada yang tidak diketahui.
493
-
494
- ---
495
-
496
- ## Daftar perubahan
497
-
498
- **Riwayat lengkap: [CHANGELOG.md](CHANGELOG.md)** โ€” atau `orc changelog`, yang
499
- hanya mencetak yang lebih baru dari versi yang Anda punya.
500
-
10
+ ![Version](https://img.shields.io/badge/version-0.56.0-blue.svg?style=for-the-badge)
11
+ ![License](https://img.shields.io/badge/license-MIT-green.svg?style=for-the-badge)
12
+ ![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg?style=for-the-badge)
13
+ ![Claude Code](https://img.shields.io/badge/Claude_Code-Skills-purple.svg?style=for-the-badge)
14
+ ![Dependencies](https://img.shields.io/badge/dependencies-zero-lightgrey.svg?style=for-the-badge)
15
+
16
+ **Versi terbaru: v0.56.1** ยท diperbarui 28-08-2026 ยท [daftar perubahan lengkap](CHANGELOG.md)
17
+
18
+ **Ada di npm: [`@azure-id/orc`](https://www.npmjs.com/package/@azure-id/orc)** โ€” `npm i -g @azure-id/orc`
19
+
20
+ **๐Ÿ‡ฌ๐Ÿ‡ง [Read this in English](README.md)**
21
+
22
+ </div>
23
+
24
+ ---
25
+
26
+ > **Tentang terjemahan ini.** Halaman ini memakai bahasa yang sederhana supaya
27
+ > mudah dipahami. Semua **perintah, nama berkas, nama model, dan kata status**
28
+ > ditulis apa adanya dalam bahasa Inggris โ€” itu bukan kata biasa, itu nama yang
29
+ > harus Anda ketik persis seperti aslinya.
30
+ >
31
+ > Kalau ada bagian yang terasa berbeda dengan versi Inggris, **[README.md](README.md)
32
+ > yang berlaku**.
33
+
34
+ ---
35
+
36
+ > [!CAUTION]
37
+ > **Naik versi dari sebelum v0.56.0? Lakukan ini sekali saja.**
38
+ >
39
+ > Nama paket pindah dari `orc` (tanpa scope) menjadi **`@azure-id/orc`**.
40
+ > Keduanya memakai nama perintah yang sama, yaitu `orc`. npm tidak mau
41
+ > memberikan perintah itu kepada paket baru selama paket lama masih
42
+ > memegangnya - jadi **semua** cara pasang gagal dengan pesan yang sama, dan
43
+ > `orc upgrade` tidak bisa memperbaiki dirinya sendiri:
44
+ >
45
+ > ```text
46
+ > npm error code EEXIST
47
+ > npm error File exists: C:\Users\anda\AppData\Roaming\npm\orc
48
+ > ```
49
+ >
50
+ > Jalankan tiga baris ini sekali saja. Isi folder `.claude/` Anda tidak
51
+ > disentuh, dan `orc.config.yaml` Anda tetap aman:
52
+ >
53
+ > ```bash
54
+ > npm uninstall -g orc # lepaskan perintah `orc` dari paket lama
55
+ > npm i -g @azure-id/orc # pasang paket yang sekarang
56
+ > orc update # pasang ulang ke proyek ini (pakai --global untuk ~/.claude)
57
+ > ```
58
+ >
59
+ > **Mulai v0.56.0, `orc upgrade` mengurus ini untuk Anda** - paket lama dihapus
60
+ > lebih dulu, lalu paket baru dipasang, dan ORC memberi tahu Anda saat
61
+ > melakukannya. `orc doctor` juga menyebutkan nama paket lama kalau masih ada.
62
+ >
63
+ > **Jangan** memakai `npm i -g -f`. `--force` menimpa berkas perintah dan
64
+ > membiarkan paket lama tetap terpasang di bawahnya - tidak memiliki apa pun,
65
+ > dan tidak pernah diperbarui lagi.
66
+
67
+ ---
68
+
69
+ ## Apa itu ORC?
70
+
71
+ Anda memberi ORC sebuah permintaan โ€” bisa satu kalimat, bisa sebuah dokumen
72
+ kebutuhan. ORC akan:
73
+
74
+ 1. mencari tahu apa sebenarnya maksud Anda,
75
+ 2. membuat rencana kerja,
76
+ 3. mengirim setiap tugas ke **model paling murah yang masih sanggup mengerjakannya**,
77
+ 4. mengerjakan tugas-tugas yang tidak saling bentrok **secara bersamaan**,
78
+ 5. memeriksa hasilnya,
79
+ 6. mengujinya terhadap definisi "selesai" yang sudah Anda setujui,
80
+ 7. lalu mengirimkannya.
81
+
82
+ ORC menyimpan catatan kerjanya ke disk sambil jalan. Jadi pekerjaan panjang tetap
83
+ selamat kalau Anda berhenti di tengah, kalau kuota token habis, atau kalau Anda
84
+ membuka sesi obrolan yang benar-benar baru.
85
+
86
+ **ORC bukan program yang berjalan sendiri.** ORC adalah kumpulan berkas markdown
87
+ berisi **skill**, **perintah garis miring** (`/perintah`), dan **definisi
88
+ subagen** yang dibaca dan diikuti oleh Claude Code. Paket npm ini โ€” yang tidak
89
+ punya satu pun dependensi โ€” hanya menyalin berkas-berkas itu ke folder `.claude/`
90
+ Anda.
91
+
92
+ ```text
93
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Anda yang menentukan cakupan + persetujuan โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
94
+ permintaan / dokumen โ”€โ”€โ–ถ terima โ”€โ–ถ pahami โ”€โ–ถ rencana โ”€โ–ถ nilai โ”€โ–ถ โ‡‰ gelombang paralel โ‡‰ โ”€โ–ถ periksa โ”€โ–ถ uji โ”€โ–ถ kirim
95
+ (berdasar kode) (per tugas) (model termurah yang sanggup) (disimpan ke disk)
96
+ ```
97
+
98
+ ---
99
+
100
+ ## ๐Ÿ‘€ Lihat dulu sebelum Anda pakai
101
+
102
+ Setiap lane ditulis lengkap sebagai **mock run** โ€” contoh jalannya: apa yang Anda
103
+ ketik, apa yang ORC balas, dan berkas apa yang muncul di disk. Tidak ada yang
104
+ benar-benar dijalankan untuk membuatnya. Contoh-contoh itu ada supaya Anda tidak
105
+ perlu membakar token hanya untuk tahu sebuah perintah melakukan apa.
106
+
107
+ ### **โ–ถ [Mulai di sini: `mock-run/INDEX.md`](mock-run/INDEX.md)**
108
+
109
+ Bisa juga dibaca tanpa meninggalkan komputer Anda:
110
+
111
+ ```bash
112
+ orc mock-run list # semua contoh, urut dari yang paling awal dibaca
113
+ orc mock-run show orc-pact # baca satu
114
+ orc ui # โ–ธ Mocked Skill Use โ€” contoh yang sama, bisa dicari
115
+ ```
116
+
117
+ ---
118
+
119
+ ## Kenapa dibuat seperti ini?
120
+
121
+ Satu agen yang diberi pekerjaan nyata selalu gagal dengan cara yang sama: ia
122
+ diam-diam memilih satu tafsiran dari permintaan Anda, memakai model termahal
123
+ untuk semuanya, lupa keputusan begitu konteksnya dipadatkan, bilang "selesai"
124
+ terhadap definisi yang tidak pernah ditulis siapa pun, mengutip kode yang tidak
125
+ ada, dan tidak meninggalkan apa pun untuk diperiksa.
126
+
127
+ Itu semua **masalah proses** โ€” persis masalah yang di tim manusia diselesaikan
128
+ dengan pembagian peran, review, dan kesepakatan tertulis. ORC menuliskan
129
+ kedisiplinan itu sebagai skill:
130
+
131
+ - **Mengatur dan mengerjakan adalah dua pekerjaan berbeda.** Sang orkestrator
132
+ tidak pernah menulis kode. Bahkan perubahan satu baris pun dikirim ke subagen,
133
+ supaya konteks orkestrator tetap ringan sepanjang pekerjaan.
134
+ - **Setiap tugas diberi nilai, dan nilai itu yang memilih model.** Anda melihat
135
+ tabelnya sebelum apa pun dimulai, dan setiap agen punya nama serta model yang
136
+ dikunci โ€” jadi model apa yang benar-benar dipakai adalah fakta yang bisa Anda
137
+ periksa.
138
+ - **"Selesai" ditulis sebelum pekerjaan dimulai.** Tahap penerimaan menghasilkan
139
+ spesifikasi yang Anda setujui, dan definisi "selesai" di dalamnya jadi bahan
140
+ pengujian terakhir.
141
+ - **Tidak ada yang dipercaya begitu saja, semuanya harus dibuktikan.** Kutipan
142
+ `berkas:baris`, keluaran build apa adanya, temuan yang menunjuk baris nyata โ€”
143
+ dan orkestrator memeriksa sampel dari bukti itu, jadi kutipan karangan langsung
144
+ ditolak, bukan ikut masuk ke tugas berikutnya.
145
+ - **Disk lebih dipercaya daripada ingatan.** ORC rajin menyimpan titik simpan,
146
+ jadi setiap jeda jadi titik lanjut yang bersih โ€” termasuk di sesi baru.
147
+ - **Ketelitian bisa diatur.** Tulang punggung yang sama bisa jalan sebagai
148
+ `/orc-mini` (satu subagen), `/orc` (fitur sungguhan), dan `/orc-ultra`
149
+ (dengan penasihat dan gerbang penilaian).
150
+ - **Ia belajar.** Pola kode membuat agen menulis mirip gaya kode Anda, wiki
151
+ membuat setiap rencana berikutnya lebih tajam, dan catatan jejak dibaca oleh
152
+ `/orc-retro` yang menyetel ulang penilaiannya dari kerja nyata.
153
+
154
+ ---
155
+
156
+ ## Cara mulai
157
+
158
+ ORC ada di npm dengan nama **[`@azure-id/orc`](https://www.npmjs.com/package/@azure-id/orc)**.
159
+
160
+ ```bash
161
+ npm i -g @azure-id/orc # pasang
162
+ npm i -g @azure-id/orc@latest # perbarui ke rilis terbaru
163
+ ```
164
+
165
+ <details>
166
+ <summary>Atau pasang langsung dari GitHub</summary>
167
+
168
+ <br>
169
+
170
+ ```bash
171
+ npm i -g https://github.com/azure-id/orc/archive/refs/heads/main.tar.gz
172
+ ```
173
+
174
+ </details>
175
+
176
+ Lalu, di dalam sebuah proyek:
177
+
178
+ ```bash
179
+ orc init # pasang ke ./.claude (proyek ini saja)
180
+ orc init --global # pasang ke ~/.claude (semua proyek)
181
+ orc onboarding # panduan lengkap langsung di terminal โ€” tanpa buka GitHub
182
+ orc config # lihat atau ubah pengaturan (nol token model)
183
+ orc ui # panel kendali lokal
184
+ orc --help # semua perintah
185
+ ```
186
+
187
+ Setelah dipasang:
188
+
189
+ 1. Tempelkan templat PR tim Anda ke `skills/orc/subskills/orc-pr/pr.md`.
190
+ 2. Tambahkan `.claude/orc/run/` ke `.gitignore` proyek Anda.
191
+ 3. Jalankan **`/agents`** untuk memastikan Claude Code Anda menerima id model
192
+ milik para agen.
193
+ 4. **Jalankan sesi utama Anda di Opus 5.** Sebuah subagen tidak akan pernah bisa
194
+ memakai model yang lebih baik daripada sesi Anda. Ini penyebab paling sering
195
+ dari keluhan "kok modelnya salah" โ€” lihat
196
+ [pemilihan model](guides/model-selection.md).
197
+ 5. Kalau sebuah `/perintah` tidak muncul, mungkin Claude Code Anda membaca
198
+ perintah dari folder lain โ€” pindahkan berkas di `commands/` ke sana.
199
+
200
+ <details>
201
+ <summary><b>Tetap memakai versi terbaru</b></summary>
202
+
203
+ <br>
204
+
205
+ `orc update` menyalin ulang berkas yang **sudah ada** di paket ini. Perintah itu
206
+ tidak menyentuh internet sama sekali. **`orc upgrade` adalah yang menarik versi
207
+ baru**: ia mengambil paket terbaru dulu, lalu memasangnya. Berkas
208
+ `.claude/orc.config.yaml` Anda selamat di kedua perintah itu.
209
+
210
+ ```bash
211
+ orc version # versi Anda, dan apakah ada yang lebih baru
212
+ orc changelog # apa yang akan Anda DAPAT kalau upgrade
213
+ orc upgrade # ambil yang terbaru, lalu perbarui proyek ini
214
+ orc upgrade --global # sama, tapi untuk ~/.claude
215
+ orc upgrade --from @azure-id/orc # dari npm, disebut jelas
216
+ orc upgrade --from github:azure-id/orc # dari fork, atau spesifikasi npm apa pun
217
+ ```
218
+
219
+ Atau perbarui paketnya sendiri lalu pasang ulang:
220
+
221
+ ```bash
222
+ npm i -g @azure-id/orc@latest
223
+ orc update
224
+ ```
225
+
226
+ Pemeriksaan versi dilakukan lewat HTTPS, hasilnya disimpan 24 jam, dan gagal
227
+ diam-diam kalau Anda sedang offline. Matikan dengan `ORC_NO_UPDATE_CHECK=1`.
228
+
229
+ Anda tidak perlu menjalankan perintah untuk tahu ada versi baru: pemberitahuan
230
+ yang sama muncul di dalam Claude Code lewat hook milik ORC, dengan **nol token
231
+ model** โ€” hook itu skrip yang dijalankan Claude Code, bukan giliran model.
232
+
233
+ Kalau pemasangan dari GitHub gagal (sering terjadi di **NVM**), `orc upgrade`
234
+ akan mencoba ulang sendiri dengan berkas tarball biasa.
235
+
236
+ </details>
237
+
238
+ > **"ORC tidak melihat wiki saya"?** Jalankan **`orc wiki sync`**, bukan
239
+ > pemindaian baru. Dokumen tanpa manifest itu *belum terdaftar*, bukan hilang โ€”
240
+ > ini biasa terjadi kalau pemindaian berhenti di salah satu jeda `/orc-wiki`.
241
+ > Sync membangun ulang daftarnya dari dokumen yang sudah Anda punya, gratis.
242
+
243
+ > **"Sebenarnya ORC tahu apa tentang proyek saya?"** `orc wiki docs` menampilkan
244
+ > semua dokumen yang terdaftar, `orc wiki coverage` memberi tahu berapa banyak
245
+ > kode Anda yang sudah pernah ditulis di dokumen, dan `orc pattern show <lang>`
246
+ > mencetak kebiasaan kode yang diberikan ke setiap agen penulis kode di sini.
247
+ > Semuanya gratis dan hanya membaca โ€”
248
+ > **[`guides/knowledge-reads.md`](guides/knowledge-reads.md)**.
249
+
250
+ ---
251
+ ## Hook di terminal
252
+
253
+ ORC punya hook terminal supaya Anda bisa melihat: persentase jendela konteks,
254
+ pemakaian 5 jam, pemakaian mingguan, dan beberapa hal lain.
255
+
256
+ <img width="725" height="96" alt="image" src="https://github.com/user-attachments/assets/6a649c87-81ea-4fd9-9d0b-6bb4b97fe9cd" />
257
+
258
+ <br>
259
+
260
+ ---
261
+
262
+ ## Lane yang tersedia
263
+
264
+ > [!TIP]
265
+ > Lane ini menyambung secara alami: **`/orc-brainstorm` โ†’ `/orc-grill` โ†’
266
+ > `/orc-analyze` โ†’ `/orc-plan` โ†’ `/orc-route` โ†’ `/orc`**. Anda boleh mulai dari
267
+ > mana saja.
268
+
269
+ ### Membuat sesuatu
270
+
271
+ | Perintah | Kegunaannya | Contoh jalannya |
272
+ |---|---|---|
273
+ | **`/orc`** | Alur penuh: terima โ†’ rencana โ†’ gelombang paralel bernilai โ†’ periksa โ†’ uji โ†’ kirim. Rajin menyimpan titik simpan; bisa dilanjutkan di sesi baru. | [lihat](mock-run/orc.md) |
274
+ | **`/orc-ultra`** | Sama, ditambah penasihat Opus 5 **xhigh** dan tiga gerbang penilaian. Analisis dalam, pola kode, tes, dan keamanan dipaksa menyala. Memang mahal. | [lihat](mock-run/orc-ultra.md) |
275
+ | **`/orc-mini`** | Satu agen Sonnet 5, satu pemeriksaan build + tes, lalu kirim. Melewati review penuh dan pengujian. Bisa pindah ke alur penuh di tengah jalan kalau diminta. | [lihat](templates/skills/orc-mini/examples/mini-run-mock.md) |
276
+ | **`/orc-fast`** | Lane tercepat. Butuh wiki yang masih segar **dan** pola kode yang sudah tersimpan; kalau ada, ia melewati tahap analis dan perencana sepenuhnya. Kalau salah satu syarat tidak ada, ia mundur ke `/orc-mini` โ€” obrolan tidak pernah berhenti. | [lihat](mock-run/orc-fast.md) |
277
+ | **`/orc-quick`** | Minta apa saja: perbaikan kecil, pertanyaan, mencari bug, menaikkan versi dependensi, komentar PR. Lihat โ†’ tanya sekali โ†’ kerjakan. **Selalu bertanya agen mana yang mau dipakai**, dan tidak ada pengaturan yang bisa mengubah itu. | [lihat](mock-run/orc-quick.md) |
278
+ | **`/orc-diy`** | Lane racikan Anda sendiri, disusun di terminal dengan `orc diy` lalu dikompilasi. Kalau belum disetel atau sudah basi, ia menolak jalan dan menawarkan `/orc` biasa. | [lihat](mock-run/orc-diy.md) |
279
+
280
+ ### Memikirkan apa yang mau dibuat
281
+
282
+ | Perintah | Kegunaannya | Contoh jalannya |
283
+ |---|---|---|
284
+ | **`/orc-brainstorm`** | Idenya belum ada. Ia membuat banyak calon ide memakai beberapa sudut pandang, **tanpa mengkritik apa pun saat masih mengumpulkan**, mengelompokkannya jadi beberapa arah nyata, menguji setiap arah, lalu merekomendasikan satu dan **menunggu โ€” ia tidak pernah memilih untuk Anda**. Setiap daftar pilihan selalu diakhiri satu slot untuk ide Anda sendiri. | [lihat](mock-run/orc-brainstorm.md) |
285
+ | **`/orc-grill`** | Idenya sudah ada satu, tapi masih kabur. Ia bertanya beberapa ronde, **mencari faktanya sendiri** alih-alih menyuruh Anda menghafal isi kode Anda sendiri, dan tidak pernah menjawab pertanyaannya sendiri. Selesai kalau *Anda* bilang idenya sudah pas. | [lihat](mock-run/orc-grill.md) |
286
+ | **`/orc-analyze`** | Dokumen atau permintaan โ†’ spesifikasi yang jelas batasnya dan berpijak pada kode. Setiap klaim membawa bukti `berkas:baris`, atau berubah jadi pertanyaan. Mode dalam menambah beberapa pemeriksa paralel. | [lihat](templates/skills/orc-analyze/examples/analyze-mock.md) |
287
+ | **`/orc-plan`** | Permintaan atau spesifikasi โ†’ rencana tugas sungguhan: berkas nyata, urutan ketergantungan, sifat tiap tugas, dan keputusan tes per tugas. | [lihat](mock-run/orc-plan.md) |
288
+ | **`/orc-doc`** | Menulis dokumen panjang โ€” PRD, TSD, kesepakatan antar tim, laporan status, atau runbook โ€” sebagai Markdown yang bisa diimpor rapi ke Notion, Obsidian, Google Docs, Coda, Craft, dan GitHub. **ORC tidak pernah membaca isi dokumennya**: tiap bagian jadi berkasnya sendiri di `sections/`, tiap penulis memegang tepat satu berkas, tiap pemeriksa membaca satu potongan, dan `document.md` hanyalah hasil rakitan yang dibangun ulang gratis. Setiap gelombang adalah titik berhenti yang aman, dan berbulan-bulan kemudian bisa dilanjutkan tanpa Anda menjelaskan ulang apa pun. | [lihat](mock-run/orc-doc.md) |
289
+ | **`/orc-route`** | Rencananya sudah ada โ€” lane mana yang sebaiknya mengerjakan? Ia menyebut satu lane, lalu pilihan lain beserta apa yang Anda korbankan, dan lane mana yang tidak mungkin beserta syarat yang menghalanginya. **Ia menolak memilih lane hanya dari satu kalimat**, karena itu sama saja menebak. | [lihat](mock-run/orc-route.md) |
290
+ | **`/orc-explain`** | "Tunggu, tadi apa?" Ia mengulang pesan terakhir: intinya dulu, lalu latar belakang yang tadi dianggap sudah Anda tahu, lalu semua istilah khas ORC dijelaskan dengan kata-kata proyek Anda sendiri. | [lihat](mock-run/orc-explain.md) |
291
+ | **`/orc-poly`** | Satu perubahan yang menyentuh dua repo atau lebih, tanpa jadi melenceng. Kode repo tetangga hanya dibaca; ia membekukan batas bersama jadi sebuah kontrak lalu menulis satu rencana per repo. Ia tidak pernah membangun apa pun. | [lihat](templates/skills/orc-poly/examples/poly-run-mock.md) |
292
+
293
+ ### Mengajari ORC tentang proyek Anda
294
+
295
+ | Perintah | Kegunaannya | Contoh jalannya |
296
+ |---|---|---|
297
+ | **`/orc-wiki`** | Memindai kode Anda jadi `wiki/` yang menetap, tiap klaim menunjuk berkas nyata, lalu mengarahkan `CLAUDE.md` ke sana. Kesegarannya dihitung saat dibaca, tidak pernah disimpan. Mahal dan harus Anda minta โ€” ia selalu memperingatkan dulu. | [lihat](templates/skills/orc-wiki/examples/wiki-run-mock.md) |
298
+ | **`/orc-pattern`** | Mempelajari kebiasaan kode Anda per bahasa, supaya agen menulis kode yang mirip gaya kode Anda. Kebiasaan Anda yang menang; aturan wajib soal keamanan dan kebenaran tetap dibawa. | [lihat](mock-run/orc-pattern.md) |
299
+ | **`/orc-learn`** | Dokumen pengenalan untuk manusia, satu fitur sekali jalan, menunjuk `berkas:baris`. Tersimpan lokal dan diabaikan git. | [lihat](templates/skills/orc-learn/examples/learn-run-mock.md) |
300
+ | **`/orc-claude`** | Membuat atau menyegarkan `CLAUDE.md` repo ini dari fakta yang sudah diperiksa. Tanpa pertanyaan; tulisan Anda sendiri tidak pernah dipotong. | [lihat](templates/skills/orc-claude/examples/claude-run-mock.md) |
301
+ | **`/orc-export`** | Merangkum wiki, pola kode, `PACT.md`, dan kartu batas jadi satu `AGENTS.md` yang bisa dibawa ke mana-mana โ€” diturunkan, bersidik jari, bisa diperiksa dengan `--check`. Supaya ORC tidak jadi jebakan. | [lihat](mock-run/orc-export.md) |
302
+
303
+ ### Memeriksa apa yang sudah terjadi
304
+
305
+ | Perintah | Kegunaannya | Contoh jalannya |
306
+ |---|---|---|
307
+ | **`/orc-challenge`** | Menilai sesuatu yang **sudah jadi** โ€” TSD, PRD, ADR, kontrak API, README, satu modul kode โ€” terhadap tujuan yang **Anda** nyatakan, lalu **berhenti dan menyuruh Anda memperbaikinya di sesi lain**. ORC menilai, Anda memperbaiki, ORC menilai lagi: **ia tidak pernah memperbaiki apa yang ia nilai**, karena sesi yang baru saja menulis perbaikan pasti memberi nilai bagus pada pekerjaannya sendiri. **Dan ia tidak pernah menebak arti "bagus" di sini.** | [lihat](mock-run/orc-challenge.md) |
308
+ | **`/orc-pact`** | Janji-janji yang dipegang proyek Anda, dan mana yang sekarang diragukan. Empat status, semuanya **dihitung saat dibaca**: HOLDING ยท DRIFTED ยท **UNCHECKABLE** (status jujur โ€” bukan kegagalan) ยท BROKEN. Ia tidak pernah mengarang janji dan tidak pernah mencabut janji untuk Anda. | [lihat](mock-run/orc-pact.md) |
309
+ | **`/orc-boundary`** | Apa yang **sebaiknya tidak** dicoba ORC di sini, dan apa persisnya yang akan mengubah itu. EXECUTE ยท ESCALATE ยท REFUSE, per area. **REFUSE selalu menyebutkan apa yang akan membuatnya jadi boleh.** Ia hanya membatasi ORC sendiri, tidak pernah membatasi perintah Anda. | [lihat](mock-run/orc-boundary.md) |
310
+ | **`/orc-verify`** | Menguji hanya perubahan yang belum di-commit: build, tes, kewajaran diff, dan temuan pada tangga P0โ€“P3. Hanya membaca. | [lihat](templates/skills/orc-verify/examples/verify-mock.md) |
311
+ | **`/orc-aftermath`** | Apakah yang kita kirim kemarin bertahan? Dinilai dari masa depan repo itu sendiri: berkas yang cepat ditulis ulang, commit yang dibatalkan, tes yang dihapus, janji yang patah. **Perubahan berulang itu sinyal, bukan vonis**, dan ia tidak pernah menyebut nama orang. | [lihat](mock-run/orc-aftermath.md) |
312
+ | **`/orc-budget`** | Berapa biaya sebuah pekerjaan, dalam satuan yang benar-benar ditagihkan ke Anda. Sebuah **vektor token** โ€” input baru, tulis cache, baca cache, output; tidak pernah dicampur โ€” ditampilkan empat cara: token, dolar, persen dari jendela 5 jam Anda, dan risiko jendela konteks. Butuh rencana, bukan satu kalimat. | [lihat](mock-run/orc-budget.md) |
313
+ | **`/orc-retro`** | Mengolah catatan jejak jadi laporan kalibrasi lalu mengirimkannya ke hulu sebagai PR. | [lihat](templates/skills/orc-retro/examples/retro-mock.md) |
314
+
315
+ ### Mengirim dan menyerahkan
316
+
317
+ | Perintah | Kegunaannya | Contoh jalannya |
318
+ |---|---|---|
319
+ | **`/orc-pr-setup`** | Menentukan di mana perubahan besar dipotong jadi beberapa pull request bertumpuk: lapisan berurutan, masing-masing dengan tujuan, daftar berkas, dan perkiraan biaya. Ia berhenti dan bertanya di setiap sambungan yang meragukan, dan tidak pernah menyentuh git. | [lihat](mock-run/orc-pr-setup.md) |
320
+ | **`/orc-pr-driver`** | Menjalankan rencana itu: satu branch per lapisan, **pemeriksaan hijau wajib di dasar tiap lapisan**, `gh stack submit`, lalu susun ulang dan merge dari bawah ke atas. | [lihat](mock-run/orc-pr-setup.md) |
321
+ | **`/orc-handoff`** | Untuk orang yang tidak membaca kode. Nilainya ditentukan oleh **ada atau tidaknya pemeriksaan murah**, bukan oleh jenis berkasnya. Ia menampilkan perintah pembatalan *sebelum* menulis, dan tidak pernah menyentuh berkas merah. | [lihat](mock-run/orc-handoff.md) |
322
+
323
+ ---
324
+
325
+ ## Dokumen yang benar-benar bisa dipindahkan
326
+
327
+ `/orc-doc` menulis dokumen panjang โ€” dan Markdown dipilih justru karena berkas
328
+ Markdown bisa dibawa ke mana-mana:
329
+
330
+ | Tujuan | Bisa impor `.md`? |
331
+ |---|---|
332
+ | Notion ยท Obsidian ยท Google Docs ยท Coda ยท Craft ยท Apple Notes ยท GitHub | **langsung bisa** |
333
+ | Docusaurus ยท Hugo ยท Jekyll ยท MkDocs | bisa โ€” dan justru *butuh* front matter YAML |
334
+ | Confluence | tidak langsung. Siapkan aplikasi importir dari marketplace |
335
+ | Microsoft OneNote | **tidak bisa**. Ubah dulu ke Word atau PDF |
336
+
337
+ Tabel itu bukan hiasan: `orc doc lint --target` benar-benar menegakkan batas
338
+ nyata dari tempat tujuan dokumen Anda. Notion hanya punya tiga tingkat judul,
339
+ jadi H4 di sana adalah **error**. Paragraf yang dipotong keras per baris adalah
340
+ error di mana pun, karena potongan di kolom 80 akan jadi ganti baris sungguhan di
341
+ dalam paragraf Notion.
342
+
343
+ Ada lima templat dasar โ€” `prd` ยท `tsd` ยท `collaboration` ยท `report` ยท `workflow` โ€”
344
+ masing-masing sebagai lantai, bukan kandang. `orc doc templates` mencetaknya;
345
+ Anda juga boleh membawa templat sendiri dan judul-judulnya akan jadi kerangka.
346
+
347
+ **Penjelasan lengkap: [`guides/documents.md`](guides/documents.md).**
348
+
349
+ ---
350
+
351
+ ## `orc ui` โ€” panel kendali
352
+
353
+ Halaman web lokal untuk **semua bagian ORC yang bukan ai**. Satu batas yang
354
+ menentukan segalanya: **ia tidak pernah menjalankan lane, tidak pernah memanggil
355
+ `claude`, dan tidak pernah memanggil API model.** Semua yang ditampilkan atau
356
+ ditulisnya berasal dari keluaran CLI yang pasti.
357
+
358
+ <img width="1870" height="1269" alt="image" src="https://github.com/user-attachments/assets/207fe821-9aa6-430e-bdcc-968340cc687f" />
359
+
360
+ ```bash
361
+ orc ui # jalan di 127.0.0.1:9921 dan membuka browser
362
+ orc ui --port 9930 # port yang Anda sebut sendiri tidak akan pindah โ€” bentrok berarti error
363
+ orc ui --no-open # cetak URL-nya saja
364
+ orc ui --idle 0 # matikan mati-otomatis saat menganggur (bawaan: 30 menit)
365
+ orc ui --fixtures # data contoh, tidak perlu proyek sama sekali
366
+ orc ui --stop # matikan server proyek ini
367
+ ```
368
+
369
+ | Panel | Menampilkan | Bisa mengubah |
370
+ |---|---|---|
371
+ | Overview | versi, `orc doctor`, kesegaran wiki, apa yang sedang menunggu โ€” plus **Worth doing**, satu daftar semua hal yang butuh keputusan Anda | โ€” |
372
+ | Settings | semua kunci pengaturan, dikelompokkan, masing-masing dengan kontrolnya sendiri | perubahan disiapkan dulu, lalu diterapkan bersama |
373
+ | Runs | riwayat pekerjaan; satu baris terbuka di tempat berisi ringkasan keadaan, teks untuk melanjutkan, titik simpan, dan ekor catatan jejak | โ€” |
374
+ | **Knowledge** | **lima tab**: kesegaran wiki DAN **isinya** (setiap dokumen, apa yang dicakupnya, seberapa sering dibaca), cakupan terhadap berkas terlacak Anda, pola kode beserta pertentangan yang ditandai, ingatan perbaikan dengan pemangkasan yang **ditinjau dulu baru diterapkan**, dan tampilan repo tetangga yang hanya bisa dibaca | `wiki sync`, `gotcha prune` |
375
+ | Stats | pemakaian lane dan agen, penurunan model, serta tab **Cost** yang batangnya menjaga "baca cache" tetap terlihat terpisah | โ€” |
376
+ | Flow | alur DIY yang sudah dikompilasi, gerbangnya, dan urutan semua fasenya | `diy set`, `diy compile`, preset |
377
+ | Crosslink | **Design** (batas antar repo sebagai gambar) dan **Settings** (kesegaran tiap tetangga) | `crosslink add` / `remove` |
378
+ | Promises ยท Boundary ยท Self-serve | buku janji, kartu batas, dan permukaan yang boleh diubah orang non-teknis | `pact check`, `pact sync`, `handoff set` |
379
+ | **Docs** | setiap dokumen `/orc-doc` sebagai **pita** โ€” satu blok per bagian, lebarnya sesuai panjangnya dan warnanya sesuai statusnya โ€” plus berkas tiap bagian, jalur gelombang, kartu kesehatan lint, dan pratinjau gelombang | `doc compile` ยท `doc migrate` |
380
+ | **Extra** | **enam tab**: penyiapan koneksi, alat lokal beserta keadaannya, tangga rentang skor dan enam posisinya, pengeluaran per profil per rentang, dan **Recovery** โ€” setiap pengiriman yang tidak pernah melapor kembali, beserta apa yang ia tinggalkan di disk | `extra add` / `ping` / `route` / `role` |
381
+ | **Challenge** | setiap putaran `/orc-challenge`: tujuan yang dibekukan, daftar sudut pandang dan apa yang diangkat masing-masing, temuan beserta keputusannya, dan apakah kelulusannya dihitung atau tertahan | `challenge record` ยท `accept` ยท `rebut` |
382
+ | **Mocked Skill Use** | semua contoh jalannya yang ikut dikirim bersama ORC, dikelompokkan dan bisa dicari, dengan panel baca | โ€” |
383
+ | Learn | panduan `orc onboarding`, satu bagian sekali baca | โ€” |
384
+ | Experiment | setiap lane dengan tombol salin; membuka sesi Claude di terminal | โ€” |
385
+ | Maintenance | `update`, `update --prune`, `doctor --fix`, `upgrade` | tinjau dulu, baru terapkan |
386
+
387
+ - **Panel ini *adalah* CLI.** Ia membaca `orc <perintah> --json` dan menjalankan
388
+ perintah asli untuk setiap penulisan, jadi ia tidak mungkin melenceng dari
389
+ CLI โ€” ia tidak menyimpan salinan kedua dari apa pun.
390
+ - **Tindakan gratis dapat tombol. Tindakan berbayar dapat perintah untuk disalin.**
391
+ - **Tidak ada yang berjalan otomatis**, dan pemangkasan selalu menyebut **setiap**
392
+ berkas. Sebuah angka bukan berarti persetujuan.
393
+ - **Diperlakukan sebagai permukaan tulis**: hanya loopback, token baru tiap kali
394
+ dijalankan, pemeriksaan Host untuk mencegah DNS rebinding, tanpa CORS, dan
395
+ perubahan hanya lewat POST.
396
+ - **Hanya untuk proyek ini, tidak ada pengaturan `--global`.** Kalau ada
397
+ pemasangan global yang bisa mengalahkan pemasangan proyek, setiap halaman
398
+ memasang spanduk peringatan. Ia hanya melaporkannya; ia tidak pernah menyunting
399
+ pengaturan global.
400
+ - **Bahasa Inggris dan Indonesia.** Yang diterjemahkan hanya kalimat milik panel
401
+ itu sendiri โ€” kunci pengaturan, id model, jalur berkas, perintah, dan pesan
402
+ doctor dicetak persis seperti tulisan CLI, karena kunci pengaturan yang
403
+ diterjemahkan adalah kunci yang tidak ada.
404
+
405
+ Nol dependensi, tanpa langkah build: `node:http`, JavaScript biasa, dan CSS yang
406
+ ditulis tangan.
407
+
408
+ ---
409
+
410
+ ## Menjalankan sebagian tangga di tempat lain โ€” `orc extra`
411
+
412
+ **Pengatur utamanya selalu Claude.** Yang diubah Extra adalah *siapa yang
413
+ mengerjakan satu potong tugas*: satu rentang skor milik Anda, atau salah satu
414
+ dari enam posisi bernama, bisa diarahkan ke DeepSeek, GLM, Kimi, MiniMax, Qwen,
415
+ Ollama lokal, atau CLI pemrograman yang sudah Anda pakai (opencode, codex).
416
+ Semua pemeriksaan setelahnya โ€” gerbang asap, gerbang TDD, peninjau, pemeriksa
417
+ selisih pohon kerja โ€” buta terhadap mesin yang dipakai, jadi tak ada satu pun
418
+ yang tahu pekerjaan itu dikerjakan di luar.
419
+
420
+ **Mati secara bawaan, dan tidak bisa dinyalakan sebelum ada yang benar-benar
421
+ menjawab.**
422
+
423
+ ```bash
424
+ orc extra providers # katalog bertanggal โ€” penyedia, bukan model
425
+ orc extra tools # CLI lokal: belum ada ยท terlalu lama ยท belum masuk ยท siap
426
+ orc extra add ds --provider deepseek --engine api --env-key DEEPSEEK_API_KEY
427
+ orc extra ping ds # gerbang koneksi: bertingkat, dan tak ada yang dibaca lebih kuat dari kenyataannya
428
+ orc extra models ds --test <id> # model yang TERDAFTAR bisa saja sudah mati di sana
429
+ orc extra health ds --model <id> # โ€ฆdan model yang jalan belum tentu SELESAI
430
+ orc extra route set 40-55 ds/deepseek-chat # satu rentang skor
431
+ orc extra role set doc-writer ds/deepseek-chat # atau satu posisi bernama
432
+ orc config set extra_enabled true
433
+ ```
434
+
435
+ - **Katalognya berisi penyedia, tidak pernah model.** Nama model yang ikut
436
+ dikirim akan salah dalam hitungan bulan, dan salahnya *diam-diam* โ€” 404 di
437
+ tengah gelombang. `orc extra ping` membaca daftar aslinya lalu menyimpannya;
438
+ tidak ada yang mengarang nama. Begitu juga harga: angka biaya yang bukan ORC
439
+ sendiri yang hitung tidak pernah dicetak, melainkan muncul sebagai tanda
440
+ hubung panjang.
441
+ - **Setiap pekerjaan yang aktif mengatakannya sebelum gelombang pertama.**
442
+ Mengirim pekerjaan keluar dari Claude tanpa memberi tahu adalah justru
443
+ kegagalan yang membentuk seluruh bagian ini.
444
+ - **Dua penahan keras**: tugas dengan `risk[]` yang disebut (autentikasi, uang,
445
+ migrasi, keamanan, konkurensi, keutuhan data) tetap di Claude kecuali Anda
446
+ menyatakan lain, dan area REFUSE dari `/orc-boundary` tetap menahan bahkan
447
+ dalam mode `warn`.
448
+ - **Balasan dari luar adalah masukan asing.** Ia satu-satunya jenis masukan
449
+ asing yang menyunting pohon kerja Anda, jadi apa yang ia katakan telah ia
450
+ kerjakan adalah *klaim*, yang diperiksa terhadap pohon kerja.
451
+ - **Kunci Anda tidak pernah sampai ke baris perintah.** Ia lewat stdin menuju
452
+ brankas terenkripsi, atau tetap di variabel lingkungan, atau alatnya yang
453
+ menyimpannya sendiri โ€” dan frasa sandinya adalah **tenggat waktu**, bukan
454
+ faktor kedua.
455
+ - **Enam posisi untuk lane yang mengunci agen alih-alih menilai tugas**:
456
+ `quick-executor` ยท `fast-executor` ยท `doc-writer` ยท `doc-checker` ยท
457
+ `wiki-scanner-deep` ยท `wiki-scanner-light`. Posisi tanpa baris tetap
458
+ ditampilkan dan terbaca sebagai agen Claude yang terkunci padanya โ€” "saya
459
+ sengaja membiarkan pemeriksanya di Claude" dan "tidak ada pemeriksa" tidak
460
+ boleh terlihat sama.
461
+
462
+ **Ketika pekerja luar gagal, yang tertinggal adalah sebuah posisi, bukan halaman
463
+ kosong.** ORC mencatat keadaan awal *sebelum bita pertama meninggalkan mesin
464
+ ini*, jadi pekerja yang terputus di tengah tulisan akan **dicocokkan lalu
465
+ dilanjutkan** โ€” tidak pernah dikirim ulang dari nol ke berkas yang sudah
466
+ dua-pertiga jadi.
467
+
468
+ - **`extra_stall_s` (bawaan 180)** menghentikan pekerja yang tidak menghasilkan
469
+ apa pun selama itu. Hitungannya direset oleh kemajuan yang terlihat โ€” aliran
470
+ keluaran pekerja, keluaran kesalahannya, atau berkas yang dideklarasikan
471
+ berubah di disk โ€” jadi ia tidak pernah memotong pekerja yang sekadar lambat.
472
+ `stalled` boleh diulang, dan itulah yang membuat pelanjutannya menjadi cara
473
+ ORC sendiri mengetik `continue`.
474
+ - **`extra_fallback_agent` (bawaan `band`)** menentukan siapa yang mengambil alih
475
+ tugasnya. `ask` berhenti dan menyodorkan pilihannya kepada Anda; nama agen
476
+ apa pun yang terpasang bisa dikunci. Ia mengubah *siapa*, tidak pernah skornya,
477
+ daftar berkasnya, atau syarat penerimaannya.
478
+ - **Setiap pengiriman menulis catatan biayanya sendiri**, jadi laporan biaya
479
+ tidak pernah bergantung pada sebuah pekerjaan yang harus ingat menceritakan
480
+ pengeluarannya. `orc extra stats` menggabungkan catatan biaya, jejak, dan
481
+ balasan yang tersimpan, dan selalu menyebut berapa baris berasal dari mana.
482
+
483
+ **`/orc-quick` tidak terpengaruh di sini** dan mengatakannya โ€” lane itu selalu
484
+ bertanya agen mana sebelum setiap pengiriman, jadi tidak ada pengaturan yang
485
+ boleh menjawabnya lebih dulu. **`/orc-challenge` tidak pernah keluar dari
486
+ Claude**: mengganti satu sudut pandang dengan model lain tidak membuat lane itu
487
+ lebih murah, ia mengubah apa yang sedang diukur.
488
+
489
+ **Seluruh bagian ini, dengan setiap perintah dan kuncinya:
490
+ [guides/extra-models.md](guides/extra-models.md).**
491
+
492
+ ---
493
+
494
+ ## Bagaimana modelnya dipilih
495
+
496
+ Setiap tugas diberi nilai 0โ€“100 dengan **hitungan, bukan perasaan**: perencana
497
+ melaporkan beberapa sifat tugas (luasnya, kebaruannya, kerumitan logikanya,
498
+ permukaan tes, risiko yang dikutip, ketidakpastian) dan satu rumus tetap yang
499
+ dipublikasikan mengubahnya jadi angka. Risiko yang dikutip memaksa nilai minimal
500
+ 70. Nilai itu dipetakan lewat tabel yang dipublikasikan ke **agen bernama dengan
501
+ model terkunci** โ€” jadi apa yang benar-benar berjalan bisa diperiksa, bukan
502
+ sekadar diminta lewat kalimat.
503
+
504
+ > **Aturan yang paling sering membuat orang bingung:** model sebuah subagen tidak
505
+ > akan pernah lebih tinggi daripada model sesi utama Anda. Jalankan sesi Anda di
506
+ > Opus 5.
507
+
508
+ **Penjelasan lengkap โ€” pita nilainya, `opus5_only`, dan penjaga tingkat yang
509
+ dipasang `orc init`: [guides/model-selection.md](guides/model-selection.md).**
510
+
511
+ ---
512
+
513
+ ## Pengaturan
514
+
515
+ Pengaturan diubah lewat **CLI `orc config`** โ€” masukan dan keluaran terminal yang
516
+ pasti, jadi biayanya **nol token model**.
517
+
518
+ ```bash
519
+ orc config # menu interaktif
520
+ orc config list # pengaturan yang sedang berlaku
521
+ orc config recommend # baca repo ini, sarankan SATU profil, beserta alasannya
522
+ orc config profile paranoid
523
+ ```
524
+
525
+ Perubahan Anda tersimpan di `.claude/orc.config.yaml`, dan `orc update` tidak
526
+ pernah menimpanya. `orc ui` โ–ธ Settings menyunting kunci yang sama lewat pemeriksa
527
+ yang sama.
528
+
529
+ **Semua kunci, nilai bawaannya, dan gunanya masing-masing:
530
+ [guides/configuration.md](guides/configuration.md).**
531
+
532
+ ---
533
+
534
+ ## Isi paketnya
535
+
536
+ ```
537
+ templates/
538
+ โ”œโ”€โ”€ skills/ 31 folder skill, 38 berkas SKILL.md (satu lane boleh membawa
539
+ โ”‚ sub-skill) โ€” lane di atas, plus yang tidak punya perintah
540
+ โ”‚ sendiri: context-combiner, orc-advisor, orc-judge,
541
+ โ”‚ orc-analyze-mini, dan _shared/ (kesepakatan lintas lane)
542
+ โ”œโ”€โ”€ commands/ 29 perintah garis miring
543
+ โ”œโ”€โ”€ hooks/ penjaga effort (PreToolUse) ยท peringatan statusline ยท catatan jejak
544
+ โ””โ”€โ”€ agents/ 51 subagen dengan model terkunci + MODEL-MAPPING.md
545
+ bin/cli.js pemasang, penyunting pengaturan, penyusun alur, pembaca status
546
+ pekerjaan, dan separuh pasti dari setiap lane. Setiap pembacaan
547
+ bisa menjawab --json
548
+ bin/webui/ `orc ui` โ€” panel kendali lokal: css/ + js/ + i18n/<bahasa>/ +
549
+ fixtures/, satu berkas per lapisan dan per panel. Nol dependensi
550
+ bin/mockrun-catalog.js katalog contoh jalannya (diturunkan dari berkas di disk)
551
+ mock-run/ contoh-contoh jalannya itu sendiri โ€” mulai dari INDEX.md
552
+ guides/ pengaturan ยท pemilihan model ยท dokumen ยท pembacaan pengetahuan ยท
553
+ model AI lain
554
+ ```
555
+
556
+ Skill `orc` sendiri hanyalah **tulang punggung** yang tipis: ia hanya memuat
557
+ referensi atau sub-skill ketika fase itu benar-benar berjalan, jadi tugas kecil
558
+ tidak perlu membayar mesin besar.
559
+
560
+ ---
561
+
562
+ ## Panduan yang lebih panjang
563
+
564
+ Beberapa lane membawa panduan lengkapnya sendiri, di sebelah skill-nya, dengan
565
+ bahasa yang sederhana:
566
+
567
+ | Panduan | Baca kalau |
568
+ |---|---|
569
+ | [ORC-QUICK](templates/skills/orc-quick/README.md) | Anda ingin contoh lengkap lane cepat |
570
+ | [ORC-DIY](templates/skills/orc-diy/README.md) | Anda ingin meracik lane sendiri |
571
+ | [ORC-WIKI](templates/skills/orc-wiki/README.md) | Anda ingin basis pengetahuan, dan pengaturan crosslink antar repo |
572
+ | [ORC-PR-SETUP](templates/skills/orc-pr-setup/README.md) | Anda ingin memecah perubahan besar jadi PR bertumpuk |
573
+ | [ORC-PR-DRIVER](templates/skills/orc-pr-driver/README.md) | Anda sudah punya rencana tumpukan dan ingin membangun, mengirim, dan me-merge-nya |
574
+ | [Pengaturan](guides/configuration.md) ยท [Pemilihan model](guides/model-selection.md) | Anda ingin semua kuncinya, atau pita penilaiannya |
575
+
576
+ Setiap skill juga membawa `SKILL.md` dan `references/`-nya sendiri. Panduan di
577
+ atas adalah versinya untuk manusia.
578
+
579
+ ---
580
+
581
+ ## Status evaluasi
582
+
583
+ Kumpulan skill ini dinilai **dari ujung ke ujung**, bukan berkas per berkas: satu
584
+ spesifikasi yang bisa dijalankan per lane, diuji terhadap proyek Express di
585
+ kotak pasir, dan dinilai dari bukti di disk โ€” catatan jejak, folder pekerjaan,
586
+ dan berkas hasil.
587
+
588
+ Putaran penuh terakhir adalah **30 evaluasi terhadap payload v0.34.0**: 25 berkas
589
+ hasil terisi dan 38 berkas jejak, dengan 5 evaluasi yang tidak pernah dinilai dan
590
+ 2 yang hanya dinilai sebagian โ€” semuanya disebutkan namanya di laporan. Semua
591
+ yang ditemukan di sana sudah diperbaiki di rilis berikutnya atau masih tercatat.
592
+ Bacalah sebagai catatan putaran itu, bukan sebagai audit terkini:
593
+ [EVAL-REPORT.md](EVAL-REPORT.md).
594
+
595
+ ---
596
+
597
+ ## Prinsip rancangannya
598
+
599
+ - **Jangan pernah menulis kode di lapisan paling atas.** Orkestrator mengatur;
600
+ subagen bernilai yang mengerjakan.
601
+ - **Batasi cakupannya dulu, baru dikerjakan paralel.** Salah paham jauh lebih
602
+ murah diperbaiki sebelum lima agen membangun di atasnya.
603
+ - **Disk lebih dipercaya daripada ingatan.** Setiap jeda adalah titik lanjut yang
604
+ bersih.
605
+ - **Model terkunci dan bisa diperiksa.** Agen bernama, modelnya tertulis di
606
+ frontmatter.
607
+ - **Kode Anda yang menang.** Pola yang dipelajari mengalah pada proyek Anda;
608
+ hanya aturan keamanan dan kebenaran yang tidak bisa ditawar.
609
+ - **Pengetahuan itu tambahan.** Wiki membuat perencanaan lebih baik kalau ada,
610
+ dan tidak membebani apa pun kalau tidak ada.
611
+ - **Katakan apa yang tidak Anda ketahui.** `UNCHECKABLE`, `no card`,
612
+ `insufficient history` adalah jawaban sungguhan. Tebakan yang terdengar yakin
613
+ lebih buruk daripada mengakui ada yang tidak diketahui.
614
+
615
+ ---
616
+
617
+ ## Daftar perubahan
618
+
619
+ **Riwayat lengkap: [CHANGELOG.md](CHANGELOG.md)** โ€” atau `orc changelog`, yang
620
+ hanya mencetak yang lebih baru dari versi yang Anda punya.
621
+
622
+ ### v0.56.1 - pekerja yang hidup tapi tidak mengerjakan apa pun _(28-08-2026)_
623
+
624
+ **Masih memakai paket `orc` yang tanpa awalan?** Lakukan ini sekali dulu -
625
+ `orc upgrade` Anda adalah versi sebelum v0.56.0 dan tidak bisa memasang dirinya
626
+ sendiri:
627
+
628
+ - **Langkah 1 - lepaskan perintahnya dari paket lama:** `npm uninstall -g orc`
629
+ - **Langkah 2 - pasang paket yang sekarang:** `npm i -g @azure-id/orc`
630
+ - **Langkah 3 - terapkan lagi ke proyek Anda:** `orc update`
631
+
632
+ **Jangan pakai `npm i -g -f`.** Rinciannya ada di v0.56.0 di bawah.
633
+
634
+ **Pengiriman ke opencode yang diam di tengah jalan dulu menghabiskan seluruh
635
+ batas waktu lima belas menit lalu melapor `timeout`.** Kata itu bercerita
636
+ tentang kesabaran ORC, dan terbaca sebagai batas waktu yang perlu dinaikkan.
637
+ Padahal yang tertinggal adalah sebuah POSISI yang perlu dilanjutkan seseorang.
638
+
639
+ - **`extra_stall_s` (bawaan 180, `0` mematikannya)** menghentikan pekerja luar
640
+ yang tidak menghasilkan apa pun selama itu. Direset oleh kemajuan yang
641
+ terlihat - aliran keluaran pekerja, keluaran kesalahannya, atau berkas yang
642
+ dideklarasikan berubah di disk - jadi ia tidak pernah memotong pekerja yang
643
+ sekadar lambat. Hanya untuk mesin `cli`.
644
+ - **`stalled` adalah jenis kegagalannya sendiri dan boleh diulang**, jadi
645
+ `orc extra reconcile` membaca posisinya dan `extra_resume` melanjutkan dari
646
+ apa yang sudah ada di disk, bukan mengulang dari nol. Itulah cara ORC sendiri
647
+ mengetik `continue`. Sengaja tidak ada dorongan lewat stdin: `opencode run`
648
+ bukan sesi percakapan, jadi ketikan yang tak dibaca siapa pun hanyalah
649
+ perbaikan palsu.
650
+ - **Setiap balasan mesin `cli` membawa `timeline`** - bita pertama, kemajuan
651
+ terakhir, jeda diam terpanjang, dan kedua batas waktunya - baik saat berhasil
652
+ maupun gagal.
653
+ - **`orc extra health <profil> [--model <id>]`** menjawab "apakah model ini suka
654
+ diam", lewat pengawas yang SAMA dengan yang dipakai pengiriman sungguhan.
655
+ Model yang terdaftar belum tentu jalan, dan model yang jalan belum tentu
656
+ selesai.
657
+ - **`extra_fallback_agent` (bawaan `band`)** menentukan siapa yang mengambil
658
+ alih tugasnya. `ask` berhenti dan menyodorkan pilihannya kepada Anda; nama
659
+ agen apa pun yang terpasang bisa dikunci. Saat `ask`, lane-nya tidak memilih
660
+ sendiri. Ia mengubah siapa, bukan skor, daftar berkas, atau syarat
661
+ penerimaannya. Tidak berlaku di `/orc-quick`.
662
+
663
+ ### v0.56.0 - satu penggantian nama memindahkan perintahnya, dan tak seorang pun bisa meraih perbaikannya _(27-08-2026)_
664
+
665
+ **Paketnya pindah dari `orc` tanpa awalan ke `@azure-id/orc`, dan semua jalur
666
+ pemutakhiran di lapangan mati bersamaan.** Kedua nama itu mendaftarkan perintah
667
+ `orc` yang sama, dan npm tidak mau menautkannya untuk paket baru selama paket
668
+ lama masih memilikinya - jadi tarball, spesifikasi `github:`, dan registry
669
+ semuanya gagal dengan `EEXIST` yang sama pada berkas perintahnya. Itu bentrokan
670
+ BERKAS, bukan masalah sumber, dan itulah sebabnya berganti sumber tidak pernah
671
+ menolong.
672
+
673
+ - **`orc upgrade` mengusir paket lama SEBELUM mencoba sumber mana pun.**
674
+ Diumumkan, tidak pernah diam-diam. Pengenalannya lewat KEPEMILIKAN - paket
675
+ yang tidak mendaftarkan perintah `orc` tidak pernah disentuh.
676
+ - **Registry npm dicoba lebih dulu**, lalu tarball, lalu spesifikasi `github:`.
677
+ - **`--force` tetap ada untuk satu kasus yang cocok saja** - berkas perintah
678
+ yatim yang tidak dimiliki paket mana pun.
679
+ - **`orc doctor` melaporkan `legacy-global-package` dengan namanya.** Sengaja
680
+ tidak bisa diperbaiki `--fix`: jangkauan `--fix` hanya `.claude/` proyek ini.
681
+
501
682
  ### v0.55.1 โ€” ORC sudah ada di npm _(27-08-2026)_
502
683
 
503
684
  **ORC diterbitkan dengan nama [`@azure-id/orc`](https://www.npmjs.com/package/@azure-id/orc).**
@@ -511,49 +692,49 @@ ini hanya soal cara memasangnya sekarang punya nama.
511
692
  di bagian "Cara mulai", dilipat, untuk fork atau kalau Anda mengunci sebuah
512
693
  branch.
513
694
 
514
- ### v0.51.0 โ€” alat yang sudah Anda punya, dan koneksi yang membuktikan dirinya _(22-08-2026)_
515
-
516
- **Koneksi `orc extra`.** Dua alat coding yang bisa diberi pekerjaan oleh ORC
517
- adalah **program di komputer Anda sendiri**, bukan situs โ€” jadi sekarang keduanya
518
- jadi penyedia kelas satu, punya kotak hubungkan masing-masing, dan daftar model
519
- yang dibangun dari apa yang benar-benar bisa dijangkau akun Anda.
520
-
521
- - **Program bisa saja belum terpasang, dan panelnya mengatakan itu lebih dulu** โ€”
522
- empat keadaan, dihitung setiap kali, tidak pernah diingat. Alat yang belum
523
- terpasang tidak diberi tombol yang tidak mungkin berhasil, dan `orc extra add`
524
- menolak sambil menyebutkan perintah pemasangannya.
525
- - **ORC membuka terminal Anda sendiri dan menjalankan pemasangannya di sana.**
526
- Bukan pekerjaan tersembunyi di latar โ€” di dalamnya, permintaan hak
527
- administrator, kegagalan izin, unduhan 80 MB, dan tunggu empat puluh detik
528
- semuanya terlihat sama: *tidak terjadi apa-apa*. Perintahnya tampil sebelum
529
- tombolnya, jendelanya milik Anda, dan **ORC tidak pernah meminta hak
530
- administrator**. Tidak ada terminal yang bisa dibuka? Anda tetap dapat
531
- perintahnya untuk disalin.
532
- - **Uji koneksi sekarang bertingkat**: programnya ada ยท cukup baru ยท sudah masuk
533
- akun ยท model apa yang bisa dijangkau akun ini ยท dan, hanya kalau Anda minta,
534
- **apakah pesan sungguhan benar-benar dijawab** โ€” lengkap dengan waktu tempuh,
535
- jawabannya, dan empat jenis hitungan token yang tidak pernah dicampur.
536
- - **Model yang terdaftar bukan berarti model yang bekerja.**
537
- `orc extra models <nama> --test <id>` adalah satu-satunya cara membedakannya.
538
- - **Kedua alat lokal itu tidak memberi tahu model mana yang menjawab**, jadi ORC
539
- menuliskan kalimat itu, bukan membiarkan kolom kosong.
540
- - **`extra_enabled` tidak bisa dinyalakan sebelum ada yang menjawab** โ€” dulu ia
541
- akan terbaca NYALA padahal artinya MATI.
542
-
543
- Sebelumnya: **v0.50.0 โ€” pekerjaan yang berjalan di tempat lain** (`orc extra`),
544
- **v0.49.1 โ€” dewan penilai, dan `--json` yang berhenti membuang isinya**,
545
- **v0.49.0 โ€” dokumen itu folder, dan berkasnya hasil rakitan** (`/orc-doc`), dan
546
- **v0.48.1 โ€” satu berkas untuk satu hal, dan dokumen yang bisa diselesaikan**.
547
- [Baca semuanya di daftar perubahan](CHANGELOG.md).
548
-
549
- ---
550
-
551
- ## Yang dibutuhkan
552
-
553
- - **Claude Code** โ€” dialah yang membaca skill, perintah, dan agennya.
554
- - **Node 18+** โ€” hanya untuk pemasangnya. Skill-nya sendiri tidak punya
555
- dependensi apa pun.
556
-
557
- ## Lisensi
558
-
559
- MIT โ€” kolom `license` di `package.json` adalah pernyataan resminya.
695
+ ### v0.51.0 โ€” alat yang sudah Anda punya, dan koneksi yang membuktikan dirinya _(22-08-2026)_
696
+
697
+ **Koneksi `orc extra`.** Dua alat coding yang bisa diberi pekerjaan oleh ORC
698
+ adalah **program di komputer Anda sendiri**, bukan situs โ€” jadi sekarang keduanya
699
+ jadi penyedia kelas satu, punya kotak hubungkan masing-masing, dan daftar model
700
+ yang dibangun dari apa yang benar-benar bisa dijangkau akun Anda.
701
+
702
+ - **Program bisa saja belum terpasang, dan panelnya mengatakan itu lebih dulu** โ€”
703
+ empat keadaan, dihitung setiap kali, tidak pernah diingat. Alat yang belum
704
+ terpasang tidak diberi tombol yang tidak mungkin berhasil, dan `orc extra add`
705
+ menolak sambil menyebutkan perintah pemasangannya.
706
+ - **ORC membuka terminal Anda sendiri dan menjalankan pemasangannya di sana.**
707
+ Bukan pekerjaan tersembunyi di latar โ€” di dalamnya, permintaan hak
708
+ administrator, kegagalan izin, unduhan 80 MB, dan tunggu empat puluh detik
709
+ semuanya terlihat sama: *tidak terjadi apa-apa*. Perintahnya tampil sebelum
710
+ tombolnya, jendelanya milik Anda, dan **ORC tidak pernah meminta hak
711
+ administrator**. Tidak ada terminal yang bisa dibuka? Anda tetap dapat
712
+ perintahnya untuk disalin.
713
+ - **Uji koneksi sekarang bertingkat**: programnya ada ยท cukup baru ยท sudah masuk
714
+ akun ยท model apa yang bisa dijangkau akun ini ยท dan, hanya kalau Anda minta,
715
+ **apakah pesan sungguhan benar-benar dijawab** โ€” lengkap dengan waktu tempuh,
716
+ jawabannya, dan empat jenis hitungan token yang tidak pernah dicampur.
717
+ - **Model yang terdaftar bukan berarti model yang bekerja.**
718
+ `orc extra models <nama> --test <id>` adalah satu-satunya cara membedakannya.
719
+ - **Kedua alat lokal itu tidak memberi tahu model mana yang menjawab**, jadi ORC
720
+ menuliskan kalimat itu, bukan membiarkan kolom kosong.
721
+ - **`extra_enabled` tidak bisa dinyalakan sebelum ada yang menjawab** โ€” dulu ia
722
+ akan terbaca NYALA padahal artinya MATI.
723
+
724
+ Sebelumnya: **v0.50.0 โ€” pekerjaan yang berjalan di tempat lain** (`orc extra`),
725
+ **v0.49.1 โ€” dewan penilai, dan `--json` yang berhenti membuang isinya**,
726
+ **v0.49.0 โ€” dokumen itu folder, dan berkasnya hasil rakitan** (`/orc-doc`), dan
727
+ **v0.48.1 โ€” satu berkas untuk satu hal, dan dokumen yang bisa diselesaikan**.
728
+ [Baca semuanya di daftar perubahan](CHANGELOG.md).
729
+
730
+ ---
731
+
732
+ ## Yang dibutuhkan
733
+
734
+ - **Claude Code** โ€” dialah yang membaca skill, perintah, dan agennya.
735
+ - **Node 18+** โ€” hanya untuk pemasangnya. Skill-nya sendiri tidak punya
736
+ dependensi apa pun.
737
+
738
+ ## Lisensi
739
+
740
+ MIT โ€” kolom `license` di `package.json` adalah pernyataan resminya.