luciazero 2.2.0 → 2.4.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.md +90 -60
- package/agents/reviewer.md +34 -26
- package/claude/agents/reviewer.md +34 -26
- package/claude/hooks/luciazero-statusline.sh +3 -1
- package/claude/hooks/luciazero-verify.sh +157 -26
- package/install-codex.sh +33 -1
- package/install.sh +41 -6
- package/package.json +10 -6
- package/skills/aliases.txt +1 -2
- package/skills/bisect/SKILL.md +12 -9
- package/skills/debug/SKILL.md +30 -24
- package/skills/discipline-report/SKILL.md +21 -8
- package/skills/done/SKILL.md +36 -30
- package/skills/experiment/SKILL.md +21 -18
- package/skills/imouto-mode/SKILL.md +30 -23
- package/skills/lucia-relay/SKILL.md +47 -33
- package/skills/lucia-relay/scripts/relay.py +599 -85
- package/skills/plan/SKILL.md +15 -11
- package/skills/ready/SKILL.md +83 -67
- package/skills/retro/SKILL.md +47 -40
- package/skills/show/SKILL.md +46 -97
- package/uninstall-codex.sh +14 -2
- package/uninstall.sh +14 -2
- package/CHANGELOG.md +0 -641
- package/README.th.md +0 -252
- /package/{skills/luciazero-bootstrap → migrations/luciazero-bootstrap-v2.2.0}/SKILL.md +0 -0
package/README.th.md
DELETED
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
[English](README.md) | **ภาษาไทย**
|
|
2
|
-
|
|
3
|
-
# Luciazero สำหรับ Claude Code และ Codex CLI
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/luciazero)
|
|
6
|
-
[](https://github.com/ohm41321/luciazero/actions/workflows/ci.yml)
|
|
7
|
-
[](LICENSE)
|
|
8
|
-
|
|
9
|
-
<p align="center">
|
|
10
|
-
<img src="https://raw.githubusercontent.com/ohm41321/luciazero/main/docs/assets/lucia.png" width="280" alt="Lucia — มาสคอตของ Luciazero">
|
|
11
|
-
</p>
|
|
12
|
-
|
|
13
|
-
Luciazero ทำให้ coding agent รันลูป `วางแผน → แก้ → ตรวจ → แก้ซ้ำ`
|
|
14
|
-
แทนการส่งงานกลับมาเพราะคิดเองว่าน่าจะเสร็จแล้ว
|
|
15
|
-
|
|
16
|
-
> งานเสร็จต้องพิสูจน์ด้วยคำสั่ง ไม่ใช่คำตัดสินของ agent
|
|
17
|
-
> ถ้ายังไม่มีคำสั่งตรวจ นั่นคือบั๊กแรก
|
|
18
|
-
|
|
19
|
-
ภายในมี [doctrine 9 ข้อ](claude/luciazero.md) ที่สั้น, skill แบบเรียกเมื่อจำเป็น
|
|
20
|
-
11 ตัว, hook ติดตามการ verify, reviewer ที่ route ตามความเสี่ยง และ eval harness
|
|
21
|
-
นี่คือชั้นวินัย ไม่ใช่ agent runtime หรือระบบ orchestration สำหรับรันงานข้ามคืน
|
|
22
|
-
|
|
23
|
-
## ดูการทำงานใน 15 วินาที
|
|
24
|
-
|
|
25
|
-
GIF นี้ขับด้วย hook ที่ ship จริง ไม่ใช่ mockup:
|
|
26
|
-
|
|
27
|
-
<p align="center">
|
|
28
|
-
<img src="https://raw.githubusercontent.com/ohm41321/luciazero/main/docs/assets/statusline-demo.gif" width="720" alt="แก้ไฟล์แล้วขึ้น unverified, verify แดงยังคงแดง และเปลี่ยนเป็นเขียวเมื่อผ่าน">
|
|
29
|
-
</p>
|
|
30
|
-
|
|
31
|
-
```text
|
|
32
|
-
✎ unverified → มีการแก้หลังการตรวจครั้งล่าสุด
|
|
33
|
-
❌ verify RED → การตรวจครั้งล่าสุดไม่ผ่าน
|
|
34
|
-
✅ verify 3m → การตรวจผ่านเมื่อสามนาทีก่อน
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## ป้องกันอะไร
|
|
38
|
-
|
|
39
|
-
| ความพัง | กลไกที่จับ |
|
|
40
|
-
|---|---|
|
|
41
|
-
| บอกว่า “เสร็จ” โดยไม่ตรวจ | Stop hook เตือน; strict gate แบบ opt-in บล็อกเมื่อผลแดง |
|
|
42
|
-
| นับ `cat test.sh` ว่ารัน test | จับคู่ `LUCIAZERO_VERIFY_CMD` แบบ exact |
|
|
43
|
-
| ลดความเข้ม test เพื่อให้เขียว | Doctrine ข้อ 3 + check-suppression guard |
|
|
44
|
-
| Test ใหม่ผ่านแม้ไม่มี fix | `revert-probe.sh` รัน test กับโค้ดเก่า |
|
|
45
|
-
| ทำ scope หายเงียบ ๆ | `/done` บังคับให้ส่งครบหรือระบุสิ่งที่เว้นไว้ |
|
|
46
|
-
| เดินเข้าทางตันเดิมอีกรอบ | `/retro` บันทึก และ `/debug` อ่านก่อนเริ่ม |
|
|
47
|
-
| Context หายตอนเปลี่ยน agent | `/lucia-relay` ส่งหลักฐาน next action และ negative knowledge |
|
|
48
|
-
|
|
49
|
-
กลไกที่ตรวจด้วยเครื่องรันใน `test.sh`; ข้ออ้างด้านพฤติกรรมวัดด้วย
|
|
50
|
-
[eval harness](eval/README.md)
|
|
51
|
-
|
|
52
|
-
## ส่งงานที่ยังไม่เสร็จข้าม agent
|
|
53
|
-
|
|
54
|
-
`/lucia-relay` ส่งต่อการตัดสินใจและหลักฐาน แทนการเท transcript ทั้งแชต
|
|
55
|
-
Session A สร้าง `LUCIA_RELAY.json` ที่เป็น canonical พร้อม human view
|
|
56
|
-
ที่ generate จากไฟล์นั้น ส่วน Session B ตรวจ Git fingerprint, อ่าน next action
|
|
57
|
-
กับสมมติฐานที่ถูกหักล้าง, รัน verification ซ้ำ แล้ว consume relay อย่างชัดเจน
|
|
58
|
-
|
|
59
|
-
Relay ต้องตัดสินก่อนว่าผู้รับอยู่ที่ไหน: ถ้าอยู่เครื่องเดิมใช้ full local path
|
|
60
|
-
ได้ แต่ถ้าข้ามเครื่องต้องเป็น commit ที่ clean และ push แล้วเท่านั้น ตัวตรวจจะ
|
|
61
|
-
ปฏิเสธ path เฉพาะเครื่อง และให้ใส่ความรู้ที่อยู่นอก repo ลงใน JSON โดยตรง
|
|
62
|
-
|
|
63
|
-
<p align="center">
|
|
64
|
-
<img src="https://raw.githubusercontent.com/ohm41321/luciazero/main/docs/assets/relay-demo.gif" width="720" alt="Session หนึ่งสร้าง Lucia Relay อีก session ตรวจสอบ พบ repository drift รันหลักฐานซ้ำ และ consume relay">
|
|
65
|
-
</p>
|
|
66
|
-
|
|
67
|
-
GIF นี้รัน [implementation ที่ ship จริง](docs/assets/relay-demo.sh) ใน Git
|
|
68
|
-
repository ชั่วคราว Fixture `relay-transfer` ใน CI ให้ reference ที่สมบูรณ์
|
|
69
|
-
6/6 และปฏิเสธ handoff Markdown ทั่วไป (1/6) กับ relay ที่เนื้อหาครบแต่
|
|
70
|
-
fingerprint เก่า (5/6) ตัวเลขเหล่านี้เป็นการตรวจ protocol ด้วยเครื่อง
|
|
71
|
-
**ไม่ใช่ผล uplift ของโมเดล** อ่าน [วิธีวัดและข้อจำกัด](docs/benchmark.md#skill-protocol-evidence)
|
|
72
|
-
|
|
73
|
-
## ติดตั้ง
|
|
74
|
-
|
|
75
|
-
### Claude Code plugin — แนะนำ
|
|
76
|
-
|
|
77
|
-
ได้ doctrine, skill ทั้งหมด, reviewer และ hook ติดตาม verify:
|
|
78
|
-
|
|
79
|
-
```text
|
|
80
|
-
/plugin marketplace add ohm41321/luciazero
|
|
81
|
-
/plugin install luciazero@luciazero
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
เริ่ม repo ด้วย `/luciazero:ready` ชื่อ skill แบบ plugin มี prefix
|
|
85
|
-
`/luciazero:` และไม่มี statusline เพราะ Claude Code plugin ตั้งค่านี้ไม่ได้
|
|
86
|
-
|
|
87
|
-
### เฉพาะ skill — agent ที่รองรับ
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
npx skills add ohm41321/luciazero
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
ช่องทางนี้ติดตั้งเฉพาะ skill 11 ตัว พร้อม alias `/luciazero-bootstrap`
|
|
94
|
-
ชั่วคราว ไม่มี doctrine, reviewer หรือ hook
|
|
95
|
-
|
|
96
|
-
### Classic Claude Code และ Codex
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
npx luciazero # Claude Code
|
|
100
|
-
npx luciazero --with-hooks # Claude Code + hook/statusline; ต้องมี Python 3
|
|
101
|
-
npx luciazero codex # Codex CLI
|
|
102
|
-
|
|
103
|
-
npx luciazero uninstall
|
|
104
|
-
npx luciazero uninstall-codex
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
ฝั่ง Claude Code ให้เลือก plugin หรือ classic อย่างใดอย่างหนึ่งเพื่อไม่ต่อ hook
|
|
108
|
-
ซ้ำ Classic มี `--status`; Codex ได้ doctrine และ skill แต่ไม่มี hook/statusline
|
|
109
|
-
เฉพาะ Claude Installer สำรองชื่อที่ชน และตอนถอนจะลบเฉพาะสำเนาที่ Luciazero
|
|
110
|
-
ยืนยันความเป็นเจ้าของได้
|
|
111
|
-
|
|
112
|
-
## อัปเดต
|
|
113
|
-
|
|
114
|
-
Luciazero จะไม่แก้ไฟล์ของ classic หรือ Codex อยู่เบื้องหลัง
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
npx luciazero@latest check-update # อ่านอย่างเดียว ติดต่อ npm เฉพาะตอนนี้
|
|
118
|
-
npx luciazero@latest update # อัปเดต classic/Codex ทุกชุดที่ตรวจพบ
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
`update` รักษาโหมดเดิมว่า Claude classic ใช้ hook หรือไม่ ซ่อมไฟล์ managed ที่
|
|
122
|
-
เก่า จะไม่เริ่มติดตั้งใหม่ถ้าหา installation เดิมไม่พบ และจะหยุดเมื่อพบเวอร์ชัน
|
|
123
|
-
ที่ใหม่กว่าหรือข้อมูลเวอร์ชันเสีย หลังอัปเดตให้เริ่ม agent session ใหม่
|
|
124
|
-
|
|
125
|
-
ช่องทางอื่นใช้ตัวอัปเดตของช่องทางนั้น:
|
|
126
|
-
|
|
127
|
-
```bash
|
|
128
|
-
claude plugin update luciazero@luciazero # แล้วรัน /reload-plugins
|
|
129
|
-
npx skills update # ตรวจ scope ใน prompt ก่อนยืนยัน
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
คำสั่ง skills จะอัปเดต skill ทุกตัวใน scope ที่เลือก ไม่ใช่เฉพาะ Luciazero
|
|
133
|
-
จึงควรตรวจ prompt ก่อนยืนยัน
|
|
134
|
-
|
|
135
|
-
Claude Code อัปเดต plugin ตอนเริ่มโปรแกรมอัตโนมัติได้: เปิด `/plugin` →
|
|
136
|
-
**Marketplaces** → **luciazero** → **Enable auto-update** โดย marketplace
|
|
137
|
-
ภายนอกจะปิดตัวเลือกนี้เป็นค่าเริ่มต้น ถ้าต้องการเพียงการแจ้งเตือน release ให้ใช้
|
|
138
|
-
GitHub **Watch → Custom → Releases**
|
|
139
|
-
|
|
140
|
-
## Skill ทั้ง 11 ตัว
|
|
141
|
-
|
|
142
|
-
รัน `/ready` ก่อนหนึ่งครั้ง ที่เหลือใช้เมื่อถึงจังหวะของมัน
|
|
143
|
-
|
|
144
|
-
| จังหวะ | Skill | ผลลัพธ์ |
|
|
145
|
-
|---|---|---|
|
|
146
|
-
| เข้า repository | `/ready` | หาหรือสร้างคำสั่ง verify และพิสูจน์ว่าแดงได้ |
|
|
147
|
-
| โครงสร้างหรือหลักฐานไล่อ่านยาก | `/show` | แสดงความเชื่อมโยง สิ่งที่เปลี่ยน และหลักฐานด้วยภาพที่เล็กที่สุด |
|
|
148
|
-
| อยากได้เสียงพูดแบบลูเซียระหว่างเขียนโค้ด | `/imouto-mode focus` | เพิ่มน้ำเสียงน้องสาวซึนเดเระแบบอ่อน ๆ; ต้องเปิดเองและค่าเริ่มต้นปิด |
|
|
149
|
-
| ก่อนงานเสี่ยง กำกวม หรือแตะหลาย module | `/plan` | ล็อก scope และหลักฐานยอมรับที่สังเกตได้ |
|
|
150
|
-
| บั๊กที่มองรอบแรกไม่ออก | `/debug` | Reproduction, hypothesis ledger, regression test |
|
|
151
|
-
| รู้ revision ดีและเสีย | `/bisect` | หา first bad commit ใน worktree ชั่วคราว |
|
|
152
|
-
| ก่อนบอกว่าเสร็จ | `/done` | Full verify, skeptic review และรายงาน scope |
|
|
153
|
-
| ต้องส่งงานไปที่อื่น | `/lucia-relay` | State แบบ JSON + Markdown พร้อมตรวจ drift |
|
|
154
|
-
| ปรับ performance | `/experiment` | Baseline, เกณฑ์ชนะ และการวัดแบบควบคุม |
|
|
155
|
-
| ดูนิสัยการ verify ในเครื่อง | `/discipline-report` | รายงาน outcome กรองตามเวลา/โปรเจกต์ |
|
|
156
|
-
| หลังงานยาก | `/retro` | เก็บบทเรียนและแนวทางที่พิสูจน์แล้วว่าไม่เวิร์ก |
|
|
157
|
-
|
|
158
|
-
`/imouto-mode` จะไม่เปิดตัวเอง ใช้ `focus` (แนะนำ), `on` หรือ `off` โดยโหมดมีผล
|
|
159
|
-
เฉพาะ invocation นั้น ไม่เขียน config และหลักฐานทางเทคนิคจะใช้ภาษาตรงเสมอ
|
|
160
|
-
ผู้ใช้ plugin เรียก `/luciazero:imouto-mode focus`; ผู้ใช้ Codex เรียก
|
|
161
|
-
`$imouto-mode focus`
|
|
162
|
-
|
|
163
|
-
Diff เสี่ยงจะผ่าน `reviewer` แบบอ่านอย่างเดียวใน focus `security`, `contract`
|
|
164
|
-
หรือ `general` ถ้าเสี่ยงทั้ง security และ contract จะตรวจแยกสองรอบ
|
|
165
|
-
|
|
166
|
-
## หลักฐาน
|
|
167
|
-
|
|
168
|
-
<!-- BEGIN GENERATED: benchmark-evidence -->
|
|
169
|
-
|
|
170
|
-
### ผล Claude
|
|
171
|
-
|
|
172
|
-
Snapshot: 2026-08-11 อัตราผ่านทุกเกณฑ์ สร้างจาก raw rows ที่ commit ไว้:
|
|
173
|
-
|
|
174
|
-
| โมเดล Claude | Luciazero | Bare | ผลต่าง |
|
|
175
|
-
|---|---:|---:|---:|
|
|
176
|
-
| Haiku†, 10 valid/task | 36/60 (60%) | 27/60 (45%) | +15pp |
|
|
177
|
-
| Sonnet, 4–5 valid/task* | 25/27 (93%) | 16/26 (62%) | +31pp |
|
|
178
|
-
|
|
179
|
-
Arm `Luciazero` ติดตั้ง classic pack แบบไม่มี hook จึงไม่ใช่การแยกผลของ
|
|
180
|
-
doctrine เพียงอย่างเดียว *Sonnet ยังเป็นผล preliminary เพราะ invalid 8 rows
|
|
181
|
-
ทำให้หลาย arm มี valid run เพียง 4 รอบ ส่วนผล top-up `+37pp` เดิมถูกยกเลิก
|
|
182
|
-
เพราะหา replacement raw rows ที่ใช้ตรวจสอบซ้ำไม่ได้
|
|
183
|
-
|
|
184
|
-
†Provenance ของโมเดล Haiku ยังไม่สมบูรณ์: มีเพียง 70/140 rows ที่บันทึก
|
|
185
|
-
model identity ส่วนอีก 70 rows ระบุได้แค่ระดับไฟล์/รายงานของ campaign
|
|
186
|
-
จึงตรวจสอบโมเดลซ้ำแบบราย row ไม่ได้
|
|
187
|
-
|
|
188
|
-
### GPT/Codex pilot — ผลสำรวจเบื้องต้น
|
|
189
|
-
|
|
190
|
-
Snapshot: 2026-08-12.
|
|
191
|
-
|
|
192
|
-
| โมเดล | invocation ที่ valid | task ที่จับคู่ได้ | Luciazero | Bare | ผลต่างที่พบ |
|
|
193
|
-
|---|---:|---:|---:|---:|---:|
|
|
194
|
-
| GPT-5.6 Terra, medium | 11/12* | 5 | 5/5 runs, 28/28 criteria | 5/5 runs, 28/28 criteria | +0pp† |
|
|
195
|
-
|
|
196
|
-
*Luciazero 1 run ถูกตัดเป็น invalid เพราะ model capacity เต็ม †นี่คือ
|
|
197
|
-
**สัญญาณว่า benchmark อาจง่ายเกินไป ไม่ใช่หลักฐานว่ามีหรือไม่มี uplift** เพราะ
|
|
198
|
-
pilot มีเพียง 1 run ต่อ arm ต่อ task ดู [ผลเต็ม](docs/benchmark.md),
|
|
199
|
-
[campaign registry](eval/results/campaigns.json) และ
|
|
200
|
-
[raw pilot](eval/results/gpt-5.6-terra-medium-pilot-2026-08-12.jsonl)
|
|
201
|
-
|
|
202
|
-
<!-- END GENERATED: benchmark-evidence -->
|
|
203
|
-
|
|
204
|
-
## Requirement และความปลอดภัย
|
|
205
|
-
|
|
206
|
-
- Node.js 18+ สำหรับ CLI และ discipline report
|
|
207
|
-
- Bash สำหรับ classic installer; Python 3 สำหรับ hook และ Lucia Relay
|
|
208
|
-
- Installer, hook, helper และ grader หลักรัน offline ส่วน behavioral eval จริง
|
|
209
|
-
เรียก model CLI และใช้เครดิต API หรือโควตา subscription
|
|
210
|
-
- Hook รันคำสั่งบนเครื่อง ควรอ่านก่อนเปิดใช้
|
|
211
|
-
- Telemetry ของ hook อยู่ใน private state แยกตาม session ภายในเครื่อง เก็บเวลา
|
|
212
|
-
wall time ของ turn/Bash และจำนวน Bash, verify, skill ที่ model/user เรียก
|
|
213
|
-
โดยไม่เก็บ command, ชื่อ skill หรือ path ดิบ
|
|
214
|
-
- ตั้ง `LUCIAZERO_VERIFY_CMD` เป็นคำสั่ง verify ระดับเร็วที่ exact ของ repo
|
|
215
|
-
- ใส่ `LUCIAZERO_STRICT_VERIFY_CMD` ใน personal settings เท่านั้น ห้าม commit ลง
|
|
216
|
-
config ของ repository; strict mode จะ fail open เมื่อเกิด internal error
|
|
217
|
-
|
|
218
|
-
อ่าน trust boundary ฉบับเต็มใน [SECURITY.md](SECURITY.md)
|
|
219
|
-
|
|
220
|
-
## พัฒนา repo นี้
|
|
221
|
-
|
|
222
|
-
```bash
|
|
223
|
-
./test.sh --fast # loop ระหว่างทำ: ตรวจ doctrine/hook/report/Relay ส่วนหลัก
|
|
224
|
-
./test.sh # ปิดงาน/CI: ตรวจ eval, packaging และ install แบบเต็ม
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
fast tier เป็นคำสั่งระหว่างทำงานของ repo นี้; ถ้าแก้ส่วนที่ fast tier ไม่ครอบคลุม
|
|
228
|
-
ให้ใช้คำสั่ง targeted ของส่วนนั้น ส่วน full tier (`./test.sh` หรือ
|
|
229
|
-
`./test.sh --full`) ครอบคลุม script, state ของ hook, Relay, bisect, manifest ของ
|
|
230
|
-
plugin/npm, eval grader ที่พิสูจน์ตัวเองได้ และ install → reinstall → uninstall
|
|
231
|
-
แบบ sandbox ทั้ง Claude Code และ Codex โดย CI และ `/done` ใช้ full tier
|
|
232
|
-
|
|
233
|
-
อ่านต่อ:
|
|
234
|
-
|
|
235
|
-
- [สถาปัตยกรรมและ trade-off](docs/comparison.md)
|
|
236
|
-
- [วิธีทำ eval](eval/README.md)
|
|
237
|
-
- [ผล benchmark และแผน GPT](docs/benchmark.md)
|
|
238
|
-
- [ทะเบียน raw campaign](eval/results/campaigns.json)
|
|
239
|
-
- [บันทึกการทดลอง](docs/experiments.md)
|
|
240
|
-
- [การ contribute](CONTRIBUTING.md)
|
|
241
|
-
- [การ publish](docs/publishing.md)
|
|
242
|
-
- [Changelog](CHANGELOG.md)
|
|
243
|
-
|
|
244
|
-
## ผลิตภัณฑ์ในเครือและสนับสนุน
|
|
245
|
-
|
|
246
|
-
Luciazero ใช้มาสคอตร่วมกับ [Lucia](https://lucia-discord-bot.vercel.app)
|
|
247
|
-
Discord bot ภาษาไทย ถ้า Luciazero ช่วยลดรอบ review ได้
|
|
248
|
-
[สนับสนุนโปรเจกต์ได้ที่นี่](https://easydonate.app/itsathitz) 💚
|
|
249
|
-
|
|
250
|
-
## License
|
|
251
|
-
|
|
252
|
-
[MIT](LICENSE)
|
|
File without changes
|