@ngockhoale/ukit 1.1.7 → 1.2.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.
@@ -0,0 +1,81 @@
1
+ # Project Status — {{project.name}}
2
+
3
+ > Living project state for AI sessions.
4
+ > Keep this compact: current state only, not a session transcript.
5
+ > Source code, tests, and the UKit index remain ground truth.
6
+
7
+ ## Freshness
8
+
9
+ - Last meaningful update: TODO YYYY-MM-DD HH:mm
10
+ - Updated by: TODO
11
+ - Status confidence: low
12
+ - Stale after: 72h
13
+
14
+ If this file is stale, AI must treat it as orientation only and verify against source/index before recommending or editing.
15
+
16
+ ## Snapshot
17
+
18
+ - Current focus: TODO
19
+ - Health: unknown
20
+ - Branch/state: TODO
21
+ - Release/version: TODO
22
+
23
+ ## Active Work
24
+
25
+ <!-- Keep only live work. Move finished work to Recently Completed or WORKLOG.md. -->
26
+
27
+ ### TODO work item
28
+
29
+ - Status: planned / in-progress / blocked / done
30
+ - Goal: TODO
31
+ - Done: TODO
32
+ - Remaining: TODO
33
+ - Files involved: TODO
34
+ - Verification: TODO
35
+ - Next action: TODO
36
+
37
+ ## Current Debug Threads
38
+
39
+ <!-- Detailed bug context belongs in docs/context/<task>.md when that exists. STATUS should only link/summarize. -->
40
+
41
+ ### TODO debug thread
42
+
43
+ - Status: investigating / root cause found / fixed / blocked
44
+ - Symptom: TODO
45
+ - Root cause: unknown
46
+ - Evidence: TODO
47
+ - Changed files: TODO
48
+ - Verification: TODO
49
+ - Remaining risk: TODO
50
+ - Next action: TODO
51
+
52
+ ## Decisions Pending
53
+
54
+ - [ ] TODO decision
55
+ - Context: TODO
56
+ - Options: TODO
57
+ - Recommended: TODO
58
+
59
+ ## Next Candidates
60
+
61
+ 1. TODO candidate
62
+ - Why now: TODO
63
+ - Expected files: TODO
64
+ - Verification: TODO
65
+ - Risk: TODO
66
+
67
+ ## Recently Completed
68
+
69
+ <!-- Max 10 compact lines. Use docs/WORKLOG.md for session history. -->
70
+
71
+ - TODO YYYY-MM-DD — summary — verification
72
+
73
+ ## Notes for Next AI Session
74
+
75
+ - Read first: docs/STATUS.md, then docs/CODE_MAP.md only if navigation is needed.
76
+ - Avoid: treating this file as source truth when it is stale or contradicted by code/tests.
77
+ - Known traps: keep concrete debug/implementation prompts on their specific workflow; do not turn them into global roadmap suggestions.
78
+
79
+ ## Future Candidate: Task Context Files
80
+
81
+ v1.2 candidate: task-scoped `docs/context/<slug>.md` files for granular bug/feature context. Keep this out of default scope unless a project already uses that folder.
@@ -0,0 +1,79 @@
1
+ # AI Task Queue — {{project.name}}
2
+
3
+ > Local AI task queue.
4
+ > Use this for work the human wants an AI/agent to pick up later.
5
+ > Keep tasks actionable; source code, tests, and project docs remain ground truth.
6
+
7
+ ## How to Use
8
+
9
+ - Human or AI can add tasks here when work is deferred.
10
+ - AI should read this for open-ended “what next?” / “continue” prompts, or when the user asks to work from the task queue.
11
+ - AI/agents may implement tasks from `Ready for AI`; do not dispatch from `Inbox` until the task has acceptance and verification notes.
12
+ - This file is local working state, not project history and not a full roadmap.
13
+ - Completed work belongs in `docs/WORKLOG.md`; current state belongs in `docs/STATUS.md`.
14
+
15
+ ## Auto-Cleanup Rules
16
+
17
+ AI should keep this file compact by default whenever it reads or updates the queue:
18
+
19
+ - Auto-remove exact duplicate tasks.
20
+ - Auto-prune `Done Recently` to max 10 compact lines.
21
+ - Auto-remove tasks from active sections after all are true:
22
+ - the task is done,
23
+ - verification is recorded,
24
+ - completion is summarized in `docs/WORKLOG.md` or `Done Recently`.
25
+ - Auto-move stale, vague, or blocked tasks to `Deferred / Needs Human Review` instead of deleting them.
26
+ - Do not delete non-completed human-authored tasks unless the user explicitly asks for cleanup and the task is clearly obsolete or duplicated.
27
+ - If the user says “clean tasks” / “dọn tasks”, perform the cleanup pass and report what changed.
28
+
29
+ ## Inbox
30
+
31
+ <!-- Raw ideas go here first. Refine before moving to Ready for AI. -->
32
+
33
+ - [ ] TODO task title
34
+ - Why: TODO
35
+ - Context: TODO
36
+ - Expected files: TODO
37
+ - Acceptance: TODO
38
+ - Verification: TODO
39
+ - Risk: low / medium / high
40
+
41
+ ## Ready for AI
42
+
43
+ <!-- Tasks here should be specific enough for an AI/agent to start without scanning the whole repo. -->
44
+
45
+ - [ ] TODO ready task
46
+ - Goal: TODO
47
+ - Files likely involved: TODO
48
+ - Constraints: TODO
49
+ - Acceptance: TODO
50
+ - Verification: TODO
51
+ - Notes: TODO
52
+
53
+ ## In Progress
54
+
55
+ - [ ] TODO active task
56
+ - Owner: human / Claude / Codex / OpenCode / agent
57
+ - Started: TODO YYYY-MM-DD
58
+ - Current state: TODO
59
+ - Next action: TODO
60
+
61
+ ## Blocked / Waiting
62
+
63
+ - [ ] TODO blocked task
64
+ - Blocker: TODO
65
+ - Needed from human: TODO
66
+
67
+ ## Deferred / Needs Human Review
68
+
69
+ <!-- AI should move stale/vague/blocked tasks here instead of deleting uncertain human intent. -->
70
+
71
+ - [ ] TODO deferred task
72
+ - Reason deferred: TODO
73
+ - Last touched: TODO YYYY-MM-DD
74
+
75
+ ## Done Recently
76
+
77
+ <!-- Keep max 10. Older completed work belongs in docs/WORKLOG.md. -->
78
+
79
+ - TODO YYYY-MM-DD — task — verification
@@ -14,6 +14,7 @@ UKit should handle:
14
14
  - hidden skill selection
