@ngockhoale/ukit 2.3.2 → 2.3.4
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/CHANGELOG.md +100 -0
- package/package.json +1 -1
- package/src/cli/commands/diff.js +1 -1
- package/src/cli/commands/install.js +4 -1
- package/src/core/runtimeConfig.js +1 -1
- package/src/index/taskRouting.js +16 -0
- package/templates/.claude/hooks/auto-allow-bash.sh +16 -1
- package/templates/.claude/hooks/block-dangerous.sh +97 -16
- package/templates/.claude/hooks/context-hardcap-gate.sh +131 -36
- package/templates/.claude/hooks/context-window-guard.sh +33 -5
- package/templates/.claude/hooks/handoff-model-guard.sh +7 -0
- package/templates/.claude/hooks/handoff-resume.sh +71 -40
- package/templates/.claude/hooks/protect-files.sh +42 -18
- package/templates/.claude/hooks/sensitive-data-guard.sh +18 -2
- package/templates/.claude/hooks/skill-router.sh +81 -4
- package/templates/.claude/ukit/index/route-task.mjs +90 -23
- package/templates/.claude/ukit/runtime/execution-ledger.mjs +149 -11
- package/templates/.claude/ukit/runtime/hook-chain-runner.mjs +12 -1
- package/templates/.claude/ukit/runtime/reinject-context.mjs +4 -0
- package/templates/.omp/hooks/pre/ukit-bridge.js +83 -5
- package/templates/AGENTS.md +1 -1
- package/templates/CLAUDE.md +1 -1
- package/templates/docs/AI_HANDOFF/RULES.md +2 -2
- package/templates/ukit/storage/config.json +2 -2
|
@@ -79,8 +79,8 @@ Next: <bước kế tiếp chính xác>
|
|
|
79
79
|
- Subagent ghi **full log vào task file trên đĩa**, chỉ trả về orchestrator ≤10 dòng (executor) / ≤6 dòng (reviewer). Paste log ngược lại orchestrator là nguyên nhân số 1 làm run chết vì hết context.
|
|
80
80
|
- Hết mỗi wave: commit, ghi cursor, **collapse** wave đó còn 1 dòng/task trong bộ nhớ làm việc, rồi chạy tiếp.
|
|
81
81
|
- Yêu cầu `/compact` **chỉ** được đặt ở cuối command, giữa 2 cycle. Giữa cycle thì tuyệt đối không — state đã nằm hết ở git + `INDEX.md` + `RUN.md` nên compact ở ranh giới cycle không mất gì.
|
|
82
|
-
- Vượt `compact.hardCapTokens` (mặc định 500k = 50% của context window 1M) mà `RUN.md` còn run
|
|
83
|
-
- Không hook nào gọi được `/compact` — đó là lệnh client-only. Nhưng từ 2.1.3, settings mặc định đặt `env.CLAUDE_CODE_AUTO_COMPACT_WINDOW` = 70% của `hardCapTokens` (mặc định 350000 < 500k), render lúc install, nên **client tự auto-compact trước khi gate chặn**. Đường thường: auto-compact chạy → `handoff-resume.sh` replay cursor → chạy tiếp, không cần người gõ gì. Grace window ở trên chỉ còn là lưới an toàn.
|
|
82
|
+
- Vượt `compact.hardCapTokens` (mặc định 500k = 50% của context window 1M) mà `RUN.md` còn run dở **hoặc ordinary routed task có session execution ledger còn thiếu completion evidence**: `context-hardcap-gate` cho thêm `compact.hardCapGraceCalls` (mặc định 10) tool call rồi mới chặn cứng. **Grace đó chỉ để hạ cánh** — hoàn tất edit/verification đang dở và ghi state resume; không mở task mới, không đọc thêm file, không spawn agent. Hết grace là chặn thật; budget chỉ reset khi ước lượng token thực sự giảm (có compact thật), không reset theo wave.
|
|
83
|
+
- Không hook nào gọi được `/compact` — đó là lệnh client-only. Nhưng từ 2.1.3, settings mặc định đặt `env.CLAUDE_CODE_AUTO_COMPACT_WINDOW` = 70% của `hardCapTokens` (mặc định 350000 < 500k), render lúc install, nên **client tự auto-compact trước khi gate chặn**. Đường thường: auto-compact chạy → `handoff-resume.sh` replay cursor cho handoff run hoặc tiêu thụ resume intent cho ordinary task → chạy tiếp, không cần người gõ gì. Grace window ở trên chỉ còn là lưới an toàn.
|
|
84
84
|
- Sửa một trong hai số đó thì phải giữ `autoCompactWindow < hardCapTokens`. Đảo thứ tự là deadlock: gate chặn tool trước → transcript ngừng lớn → ngưỡng auto-compact không bao giờ tới. `tests/core/autoCompactWindow.test.js` khóa bất biến này.
|
|
85
85
|
|
|
86
86
|
### Git
|
|
@@ -385,7 +385,7 @@
|
|
|
385
385
|
"version": "Phiên bản config runtime đi kèm package UKit.",
|
|
386
386
|
"agent": "Adapter mặc định của workspace. Thường giữ nguyên theo lúc install.",
|
|
387
387
|
"autonomy": {
|
|
388
|
-
"level": "Mức tự chủ của UKit. conservative: hỏi trước khi fallback/escalate, không tự delegate. balanced: mặc định, hành vi hiện tại. free-run: tự chạy fallback, delegate tự nhiên hơn, bớt xác nhận.",
|
|
388
|
+
"level": "Mức tự chủ của UKit. conservative: hỏi trước khi fallback/escalate, không tự delegate. balanced: mặc định, hành vi hiện tại. free-run: tự chạy fallback, delegate tự nhiên hơn, bớt xác nhận. vibecode: chạy một prompt tới khi có kết quả — completion gate không nhả ở continuation cap, chỉ dừng khi đủ completion evidence, gặp blocker thật, hoặc quyết định lệnh nguy hiểm; mọi cú dừng đều nêu lý do.",
|
|
389
389
|
"affectVerification": "Nếu true, autonomy.level ảnh hưởng hành vi verification plan.",
|
|
390
390
|
"affectDelegation": "Nếu true, autonomy.level ảnh hưởng ngưỡng delegation."
|
|
391
391
|
},
|
|
@@ -399,7 +399,7 @@
|
|
|
399
399
|
"hardCapTokens": "Ngưỡng cứng tuyệt đối (mặc định 500000 token ước lượng = 50% của context window 1M). Chạm/vượt ngưỡng này thì context coi như quá dài — không phải gợi ý nữa, là bắt buộc. PHẢI thấp hơn context window thật của model, nếu không API sẽ báo lỗi vượt context trước khi gate kịp chặn — model 200k thì hạ xuống 100000, model 256k thì 128000. Cả env.CLAUDE_CODE_AUTO_COMPACT_WINDOW (.claude/settings.json) lẫn compaction.thresholdTokens (.omp/config.yml) đều được SUY RA từ số này khi chạy ukit install, nên chỉ cần sửa ở đây rồi cài lại là auto-compact của cả Claude Code và omp đổi theo.",
|
|
400
400
|
"autoCompactWindowRatio": "Auto-compact chạy ở bao nhiêu phần của hardCapTokens (mặc định 0.7 → 350000). Phải < 1 để client tự compact TRƯỚC khi context-hardcap-gate chặn tool; số càng nhỏ thì compact càng sớm và càng nhiều đệm an toàn.",
|
|
401
401
|
"hardCapBlock": "Nếu true, hook context-hardcap-gate chặn cứng Edit/Write/Bash (exit 2) khi vượt hardCapTokens, cho tới khi có compact thật (PreCompact) reset lại bộ đếm.",
|
|
402
|
-
"hardCapGraceCalls": "Số tool call được phép chạy tiếp sau khi vượt hardCapTokens
|
|
402
|
+
"hardCapGraceCalls": "Số tool call được phép chạy tiếp sau khi vượt hardCapTokens khi handoff run trong docs/AI_HANDOFF/RUN.md hoặc ordinary routed task có session execution ledger còn dang dở (mặc định 10). Đây chỉ là landing window: hoàn tất edit/verification đang dở và ghi state resume, không mở task mới. Hết grace là chặn cứng như cũ. Budget tính theo mỗi đợt vượt cap, chỉ reset khi ước lượng token thật sự giảm (có compact thật) — không reset theo wave.",
|
|
403
403
|
"contextRotDetection": "Phát hiện context quá dài/dễ mục để giữ lại state quan trọng trước khi AI nhớ sai.",
|
|
404
404
|
"askBeforeDrop": "Giữ thái độ thận trọng trước khi bỏ context quan trọng. Nếu rủi ro thì hand back cho main model.",
|
|
405
405
|
"agentContext": {
|