@ngockhoale/ukit 2.6.5 → 2.6.6
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 +35 -0
- package/manifests/documentation.yaml +605 -0
- package/package.json +2 -2
- package/templates/.codex/README.md +1 -1
- package/templates/ukit/README.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,41 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to UKit are documented here.
|
|
4
4
|
|
|
5
|
+
## 2.6.6 - 2026-09-19
|
|
6
|
+
|
|
7
|
+
Documentation-hardening release — first slice of the
|
|
8
|
+
DOCUMENTATION_IMPROVEMENT_ROADMAP (cycle C24, DOC-001..006). No runtime
|
|
9
|
+
behavior changes: new manifest, new test lanes, doc cleanup, and a shipped
|
|
10
|
+
registry the remaining roadmap items build on.
|
|
11
|
+
|
|
12
|
+
- **DOC-001 — documentation ownership/source registry**: new
|
|
13
|
+
`manifests/documentation.yaml` classifies every active/template/adapter
|
|
14
|
+
documentation surface (owner, source_of_truth, merge_strategy, budget);
|
|
15
|
+
`tests/consistency/docRegistry.test.js` enforces schema, coverage,
|
|
16
|
+
manifest-skip consistency, and `error`-level budgets.
|
|
17
|
+
- **DOC-002 — cross-agent benchmark corpus**: spec + fixtures at
|
|
18
|
+
`tests/fixtures/doc-benchmark/` (corpus index, 4 host files, 9+ task files);
|
|
19
|
+
`tests/benchmarks/docBenchmarkCorpus.test.js` validates structure and
|
|
20
|
+
registry cross-references. Host execution deferred — every host recorded
|
|
21
|
+
`untested` (roadmap-permitted).
|
|
22
|
+
- **DOC-003 — artifact reference-integrity checks**:
|
|
23
|
+
`tests/integration/artifactReferenceIntegrity.test.js` fails when a shipped
|
|
24
|
+
instruction/skill doc references an internal command/file that does not
|
|
25
|
+
resolve into the `npm pack` artifact (or the declared runtime-generated
|
|
26
|
+
allowlist); wired into `yarn test:artifact`.
|
|
27
|
+
- **DOC-004 — owner-file preservation lifecycle tests**:
|
|
28
|
+
`tests/integration/ownerPreservation.test.js` proves install/update/uninstall
|
|
29
|
+
preserve exact bytes and symlink posture of every registry
|
|
30
|
+
`merge_strategy: skip` file, including BOM/CRLF and absent-seed cases.
|
|
31
|
+
- **DOC-005 — STATUS.md live snapshot**: `docs/STATUS.md` shrunk to a ≤150-line
|
|
32
|
+
live snapshot; historical body preserved verbatim at
|
|
33
|
+
`docs/archive/status/STATUS-2026-09-19.md` with two-way links; registry
|
|
34
|
+
budget for STATUS.md flipped to `error`.
|
|
35
|
+
- **DOC-006 — adapter stale-version cleanup**: zero stale `vX.Y.Z` literals on
|
|
36
|
+
adapter doc surfaces (`templates/.codex/README.md`, `.codex/README.md`,
|
|
37
|
+
`templates/ukit/README.md`, `.ukit/README.md`); Codex-specific mechanics
|
|
38
|
+
retained; `tests/consistency/staleVersionProse.test.js` enforces.
|
|
39
|
+
|
|
5
40
|
## 2.6.5 - 2026-09-19
|
|
6
41
|
|
|
7
42
|
Stability release — third full audit pass on the 2.6.4 base (cycle C23). 15
|
|
@@ -0,0 +1,605 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
generated: false
|
|
3
|
+
description: >-
|
|
4
|
+
Machine-readable ownership/source registry for every documentation surface.
|
|
5
|
+
Hand-authored per SPEC §7; enforced by tests/consistency/docRegistry.test.js.
|
|
6
|
+
entries:
|
|
7
|
+
# ── Repo root ────────────────────────────────────────────────────────────
|
|
8
|
+
- id: root-claude-md
|
|
9
|
+
path: CLAUDE.md
|
|
10
|
+
class: canonical
|
|
11
|
+
audience: [agent, maintainer]
|
|
12
|
+
owner: product
|
|
13
|
+
source_of_truth: CLAUDE.md
|
|
14
|
+
merge_strategy: skip
|
|
15
|
+
load_policy: always
|
|
16
|
+
validation: [manual]
|
|
17
|
+
archive_policy: never
|
|
18
|
+
notes: repo-owned copy; never overwritten by ukit install/update
|
|
19
|
+
- id: root-agents-md
|
|
20
|
+
path: AGENTS.md
|
|
21
|
+
class: canonical
|
|
22
|
+
audience: [agent, maintainer]
|
|
23
|
+
owner: product
|
|
24
|
+
source_of_truth: AGENTS.md
|
|
25
|
+
merge_strategy: skip
|
|
26
|
+
load_policy: always
|
|
27
|
+
validation: [manual]
|
|
28
|
+
archive_policy: never
|
|
29
|
+
notes: repo-owned copy; never overwritten by ukit install/update
|
|
30
|
+
- id: root-readme
|
|
31
|
+
path: README.md
|
|
32
|
+
class: canonical
|
|
33
|
+
audience: [user, maintainer, contributor]
|
|
34
|
+
owner: product
|
|
35
|
+
source_of_truth: README.md
|
|
36
|
+
merge_strategy: none
|
|
37
|
+
load_policy: on-demand
|
|
38
|
+
validation: [manual]
|
|
39
|
+
archive_policy: never
|
|
40
|
+
notes: v1.3.1 prose — DOC-107 queued
|
|
41
|
+
- id: root-quick-start
|
|
42
|
+
path: QUICK_START.md
|
|
43
|
+
class: canonical
|
|
44
|
+
audience: [user, maintainer]
|
|
45
|
+
owner: product
|
|
46
|
+
source_of_truth: QUICK_START.md
|
|
47
|
+
merge_strategy: none
|
|
48
|
+
load_policy: on-demand
|
|
49
|
+
validation: [manual]
|
|
50
|
+
archive_policy: never
|
|
51
|
+
notes: maintainer-authored quick start
|
|
52
|
+
- id: root-project-important
|
|
53
|
+
path: PROJECT_IMPORTANT.md
|
|
54
|
+
class: owner
|
|
55
|
+
audience: [owner, agent]
|
|
56
|
+
owner: project-owner
|
|
57
|
+
source_of_truth: PROJECT_IMPORTANT.md
|
|
58
|
+
merge_strategy: skip
|
|
59
|
+
load_policy: always
|
|
60
|
+
validation: [manual]
|
|
61
|
+
archive_policy: owner-decides
|
|
62
|
+
notes: user-authored owner file living in this repo; installed target of manifest `project-important`
|
|
63
|
+
- id: root-changelog
|
|
64
|
+
path: CHANGELOG.md
|
|
65
|
+
class: canonical
|
|
66
|
+
audience: [maintainer, user]
|
|
67
|
+
owner: release
|
|
68
|
+
source_of_truth: CHANGELOG.md
|
|
69
|
+
merge_strategy: none
|
|
70
|
+
load_policy: on-demand
|
|
71
|
+
validation: [manual]
|
|
72
|
+
archive_policy: never
|
|
73
|
+
notes: release record
|
|
74
|
+
- id: registry-self
|
|
75
|
+
path: manifests/documentation.yaml
|
|
76
|
+
class: canonical
|
|
77
|
+
audience: [agent, maintainer]
|
|
78
|
+
owner: product
|
|
79
|
+
source_of_truth: manifests/documentation.yaml
|
|
80
|
+
merge_strategy: none
|
|
81
|
+
load_policy: on-demand
|
|
82
|
+
validation: [test:tests/consistency/docRegistry.test.js]
|
|
83
|
+
archive_policy: never
|
|
84
|
+
notes: self-describing entry
|
|
85
|
+
|
|
86
|
+
# ── docs/ canonical files ────────────────────────────────────────────────
|
|
87
|
+
- id: docs-bugfix
|
|
88
|
+
path: docs/BUGFIX.md
|
|
89
|
+
class: canonical
|
|
90
|
+
audience: [agent, maintainer]
|
|
91
|
+
owner: product
|
|
92
|
+
source_of_truth: docs/BUGFIX.md
|
|
93
|
+
merge_strategy: none
|
|
94
|
+
load_policy: on-demand
|
|
95
|
+
validation: [manual]
|
|
96
|
+
archive_policy: never
|
|
97
|
+
- id: docs-bug-index
|
|
98
|
+
path: docs/BUG_INDEX.md
|
|
99
|
+
class: canonical
|
|
100
|
+
audience: [agent, maintainer]
|
|
101
|
+
owner: product
|
|
102
|
+
source_of_truth: docs/BUG_INDEX.md
|
|
103
|
+
merge_strategy: none
|
|
104
|
+
load_policy: on-demand
|
|
105
|
+
validation: [manual]
|
|
106
|
+
archive_policy: never
|
|
107
|
+
- id: docs-bug-metrics
|
|
108
|
+
path: docs/BUG_METRICS.md
|
|
109
|
+
class: canonical
|
|
110
|
+
audience: [agent, maintainer]
|
|
111
|
+
owner: product
|
|
112
|
+
source_of_truth: docs/BUG_METRICS.md
|
|
113
|
+
merge_strategy: none
|
|
114
|
+
load_policy: on-demand
|
|
115
|
+
validation: [manual]
|
|
116
|
+
archive_policy: never
|
|
117
|
+
- id: docs-bug-template
|
|
118
|
+
path: docs/BUG_TEMPLATE.md
|
|
119
|
+
class: canonical
|
|
120
|
+
audience: [agent, maintainer]
|
|
121
|
+
owner: product
|
|
122
|
+
source_of_truth: docs/BUG_TEMPLATE.md
|
|
123
|
+
merge_strategy: none
|
|
124
|
+
load_policy: on-demand
|
|
125
|
+
validation: [manual]
|
|
126
|
+
archive_policy: never
|
|
127
|
+
- id: docs-code-map
|
|
128
|
+
path: docs/CODE_MAP.md
|
|
129
|
+
class: canonical
|
|
130
|
+
audience: [agent, maintainer]
|
|
131
|
+
owner: product
|
|
132
|
+
source_of_truth: docs/CODE_MAP.md
|
|
133
|
+
merge_strategy: none
|
|
134
|
+
load_policy: task-routed
|
|
135
|
+
validation: [manual]
|
|
136
|
+
archive_policy: never
|
|
137
|
+
budget: { max_lines: 250, enforcement: warning }
|
|
138
|
+
- id: docs-improvement-roadmap
|
|
139
|
+
path: docs/DOCUMENTATION_IMPROVEMENT_ROADMAP.md
|
|
140
|
+
class: canonical
|
|
141
|
+
audience: [maintainer]
|
|
142
|
+
owner: product
|
|
143
|
+
source_of_truth: docs/DOCUMENTATION_IMPROVEMENT_ROADMAP.md
|
|
144
|
+
merge_strategy: none
|
|
145
|
+
load_policy: on-demand
|
|
146
|
+
validation: [manual]
|
|
147
|
+
archive_policy: never
|
|
148
|
+
- id: docs-gateway
|
|
149
|
+
path: docs/GATEWAY.md
|
|
150
|
+
class: canonical
|
|
151
|
+
audience: [agent, maintainer]
|
|
152
|
+
owner: adapter
|
|
153
|
+
source_of_truth: docs/GATEWAY.md
|
|
154
|
+
merge_strategy: none
|
|
155
|
+
load_policy: on-demand
|
|
156
|
+
validation: [manual]
|
|
157
|
+
archive_policy: never
|
|
158
|
+
- id: docs-install
|
|
159
|
+
path: docs/INSTALL.md
|
|
160
|
+
class: canonical
|
|
161
|
+
audience: [user, maintainer]
|
|
162
|
+
owner: product
|
|
163
|
+
source_of_truth: docs/INSTALL.md
|
|
164
|
+
merge_strategy: none
|
|
165
|
+
load_policy: on-demand
|
|
166
|
+
validation: [manual]
|
|
167
|
+
archive_policy: never
|
|
168
|
+
- id: docs-memory
|
|
169
|
+
path: docs/MEMORY.md
|
|
170
|
+
class: canonical
|
|
171
|
+
audience: [agent, maintainer]
|
|
172
|
+
owner: product
|
|
173
|
+
source_of_truth: docs/MEMORY.md
|
|
174
|
+
merge_strategy: none
|
|
175
|
+
load_policy: task-routed
|
|
176
|
+
validation: [manual]
|
|
177
|
+
archive_policy: never
|
|
178
|
+
budget: { max_lines: 200, enforcement: warning }
|
|
179
|
+
- id: docs-project
|
|
180
|
+
path: docs/PROJECT.md
|
|
181
|
+
class: canonical
|
|
182
|
+
audience: [agent, maintainer]
|
|
183
|
+
owner: product
|
|
184
|
+
source_of_truth: docs/PROJECT.md
|
|
185
|
+
merge_strategy: none
|
|
186
|
+
load_policy: on-demand
|
|
187
|
+
validation: [manual]
|
|
188
|
+
archive_policy: never
|
|
189
|
+
- id: docs-project-important-spec
|
|
190
|
+
path: docs/PROJECT_IMPORTANT_SPEC.md
|
|
191
|
+
class: canonical
|
|
192
|
+
audience: [agent, maintainer]
|
|
193
|
+
owner: product
|
|
194
|
+
source_of_truth: docs/PROJECT_IMPORTANT_SPEC.md
|
|
195
|
+
merge_strategy: none
|
|
196
|
+
load_policy: on-demand
|
|
197
|
+
validation: [manual]
|
|
198
|
+
archive_policy: never
|
|
199
|
+
- id: docs-prompt-caching
|
|
200
|
+
path: docs/PROMPT_CACHING.md
|
|
201
|
+
class: canonical
|
|
202
|
+
audience: [agent, maintainer]
|
|
203
|
+
owner: product
|
|
204
|
+
source_of_truth: docs/PROMPT_CACHING.md
|
|
205
|
+
merge_strategy: none
|
|
206
|
+
load_policy: on-demand
|
|
207
|
+
validation: [manual]
|
|
208
|
+
archive_policy: never
|
|
209
|
+
- id: docs-release-checklist
|
|
210
|
+
path: docs/RELEASE_CHECKLIST.md
|
|
211
|
+
class: canonical
|
|
212
|
+
audience: [maintainer]
|
|
213
|
+
owner: release
|
|
214
|
+
source_of_truth: docs/RELEASE_CHECKLIST.md
|
|
215
|
+
merge_strategy: none
|
|
216
|
+
load_policy: on-demand
|
|
217
|
+
validation: [manual]
|
|
218
|
+
archive_policy: never
|
|
219
|
+
- id: docs-ukit-codev-principles
|
|
220
|
+
path: docs/UKIT_CODEV_PRINCIPLES.md
|
|
221
|
+
class: canonical
|
|
222
|
+
audience: [agent, maintainer]
|
|
223
|
+
owner: product
|
|
224
|
+
source_of_truth: docs/UKIT_CODEV_PRINCIPLES.md
|
|
225
|
+
merge_strategy: none
|
|
226
|
+
load_policy: on-demand
|
|
227
|
+
validation: [manual]
|
|
228
|
+
archive_policy: never
|
|
229
|
+
- id: docs-ukit-usage-guide
|
|
230
|
+
path: docs/UKIT_USAGE_GUIDE.md
|
|
231
|
+
class: canonical
|
|
232
|
+
audience: [user, maintainer]
|
|
233
|
+
owner: product
|
|
234
|
+
source_of_truth: docs/UKIT_USAGE_GUIDE.md
|
|
235
|
+
merge_strategy: none
|
|
236
|
+
load_policy: on-demand
|
|
237
|
+
validation: [manual]
|
|
238
|
+
archive_policy: never
|
|
239
|
+
- id: docs-worklog-archive
|
|
240
|
+
path: docs/WORKLOG_ARCHIVE.md
|
|
241
|
+
class: canonical
|
|
242
|
+
audience: [agent, maintainer]
|
|
243
|
+
owner: product
|
|
244
|
+
source_of_truth: docs/WORKLOG_ARCHIVE.md
|
|
245
|
+
merge_strategy: none
|
|
246
|
+
load_policy: on-demand
|
|
247
|
+
validation: [manual]
|
|
248
|
+
archive_policy: never
|
|
249
|
+
|
|
250
|
+
# ── docs/ runtime + dir families ─────────────────────────────────────────
|
|
251
|
+
- id: docs-status
|
|
252
|
+
path: docs/STATUS.md
|
|
253
|
+
class: runtime
|
|
254
|
+
audience: [agent, maintainer]
|
|
255
|
+
owner: runtime
|
|
256
|
+
source_of_truth: docs/STATUS.md
|
|
257
|
+
merge_strategy: none
|
|
258
|
+
load_policy: continuation-only
|
|
259
|
+
validation: [manual]
|
|
260
|
+
archive_policy: date-rotate
|
|
261
|
+
budget: { max_lines: 150, enforcement: error }
|
|
262
|
+
notes: enforcement flipped to error by TASK-005 (2026-09-19)
|
|
263
|
+
- id: docs-worklog
|
|
264
|
+
path: docs/WORKLOG.md
|
|
265
|
+
class: runtime
|
|
266
|
+
audience: [agent, maintainer]
|
|
267
|
+
owner: runtime
|
|
268
|
+
source_of_truth: docs/WORKLOG.md
|
|
269
|
+
merge_strategy: none
|
|
270
|
+
load_policy: continuation-only
|
|
271
|
+
validation: [manual]
|
|
272
|
+
archive_policy: never
|
|
273
|
+
budget: { max_lines: 600, enforcement: warning }
|
|
274
|
+
notes: rotation = DOC-105
|
|
275
|
+
- id: docs-ai-handoff
|
|
276
|
+
path: docs/AI_HANDOFF/
|
|
277
|
+
class: runtime
|
|
278
|
+
audience: [agent, maintainer]
|
|
279
|
+
owner: runtime
|
|
280
|
+
source_of_truth: docs/AI_HANDOFF/
|
|
281
|
+
merge_strategy: none
|
|
282
|
+
load_policy: task-routed
|
|
283
|
+
validation: [manual]
|
|
284
|
+
archive_policy: never
|
|
285
|
+
notes: dir entry — covers all files beneath
|
|
286
|
+
- id: docs-archive
|
|
287
|
+
path: docs/archive/
|
|
288
|
+
class: archive
|
|
289
|
+
audience: [maintainer]
|
|
290
|
+
owner: product
|
|
291
|
+
source_of_truth: docs/archive/
|
|
292
|
+
merge_strategy: none
|
|
293
|
+
load_policy: never
|
|
294
|
+
validation: [none]
|
|
295
|
+
archive_policy: immutable
|
|
296
|
+
notes: covers docs/archive/releases/ — no separate row
|
|
297
|
+
- id: docs-baseline
|
|
298
|
+
path: docs/_baseline/
|
|
299
|
+
class: archive
|
|
300
|
+
audience: [maintainer]
|
|
301
|
+
owner: product
|
|
302
|
+
source_of_truth: docs/_baseline/
|
|
303
|
+
merge_strategy: none
|
|
304
|
+
load_policy: never
|
|
305
|
+
validation: [none]
|
|
306
|
+
archive_policy: immutable
|
|
307
|
+
- id: docs-plans
|
|
308
|
+
path: docs/plans/
|
|
309
|
+
class: archive
|
|
310
|
+
audience: [maintainer]
|
|
311
|
+
owner: product
|
|
312
|
+
source_of_truth: docs/plans/
|
|
313
|
+
merge_strategy: none
|
|
314
|
+
load_policy: never
|
|
315
|
+
validation: [none]
|
|
316
|
+
archive_policy: immutable
|
|
317
|
+
- id: docs-research
|
|
318
|
+
path: docs/research/
|
|
319
|
+
class: archive
|
|
320
|
+
audience: [maintainer]
|
|
321
|
+
owner: product
|
|
322
|
+
source_of_truth: docs/research/
|
|
323
|
+
merge_strategy: none
|
|
324
|
+
load_policy: never
|
|
325
|
+
validation: [none]
|
|
326
|
+
archive_policy: immutable
|
|
327
|
+
|
|
328
|
+
# ── templates/ canonical authoring sources ───────────────────────────────
|
|
329
|
+
- id: tpl-claude-md
|
|
330
|
+
path: templates/CLAUDE.md
|
|
331
|
+
class: canonical
|
|
332
|
+
audience: [agent, maintainer]
|
|
333
|
+
owner: product
|
|
334
|
+
source_of_truth: templates/CLAUDE.md
|
|
335
|
+
merge_strategy: overwrite_with_backup
|
|
336
|
+
load_policy: always
|
|
337
|
+
validation: [manual]
|
|
338
|
+
archive_policy: never
|
|
339
|
+
notes: renders to installed roots
|
|
340
|
+
- id: tpl-agents-md
|
|
341
|
+
path: templates/AGENTS.md
|
|
342
|
+
class: canonical
|
|
343
|
+
audience: [agent, maintainer]
|
|
344
|
+
owner: product
|
|
345
|
+
source_of_truth: templates/AGENTS.md
|
|
346
|
+
merge_strategy: overwrite_with_backup
|
|
347
|
+
load_policy: always
|
|
348
|
+
validation: [manual]
|
|
349
|
+
archive_policy: never
|
|
350
|
+
notes: renders to installed roots
|
|
351
|
+
- id: tpl-project-important
|
|
352
|
+
path: templates/PROJECT_IMPORTANT.md
|
|
353
|
+
class: canonical
|
|
354
|
+
audience: [owner, agent, maintainer]
|
|
355
|
+
owner: project-owner
|
|
356
|
+
source_of_truth: templates/PROJECT_IMPORTANT.md
|
|
357
|
+
merge_strategy: skip
|
|
358
|
+
load_policy: always
|
|
359
|
+
validation: [manual]
|
|
360
|
+
archive_policy: never
|
|
361
|
+
notes: seeds owner file
|
|
362
|
+
- id: tpl-docs-dir
|
|
363
|
+
path: templates/docs/
|
|
364
|
+
class: canonical
|
|
365
|
+
audience: [agent, maintainer]
|
|
366
|
+
owner: product
|
|
367
|
+
source_of_truth: templates/docs/
|
|
368
|
+
merge_strategy: overwrite_with_backup
|
|
369
|
+
load_policy: on-demand
|
|
370
|
+
validation: [manual]
|
|
371
|
+
archive_policy: never
|
|
372
|
+
notes: default for docs templates; skip items have per-file entries below
|
|
373
|
+
- id: tpl-docs-project
|
|
374
|
+
path: templates/docs/PROJECT.md
|
|
375
|
+
class: canonical
|
|
376
|
+
audience: [agent, maintainer]
|
|
377
|
+
owner: product
|
|
378
|
+
source_of_truth: templates/docs/PROJECT.md
|
|
379
|
+
merge_strategy: skip
|
|
380
|
+
load_policy: on-demand
|
|
381
|
+
validation: [manual]
|
|
382
|
+
archive_policy: never
|
|
383
|
+
- id: tpl-docs-memory
|
|
384
|
+
path: templates/docs/MEMORY.md
|
|
385
|
+
class: canonical
|
|
386
|
+
audience: [agent, maintainer]
|
|
387
|
+
owner: product
|
|
388
|
+
source_of_truth: templates/docs/MEMORY.md
|
|
389
|
+
merge_strategy: skip
|
|
390
|
+
load_policy: on-demand
|
|
391
|
+
validation: [manual]
|
|
392
|
+
archive_policy: never
|
|
393
|
+
- id: tpl-docs-worklog
|
|
394
|
+
path: templates/docs/WORKLOG.md
|
|
395
|
+
class: canonical
|
|
396
|
+
audience: [agent, maintainer]
|
|
397
|
+
owner: product
|
|
398
|
+
source_of_truth: templates/docs/WORKLOG.md
|
|
399
|
+
merge_strategy: skip
|
|
400
|
+
load_policy: on-demand
|
|
401
|
+
validation: [manual]
|
|
402
|
+
archive_policy: never
|
|
403
|
+
- id: tpl-docs-code-map
|
|
404
|
+
path: templates/docs/CODE_MAP.md
|
|
405
|
+
class: canonical
|
|
406
|
+
audience: [agent, maintainer]
|
|
407
|
+
owner: product
|
|
408
|
+
source_of_truth: templates/docs/CODE_MAP.md
|
|
409
|
+
merge_strategy: skip
|
|
410
|
+
load_policy: on-demand
|
|
411
|
+
validation: [manual]
|
|
412
|
+
archive_policy: never
|
|
413
|
+
- id: tpl-docs-bugfix
|
|
414
|
+
path: templates/docs/BUGFIX.md
|
|
415
|
+
class: canonical
|
|
416
|
+
audience: [agent, maintainer]
|
|
417
|
+
owner: product
|
|
418
|
+
source_of_truth: templates/docs/BUGFIX.md
|
|
419
|
+
merge_strategy: skip
|
|
420
|
+
load_policy: on-demand
|
|
421
|
+
validation: [manual]
|
|
422
|
+
archive_policy: never
|
|
423
|
+
- id: tpl-docs-bug-template
|
|
424
|
+
path: templates/docs/BUG_TEMPLATE.md
|
|
425
|
+
class: canonical
|
|
426
|
+
audience: [agent, maintainer]
|
|
427
|
+
owner: product
|
|
428
|
+
source_of_truth: templates/docs/BUG_TEMPLATE.md
|
|
429
|
+
merge_strategy: skip
|
|
430
|
+
load_policy: on-demand
|
|
431
|
+
validation: [manual]
|
|
432
|
+
archive_policy: never
|
|
433
|
+
- id: tpl-docs-bug-index
|
|
434
|
+
path: templates/docs/BUG_INDEX.md
|
|
435
|
+
class: canonical
|
|
436
|
+
audience: [agent, maintainer]
|
|
437
|
+
owner: product
|
|
438
|
+
source_of_truth: templates/docs/BUG_INDEX.md
|
|
439
|
+
merge_strategy: skip
|
|
440
|
+
load_policy: on-demand
|
|
441
|
+
validation: [manual]
|
|
442
|
+
archive_policy: never
|
|
443
|
+
- id: tpl-docs-bug-metrics
|
|
444
|
+
path: templates/docs/BUG_METRICS.md
|
|
445
|
+
class: canonical
|
|
446
|
+
audience: [agent, maintainer]
|
|
447
|
+
owner: product
|
|
448
|
+
source_of_truth: templates/docs/BUG_METRICS.md
|
|
449
|
+
merge_strategy: skip
|
|
450
|
+
load_policy: on-demand
|
|
451
|
+
validation: [manual]
|
|
452
|
+
archive_policy: never
|
|
453
|
+
- id: tpl-docs-ai-handoff
|
|
454
|
+
path: templates/docs/AI_HANDOFF/
|
|
455
|
+
class: canonical
|
|
456
|
+
audience: [agent, maintainer]
|
|
457
|
+
owner: product
|
|
458
|
+
source_of_truth: templates/docs/AI_HANDOFF/
|
|
459
|
+
merge_strategy: skip
|
|
460
|
+
load_policy: on-demand
|
|
461
|
+
validation: [manual]
|
|
462
|
+
archive_policy: never
|
|
463
|
+
notes: dir sourceTemplate docs/AI_HANDOFF → dir path ending '/'
|
|
464
|
+
- id: tpl-codex-readme
|
|
465
|
+
path: templates/.codex/README.md
|
|
466
|
+
class: canonical
|
|
467
|
+
audience: [agent, maintainer]
|
|
468
|
+
owner: adapter
|
|
469
|
+
source_of_truth: templates/.codex/README.md
|
|
470
|
+
merge_strategy: overwrite_with_backup
|
|
471
|
+
load_policy: always
|
|
472
|
+
validation: [manual]
|
|
473
|
+
archive_policy: never
|
|
474
|
+
notes: codex host adapter surface — FR-007 scan
|
|
475
|
+
- id: tpl-omp-dir
|
|
476
|
+
path: templates/.omp/
|
|
477
|
+
class: canonical
|
|
478
|
+
audience: [agent, maintainer]
|
|
479
|
+
owner: adapter
|
|
480
|
+
source_of_truth: templates/.omp/
|
|
481
|
+
merge_strategy: overwrite_with_backup
|
|
482
|
+
load_policy: always
|
|
483
|
+
validation: [manual]
|
|
484
|
+
archive_policy: never
|
|
485
|
+
notes: omp host adapter surface (AGENTS/README/RULES + agents)
|
|
486
|
+
- id: tpl-ukit-readme
|
|
487
|
+
path: templates/ukit/README.md
|
|
488
|
+
class: canonical
|
|
489
|
+
audience: [maintainer]
|
|
490
|
+
owner: runtime
|
|
491
|
+
source_of_truth: templates/ukit/README.md
|
|
492
|
+
merge_strategy: overwrite_with_backup
|
|
493
|
+
load_policy: never
|
|
494
|
+
validation: [manual]
|
|
495
|
+
archive_policy: never
|
|
496
|
+
notes: reference only — FR-007 scan
|
|
497
|
+
- id: tpl-ukit-storage-memory
|
|
498
|
+
path: templates/ukit/storage/memory/
|
|
499
|
+
class: canonical
|
|
500
|
+
audience: [agent, maintainer]
|
|
501
|
+
owner: runtime
|
|
502
|
+
source_of_truth: templates/ukit/storage/memory/
|
|
503
|
+
merge_strategy: skip
|
|
504
|
+
load_policy: on-demand
|
|
505
|
+
validation: [manual]
|
|
506
|
+
archive_policy: never
|
|
507
|
+
notes: dir sourceTemplate ukit/storage/memory → dir path ending '/'
|
|
508
|
+
- id: tpl-claude-dir
|
|
509
|
+
path: templates/.claude/
|
|
510
|
+
class: canonical
|
|
511
|
+
audience: [agent, maintainer]
|
|
512
|
+
owner: adapter
|
|
513
|
+
source_of_truth: templates/.claude/
|
|
514
|
+
merge_strategy: overwrite_with_backup
|
|
515
|
+
load_policy: task-routed
|
|
516
|
+
validation: [manual]
|
|
517
|
+
archive_policy: never
|
|
518
|
+
notes: skills/agents/hooks dir entry
|
|
519
|
+
- id: tpl-adapter-presets
|
|
520
|
+
path: templates/adapter-presets/
|
|
521
|
+
class: canonical
|
|
522
|
+
audience: [maintainer]
|
|
523
|
+
owner: adapter
|
|
524
|
+
source_of_truth: templates/adapter-presets/
|
|
525
|
+
merge_strategy: none
|
|
526
|
+
load_policy: on-demand
|
|
527
|
+
validation: [manual]
|
|
528
|
+
archive_policy: never
|
|
529
|
+
notes: mixed strategies per manifest; skip items have per-file entries
|
|
530
|
+
- id: tpl-preset-claude-settings-local
|
|
531
|
+
path: templates/adapter-presets/claude/settings.local.json
|
|
532
|
+
class: canonical
|
|
533
|
+
audience: [maintainer]
|
|
534
|
+
owner: adapter
|
|
535
|
+
source_of_truth: templates/adapter-presets/claude/settings.local.json
|
|
536
|
+
merge_strategy: skip
|
|
537
|
+
load_policy: on-demand
|
|
538
|
+
validation: [manual]
|
|
539
|
+
archive_policy: never
|
|
540
|
+
notes: non-.md entry — exists for FR-002 manifest consistency
|
|
541
|
+
- id: tpl-preset-codex-settings-local
|
|
542
|
+
path: templates/adapter-presets/codex/settings.local.json
|
|
543
|
+
class: canonical
|
|
544
|
+
audience: [maintainer]
|
|
545
|
+
owner: adapter
|
|
546
|
+
source_of_truth: templates/adapter-presets/codex/settings.local.json
|
|
547
|
+
merge_strategy: skip
|
|
548
|
+
load_policy: on-demand
|
|
549
|
+
validation: [manual]
|
|
550
|
+
archive_policy: never
|
|
551
|
+
notes: non-.md entry — exists for FR-002 manifest consistency
|
|
552
|
+
- id: tpl-gitignore
|
|
553
|
+
path: templates/.gitignore
|
|
554
|
+
class: canonical
|
|
555
|
+
audience: [maintainer]
|
|
556
|
+
owner: product
|
|
557
|
+
source_of_truth: templates/.gitignore
|
|
558
|
+
merge_strategy: skip
|
|
559
|
+
load_policy: on-demand
|
|
560
|
+
validation: [manual]
|
|
561
|
+
archive_policy: never
|
|
562
|
+
notes: non-.md entry — exists for FR-002 manifest consistency
|
|
563
|
+
|
|
564
|
+
# ── repo mirrors (derived from templates/) ───────────────────────────────
|
|
565
|
+
- id: mirror-claude-dir
|
|
566
|
+
path: .claude/
|
|
567
|
+
class: derived
|
|
568
|
+
audience: [agent, maintainer]
|
|
569
|
+
owner: adapter
|
|
570
|
+
source_of_truth: templates/.claude/
|
|
571
|
+
merge_strategy: none
|
|
572
|
+
load_policy: task-routed
|
|
573
|
+
validation: [manual]
|
|
574
|
+
archive_policy: never
|
|
575
|
+
notes: repo mirror of templates/.claude/
|
|
576
|
+
- id: mirror-codex-readme
|
|
577
|
+
path: .codex/README.md
|
|
578
|
+
class: derived
|
|
579
|
+
audience: [agent, maintainer]
|
|
580
|
+
owner: adapter
|
|
581
|
+
source_of_truth: templates/.codex/README.md
|
|
582
|
+
merge_strategy: none
|
|
583
|
+
load_policy: on-demand
|
|
584
|
+
validation: [manual]
|
|
585
|
+
archive_policy: never
|
|
586
|
+
- id: mirror-omp-dir
|
|
587
|
+
path: .omp/
|
|
588
|
+
class: derived
|
|
589
|
+
audience: [agent, maintainer]
|
|
590
|
+
owner: adapter
|
|
591
|
+
source_of_truth: templates/.omp/
|
|
592
|
+
merge_strategy: none
|
|
593
|
+
load_policy: on-demand
|
|
594
|
+
validation: [manual]
|
|
595
|
+
archive_policy: never
|
|
596
|
+
- id: mirror-ukit-readme
|
|
597
|
+
path: .ukit/README.md
|
|
598
|
+
class: derived
|
|
599
|
+
audience: [agent, maintainer]
|
|
600
|
+
owner: runtime
|
|
601
|
+
source_of_truth: templates/ukit/README.md
|
|
602
|
+
merge_strategy: none
|
|
603
|
+
load_policy: on-demand
|
|
604
|
+
validation: [manual]
|
|
605
|
+
archive_policy: never
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngockhoale/ukit",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.6",
|
|
4
4
|
"description": "Install/update an index-first AI workspace for Claude Code, OpenAI Codex, OpenCode, and omp (Oh My Pi).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"index:query": "node ./scripts/index/query-index.mjs",
|
|
56
56
|
"bug:triage": "node ./scripts/bug/triage.mjs",
|
|
57
57
|
"skill:audit": "node ./scripts/skill/audit-skill.mjs",
|
|
58
|
-
"test:artifact": "vitest run tests/integration/packageArtifact.test.js",
|
|
58
|
+
"test:artifact": "vitest run tests/integration/packageArtifact.test.js tests/integration/artifactReferenceIntegrity.test.js",
|
|
59
59
|
"test:release-core": "vitest run --exclude tests/integration/packageArtifact.test.js",
|
|
60
60
|
"release:verify": "node ./scripts/release/verify-release.mjs",
|
|
61
61
|
"test": "vitest run",
|
|
@@ -80,7 +80,7 @@ For clearly non-code specialist lanes (docs-only, status, task queue), skip the
|
|
|
80
80
|
- If verification is needed, prefer `node .codex/ukit/index/verify-context.mjs ...`.
|
|
81
81
|
- **Treat helper commands as internal orchestration.** Run them yourself when needed; never ask end users to run them.
|
|
82
82
|
|
|
83
|
-
## UKit
|
|
83
|
+
## UKit Shared Runtime
|
|
84
84
|
|
|
85
85
|
- Shared runtime state lives in `.ukit/storage/`.
|
|
86
86
|
- Treat `.ukit/storage/config.json` as the source of compact, token-pipeline, router, memory, validation, and Safe Patch guardrail toggles.
|
package/templates/ukit/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# UKit Shared Runtime
|
|
2
2
|
|
|
3
|
-
This folder stores shared UKit runtime state
|
|
3
|
+
This folder stores shared UKit runtime state.
|
|
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/`
|