15
15
  - source-code indexing
16
16
  - compact context selection
17
+ - living project status for open-ended continuation prompts
17
18
  - targeted verification
18
19
  - optional internal delegation when it is actually useful
19
20
 
@@ -127,6 +128,22 @@ Expected UKit behavior:
127
128
  2. use DuraOne references only when the repo actually matches that domain/shape
128
129
  3. keep the user away from manual skill selection
129
130
 
131
+ ### F) Continue / what next
132
+
133
+ User says:
134
+
135
+ ```text
136
+ Project đang ở đâu, làm gì tiếp?
137
+ ```
138
+
139
+ Expected UKit behavior:
140
+ 1. auto-load the hidden next-step lane
141
+ 2. read `docs/STATUS.md` first and show whether it is fresh, possibly stale, stale, or missing
142
+ 3. read `docs/TASKS.md` only when selecting queued work or when status points at queued tasks
143
+ 4. suggest only a few actionable next candidates
144
+ 5. if status/tasks are stale, verify with source/index before treating any candidate as authoritative
145
+ 6. if the prompt names a concrete bug/feature/review target, keep the concrete workflow primary instead of producing a global roadmap
146
+
130
147
  ---
131
148
 
132
149
  ## What users should NOT need to do
@@ -1,6 +1,6 @@
1
1
  # UKit Shared Runtime
2
2
 
3
- This folder stores shared UKit runtime state for v1.1.7 features.
3
+ This folder stores shared UKit runtime state for v1.2.1 features.
4
4
 
5
5
  - `storage/config.json` — runtime feature flags and defaults
6
6
  - `storage/cache/` — prompt-cache, compact history, compact pressure state, output summaries, and preserved raw tool outputs under `storage/cache/tee/`
