@ngockhoale/ukit 2.6.11 → 2.7.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.
Files changed (40) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/manifests/documentation.yaml +24 -2
  3. package/manifests/instructionRules.yaml +62 -0
  4. package/package.json +1 -1
  5. package/scripts/perf/audit-perf.mjs +920 -0
  6. package/src/cli/commands/doctor.js +23 -4
  7. package/src/core/diffPlan.js +8 -0
  8. package/src/core/ompConfigMerge.js +251 -0
  9. package/src/core/runInstallPipeline.js +11 -0
  10. package/src/core/runtimeConfig.js +16 -3
  11. package/src/core/unattendedDoctor.js +227 -0
  12. package/templates/.claude/commands/ukit/handoff-create.md +1 -1
  13. package/templates/.claude/commands/ukit/handoff-fullstack.md +2 -2
  14. package/templates/.claude/commands/ukit/handoff-implement.md +1 -1
  15. package/templates/.claude/commands/ukit/handoff-review.md +1 -1
  16. package/templates/.claude/hooks/block-dangerous.sh +76 -9
  17. package/templates/.claude/hooks/context-hardcap-gate.sh +26 -8
  18. package/templates/.claude/hooks/project-important.sh +70 -9
  19. package/templates/.claude/hooks/protect-files.sh +24 -7
  20. package/templates/.claude/hooks/sensitive-data-guard.sh +57 -5
  21. package/templates/.claude/settings.json +22 -117
  22. package/templates/.claude/ukit/runtime/hook-chain-runner.mjs +217 -10
  23. package/templates/.claude/ukit/runtime/hook-input.sh +119 -0
  24. package/templates/.omp/README.md +11 -7
  25. package/templates/.omp/RULES.md +7 -6
  26. package/templates/.omp/agents/bug-debugger.md +1 -1
  27. package/templates/.omp/agents/code-reviewer.md +1 -1
  28. package/templates/.omp/agents/feature-implementer.md +1 -1
  29. package/templates/.omp/agents/handoff-planner.md +1 -1
  30. package/templates/.omp/agents/ukit-small-task-maintainer.md +2 -2
  31. package/templates/.omp/config.yml +42 -8
  32. package/templates/.omp/hooks/pre/ukit-bridge.js +12 -1
  33. package/templates/AGENTS.md +23 -11
  34. package/templates/CLAUDE.md +23 -11
  35. package/templates/adapter-presets/opencode/opencode.template.json +1 -1
  36. package/templates/docs/UKIT_INTERNALS.md +1 -1
  37. package/templates/instructions/core.md +23 -11
  38. package/templates/instructions/layout.yaml +12 -12
  39. package/templates/instructions/overlays/omp-rules.md +7 -6
  40. package/templates/ukit/storage/config.json +9 -3
@@ -37,12 +37,12 @@ work really is, read the matching `SKILL.md` without being asked. Users never na
37
37
  ## 6. Delegate to bind a model tier
38
38
 
39
39
  Your own model does not change mid-turn. A tier only applies when work is handed to a task-agent in
40
- `.omp/agents/`, whose `model:` field (`@lite` / `@code` / `@smart` / `@vision`) resolves through
40
+ `.omp/agents/`, whose `model:` field (`@smol` / `@default` / `@slow` / `@vision`) resolves through
41
41
  `modelRoles` in `.omp/config.yml`.
42
42
 
43
- - `tiny-fix` → `@lite` · `local-fix`, `local-build`, `shared-edit`, `find-cause`, `map-impact` →
44
- `@code` · `review-release` → `@smart`
45
- - Images: `@vision` only. `@code`/`@smart` cannot see images on the UNIC gateway and must never
43
+ - `tiny-fix` → `@smol` · `local-fix`, `local-build`, `shared-edit`, `find-cause`, `map-impact` →
44
+ `@default` · `review-release` → `@slow`
45
+ - Images: `@vision` only. `@default`/`@slow` cannot see images on the UNIC gateway and must never
46
46
  guess at their contents — hand every image to `ukit-vision-analyst` first.
47
47
 
48
48
  Doing everything inline is exactly what makes UKit look like it only has one model. Keep direct
@@ -70,5 +70,6 @@ last thing you emit is one short line naming what is unfinished and what you nee
70
70
  a status — the user cannot distinguish it from a crash.
71
71
 
72
72
  > Maintainer note, not a per-turn rule: `modelRoles` in `.omp/config.yml` ships UNIC gateway names.
73
- > On a non-UNIC provider, edit only the three cost tiers — `lite`, `code`, `smart` — never `vision`,
74
- > which stays `unic-vision` because it is a capability lane, not a cost tier.
73
+ > On a non-UNIC provider, edit only the three cost tiers — `smol`, `default`, `slow` — never `vision`,
74
+ > which stays `unic-vision` (capability lane, not a cost tier). Old keys `lite`/`code`/`smart` remain
75
+ > as compat aliases — edit each alias alongside its tier (smol↔lite, default↔code, slow↔smart).
@@ -93,6 +93,7 @@
93
93
  "enabled": true,
94
94
  "orchestratorModel": "claude-sonnet-5",
95
95
  "advisorEnabled": true,
96
+ "permissionMode": "unattended",
96
97
  "contracts": {
97
98
  "tiny-fix": {
98
99
  "maxReadPasses": 0,
@@ -146,19 +147,23 @@
146
147
  "modelTiers": {
147
148
  "lite": {
148
149
  "claudeModel": "claude-haiku-4-5",
149
- "genericModel": "unic-lite"
150
+ "genericModel": "unic-lite",
151
+ "ompRole": "smol"
150
152
  },
151
153
  "code": {
152
154
  "claudeModel": "claude-sonnet-5",
153
- "genericModel": "unic-code"
155
+ "genericModel": "unic-code",
156
+ "ompRole": "default"
154
157
  },
155
158
  "smart": {
156
159
  "claudeModel": "claude-opus-5",
157
- "genericModel": "unic-smart"
160
+ "genericModel": "unic-smart",
161
+ "ompRole": "slow"
158
162
  },
159
163
  "vision": {
160
164
  "claudeModel": "unic-vision",
161
165
  "genericModel": "unic-vision",
166
+ "ompRole": "vision",
162
167
  "fallbackModel": "claude-sonnet-5",
163
168
  "capabilityTier": true,
164
169
  "note": "Capability tier, not a cost tier. Orthogonal to lite/code/smart — never insert into escalation.tierOrder. fallbackModel is used when unicMode is off."
@@ -554,6 +559,7 @@
554
559
  "enabled": "Bật ladder điều phối nội bộ của UKit. Ladder này thay cách nghĩ LITE/FULL cứng nhắc bằng các tầng tiny-fix → review-release an toàn hơn.",
555
560
  "orchestratorModel": "Model điều phối chất lượng cao để chọn execution layer. Đây là model quan trọng cho chất lượng completion, không nên dùng model quá yếu.",
556
561
  "advisorEnabled": "Cho phép UKit dùng advisor-style reasoning khi chọn layer trong tình huống mơ hồ.",
562
+ "permissionMode": "Chế độ quyền của orchestration. Ba giá trị dành riêng: interactive, safe-auto, unattended. Chu kỳ này chỉ triển khai unattended.",
557
563
  "contracts": "Bộ contract cho 7 tầng điều phối: tiny-fix, local-fix, local-build, find-cause, shared-edit, map-impact, review-release. Khi mơ hồ, UKit nên lệch lên tầng an toàn hơn dù tốn token hơn."
558
564
  },
559
565
  "memory": {