@@ -1,11 +1,65 @@
1
1
  {
2
- "version": "1.1.7",
2
+ "version": "1.2.1",
3
3
  "agent": "claude-code",
4
4
  "compact": {
5
5
  "enabled": true,
6
6
  "tokenThreshold": 100000,
7
7
  "contextRotDetection": true,
8
- "askBeforeDrop": true
8
+ "askBeforeDrop": true,
9
+ "codexContext": {
10
+ "enabled": true,
11
+ "autoCompact": true,
12
+ "budgetTokens": 60000,
13
+ "compactTarget": 150,
14
+ "compactTargetUnit": "lines",
15
+ "decisionModelEnv": "UKIT_SMALL_TASK_MODEL",
16
+ "decisionAgent": "ukit-small-task-maintainer",
17
+ "mode": "soft-handoff",
18
+ "preserve": [
19
+ "current-goal",
20
+ "non-negotiable-rules",
21
+ "active-files",
22
+ "decisions",
23
+ "unresolved-failures",
24
+ "verification-evidence",
25
+ "next-actions"
26
+ ],
27
+ "compactTargetRecommendedRange": [
28
+ 120,
29
+ 170
30
+ ],
31
+ "compactTargetMax": 170
32
+ },
33
+ "agentContext": {
34
+ "enabled": true,
35
+ "decisionModelEnv": "UKIT_SMALL_TASK_MODEL",
36
+ "decisionAgent": "ukit-small-task-maintainer",
37
+ "executionMode": "sidecar-parallel",
38
+ "mustNotBlockMainTask": true,
39
+ "targets": {
40
+ "claude": {
41
+ "autoCompact": true,
42
+ "mode": "precompact-reinject",
43
+ "preserveExistingHooks": true
44
+ },
45
+ "opencode": {
46
+ "autoCompact": true,
47
+ "mode": "native-auto-prune",
48
+ "preserveExistingCompaction": true
49
+ },
50
+ "codex": {
51
+ "autoCompact": true,
52
+ "mode": "soft-handoff",
53
+ "compactTarget": 150,
54
+ "compactTargetUnit": "lines",
55
+ "compactTargetRecommendedRange": [
56
+ 120,
57
+ 170
58
+ ],
59
+ "compactTargetMax": 170
60
+ }
61
+ }
62
+ }
9
63
  },
10
64
  "tokenPipeline": {
11
65
  "inputCompression": true,
@@ -33,5 +87,65 @@
33
87
  "autoRetry": true,
34
88
  "maxRetries": 1,
35
89
  "confidenceThreshold": 50
90
+ },
91
+ "subagents": {
92
+ "enabled": true,
93
+ "smallTaskModel": "unic-lite",
94
+ "smallTaskAgent": "ukit-small-task-maintainer",
95
+ "smallTaskUseCases": [
96
+ "task-cleanup",
97
+ "compact-decision",
98
+ "codex-context-budget",
99
+ "doc-summarization",
100
+ "classification",
101
+ "small-decision",
102
+ "auto-triage",
103
+ "queue-maintenance",
104
+ "workspace-maintenance"
105
+ ],
106
+ "keepMainModelFor": [
107
+ "security",
108
+ "risky-code-change",
109
+ "release",
110
+ "data-loss",
111
+ "architecture-decision",
112
+ "deep-reasoning"
113
+ ],
114
+ "decisionPolicy": {
115
+ "nonBlocking": true,
116
+ "endUserInvisible": true,
117
+ "handBackOnRisk": true,
118
+ "optimizeOrder": [
119
+ "quality",
120
+ "safety",
121
+ "speed",
122
+ "token-discipline"
123
+ ],
124
+ "decisions": [
125
+ "fast-vs-slow-lane",
126
+ "safe-vs-risky-lane",
127
+ "skill-routing-needed",
128
+ "step-budget-enough",
129
+ "compact-now-or-later",
130
+ "summarize-docs-or-keep-detail"
131
+ ],
132
+ "stepBudgets": {
133
+ "trivial": {
134
+ "maxSteps": 1,
135
+ "verification": "skip-unless-risky"
136
+ },
137
+ "simple": {
138
+ "maxSteps": 2,
139
+ "verification": "targeted-if-covered"
140
+ },
141
+ "nonTrivial": {
142
+ "maxSteps": 4,
143
+ "verification": "targeted-then-widen-on-risk"
144
+ }
145
+ },
146
+ "executionMode": "sidecar-parallel",
147
+ "mustNotBlockMainTask": true,
148
+ "maxSidecarWaitMs": 0
149
+ }
36
150
  }
37
151
  }