@cleocode/core 2026.4.4 → 2026.4.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.
Files changed (145) hide show
  1. package/dist/discovery.d.ts +69 -0
  2. package/dist/discovery.d.ts.map +1 -0
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1643 -2349
  6. package/dist/index.js.map +4 -4
  7. package/dist/init.d.ts +51 -0
  8. package/dist/init.d.ts.map +1 -1
  9. package/dist/internal.d.ts +9 -1
  10. package/dist/internal.d.ts.map +1 -1
  11. package/dist/lifecycle/default-chain.d.ts +8 -2
  12. package/dist/lifecycle/default-chain.d.ts.map +1 -1
  13. package/dist/lifecycle/index.d.ts +1 -0
  14. package/dist/lifecycle/index.d.ts.map +1 -1
  15. package/dist/lifecycle/stage-guidance.d.ts +140 -0
  16. package/dist/lifecycle/stage-guidance.d.ts.map +1 -0
  17. package/dist/orchestration/protocol-validators.d.ts +122 -3
  18. package/dist/orchestration/protocol-validators.d.ts.map +1 -1
  19. package/dist/paths.d.ts +91 -0
  20. package/dist/paths.d.ts.map +1 -1
  21. package/dist/scaffold.d.ts +31 -1
  22. package/dist/scaffold.d.ts.map +1 -1
  23. package/dist/skills/dispatch.d.ts +1 -1
  24. package/dist/skills/skill-paths.d.ts +9 -6
  25. package/dist/skills/skill-paths.d.ts.map +1 -1
  26. package/dist/validation/protocols/_shared.d.ts +40 -0
  27. package/dist/validation/protocols/_shared.d.ts.map +1 -0
  28. package/dist/validation/protocols/architecture-decision.d.ts +23 -0
  29. package/dist/validation/protocols/architecture-decision.d.ts.map +1 -0
  30. package/dist/validation/protocols/artifact-publish.d.ts +22 -0
  31. package/dist/validation/protocols/artifact-publish.d.ts.map +1 -0
  32. package/dist/validation/protocols/consensus.d.ts +11 -17
  33. package/dist/validation/protocols/consensus.d.ts.map +1 -1
  34. package/dist/validation/protocols/contribution.d.ts +12 -17
  35. package/dist/validation/protocols/contribution.d.ts.map +1 -1
  36. package/dist/validation/protocols/decomposition.d.ts +18 -21
  37. package/dist/validation/protocols/decomposition.d.ts.map +1 -1
  38. package/dist/validation/protocols/implementation.d.ts +9 -17
  39. package/dist/validation/protocols/implementation.d.ts.map +1 -1
  40. package/dist/validation/protocols/provenance.d.ts +23 -0
  41. package/dist/validation/protocols/provenance.d.ts.map +1 -0
  42. package/dist/validation/protocols/release.d.ts +25 -0
  43. package/dist/validation/protocols/release.d.ts.map +1 -0
  44. package/dist/validation/protocols/research.d.ts +9 -17
  45. package/dist/validation/protocols/research.d.ts.map +1 -1
  46. package/dist/validation/protocols/specification.d.ts +7 -17
  47. package/dist/validation/protocols/specification.d.ts.map +1 -1
  48. package/dist/validation/protocols/testing.d.ts +22 -0
  49. package/dist/validation/protocols/testing.d.ts.map +1 -0
  50. package/dist/validation/protocols/validation.d.ts +22 -0
  51. package/dist/validation/protocols/validation.d.ts.map +1 -0
  52. package/package.json +7 -7
  53. package/src/__tests__/injection-mvi-tiers.test.js +54 -90
  54. package/src/__tests__/injection-mvi-tiers.test.js.map +1 -1
  55. package/src/discovery.ts +235 -0
  56. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.js +3 -1
  57. package/src/hooks/handlers/__tests__/hook-automation-e2e.test.js.map +1 -1
  58. package/src/index.ts +16 -0
  59. package/src/init.ts +196 -0
  60. package/src/internal.ts +31 -1
  61. package/src/lifecycle/default-chain.ts +11 -2
  62. package/src/lifecycle/index.ts +10 -0
  63. package/src/lifecycle/stage-guidance.ts +282 -0
  64. package/src/metrics/__tests__/provider-detection.test.js +19 -7
  65. package/src/metrics/__tests__/provider-detection.test.js.map +1 -1
  66. package/src/metrics/__tests__/provider-detection.test.ts +19 -7
  67. package/src/orchestration/__tests__/protocol-validators.test.js +228 -8
  68. package/src/orchestration/__tests__/protocol-validators.test.js.map +1 -1
  69. package/src/orchestration/__tests__/protocol-validators.test.ts +259 -7
  70. package/src/orchestration/protocol-validators.ts +419 -4
  71. package/src/paths.ts +110 -0
  72. package/src/scaffold.ts +240 -4
  73. package/src/skills/dispatch.ts +6 -6
  74. package/src/skills/skill-paths.ts +27 -23
  75. package/src/validation/protocols/_shared.ts +88 -0
  76. package/src/validation/protocols/architecture-decision.ts +52 -0
  77. package/src/validation/protocols/artifact-publish.ts +49 -0
  78. package/src/validation/protocols/consensus.ts +44 -74
  79. package/src/validation/protocols/contribution.ts +28 -65
  80. package/src/validation/protocols/decomposition.ts +37 -64
  81. package/src/validation/protocols/implementation.ts +25 -65
  82. package/src/validation/protocols/protocols-markdown/architecture-decision.md +303 -0
  83. package/src/validation/protocols/protocols-markdown/artifact-publish.md +600 -0
  84. package/src/validation/protocols/protocols-markdown/consensus.md +322 -0
  85. package/src/validation/protocols/protocols-markdown/contribution.md +388 -0
  86. package/src/validation/protocols/protocols-markdown/decomposition.md +421 -0
  87. package/src/validation/protocols/protocols-markdown/implementation.md +357 -0
  88. package/src/validation/protocols/protocols-markdown/provenance.md +613 -0
  89. package/src/validation/protocols/protocols-markdown/release.md +783 -0
  90. package/src/validation/protocols/protocols-markdown/research.md +261 -0
  91. package/src/validation/protocols/protocols-markdown/specification.md +300 -0
  92. package/src/validation/protocols/protocols-markdown/testing.md +287 -0
  93. package/src/validation/protocols/protocols-markdown/validation.md +242 -0
  94. package/src/validation/protocols/provenance.ts +50 -0
  95. package/src/validation/protocols/release.ts +44 -0
  96. package/src/validation/protocols/research.ts +25 -87
  97. package/src/validation/protocols/specification.ts +27 -89
  98. package/src/validation/protocols/testing.ts +46 -0
  99. package/src/validation/protocols/validation.ts +46 -0
  100. package/dist/validation/protocols/release-protocol.d.ts +0 -27
  101. package/dist/validation/protocols/release-protocol.d.ts.map +0 -1
  102. package/dist/validation/protocols/testing-protocol.d.ts +0 -27
  103. package/dist/validation/protocols/testing-protocol.d.ts.map +0 -1
  104. package/dist/validation/protocols/validation-protocol.d.ts +0 -27
  105. package/dist/validation/protocols/validation-protocol.d.ts.map +0 -1
  106. package/schemas/agent-configs.schema.json +0 -120
  107. package/schemas/agent-registry.schema.json +0 -132
  108. package/schemas/archive.schema.json +0 -450
  109. package/schemas/brain-decision.schema.json +0 -69
  110. package/schemas/brain-learning.schema.json +0 -57
  111. package/schemas/brain-pattern.schema.json +0 -72
  112. package/schemas/critical-path.schema.json +0 -246
  113. package/schemas/deps-cache.schema.json +0 -97
  114. package/schemas/doctor-output.schema.json +0 -283
  115. package/schemas/error.schema.json +0 -161
  116. package/schemas/global-config.schema.json +0 -219
  117. package/schemas/grade.schema.json +0 -49
  118. package/schemas/log.schema.json +0 -250
  119. package/schemas/metrics.schema.json +0 -328
  120. package/schemas/migrations.schema.json +0 -150
  121. package/schemas/nexus-registry.schema.json +0 -90
  122. package/schemas/operation-constitution.schema.json +0 -438
  123. package/schemas/output.schema.json +0 -164
  124. package/schemas/projects-registry.schema.json +0 -107
  125. package/schemas/protocol-frontmatter.schema.json +0 -72
  126. package/schemas/rcasd-consensus-report.schema.json +0 -10
  127. package/schemas/rcasd-evidence.schema.json +0 -42
  128. package/schemas/rcasd-gate-result.schema.json +0 -46
  129. package/schemas/rcasd-hitl-resolution.schema.json +0 -10
  130. package/schemas/rcasd-index.schema.json +0 -10
  131. package/schemas/rcasd-manifest.schema.json +0 -10
  132. package/schemas/rcasd-research-output.schema.json +0 -10
  133. package/schemas/rcasd-spec-frontmatter.schema.json +0 -10
  134. package/schemas/rcasd-stage-transition.schema.json +0 -38
  135. package/schemas/releases.schema.json +0 -267
  136. package/schemas/skills-manifest.schema.json +0 -91
  137. package/schemas/spec-index.schema.json +0 -196
  138. package/schemas/system-flow-atlas.schema.json +0 -125
  139. package/src/conduit/__tests__/dual-api-e2e.test.d.ts.map +0 -1
  140. package/src/conduit/__tests__/dual-api-e2e.test.js +0 -178
  141. package/src/conduit/__tests__/dual-api-e2e.test.js.map +0 -1
  142. package/src/conduit/__tests__/dual-api-e2e.test.ts +0 -212
  143. package/src/validation/protocols/release-protocol.ts +0 -80
  144. package/src/validation/protocols/testing-protocol.ts +0 -93
  145. package/src/validation/protocols/validation-protocol.ts +0 -93
@@ -0,0 +1,357 @@
1
+ ---
2
+ id: IMPL
3
+ title: Implementation Protocol
4
+ version: 1.0.0
5
+ status: active
6
+ type: base
7
+ audience: [llm-agent]
8
+ tags: [implementation, coding, development]
9
+ skillRef: ct-task-executor
10
+ lastUpdated: 2026-02-24
11
+ enforcement: strict
12
+ ---
13
+
14
+ # Implementation Protocol
15
+
16
+ **Provenance**: @task T3155, @epic T3147
17
+ **Version**: 1.0.1
18
+ **Type**: Conditional Protocol
19
+ **Max Active**: 3 protocols (including base)
20
+
21
+ ---
22
+
23
+ ## Trigger Conditions
24
+
25
+ This protocol activates when the task involves:
26
+
27
+ | Trigger | Keywords | Context |
28
+ |---------|----------|---------|
29
+ | Building | "implement", "build", "create", "develop" | New functionality |
30
+ | Coding | "code", "write", "program" | Software creation |
31
+ | Fixing | "fix", "bug", "patch", "repair" | Issue resolution |
32
+ | Enhancement | "improve", "enhance", "optimize" | Existing code |
33
+
34
+ **Explicit Override**: `--protocol implementation` flag on task creation.
35
+
36
+ ---
37
+
38
+ ## Requirements (RFC 2119)
39
+
40
+ ### MUST
41
+
42
+ | Requirement | Description |
43
+ |-------------|-------------|
44
+ | IMPL-001 | MUST include tests for new functionality |
45
+ | IMPL-002 | MUST follow project code style conventions |
46
+ | IMPL-003 | MUST include JSDoc/docstring provenance tags |
47
+ | IMPL-004 | MUST verify changes pass existing tests |
48
+ | IMPL-005 | MUST document breaking changes |
49
+ | IMPL-006 | MUST write implementation summary to manifest |
50
+ | IMPL-007 | MUST set `agent_type: "implementation"` in manifest |
51
+
52
+ ### SHOULD
53
+
54
+ | Requirement | Description |
55
+ |-------------|-------------|
56
+ | IMPL-010 | SHOULD add inline comments for complex logic |
57
+ | IMPL-011 | SHOULD refactor duplicated code |
58
+ | IMPL-012 | SHOULD update related documentation |
59
+ | IMPL-013 | SHOULD consider error handling edge cases |
60
+
61
+ ### MAY
62
+
63
+ | Requirement | Description |
64
+ |-------------|-------------|
65
+ | IMPL-020 | MAY propose architectural improvements |
66
+ | IMPL-021 | MAY add performance benchmarks |
67
+ | IMPL-022 | MAY suggest follow-up enhancements |
68
+
69
+ ---
70
+
71
+ ## Output Format
72
+
73
+ ### Provenance Tags
74
+
75
+ **JavaScript/TypeScript**:
76
+ ```javascript
77
+ /**
78
+ * @task T####
79
+ * @session session_YYYYMMDD_HHMMSS_######
80
+ * @agent opus-1
81
+ * @date YYYY-MM-DD
82
+ * @description Brief description of the function
83
+ */
84
+ function implementedFunction() {
85
+ // Implementation
86
+ }
87
+ ```
88
+
89
+ **Bash**:
90
+ ```bash
91
+ # =============================================================================
92
+ # Function: function_name
93
+ # Task: T####
94
+ # Session: session_YYYYMMDD_HHMMSS_######
95
+ # Agent: opus-1
96
+ # Date: YYYY-MM-DD
97
+ # Description: Brief description
98
+ # =============================================================================
99
+ function_name() {
100
+ # Implementation
101
+ }
102
+ ```
103
+
104
+ **Python**:
105
+ ```python
106
+ def implemented_function():
107
+ """
108
+ Brief description.
109
+
110
+ Task: T####
111
+ Session: session_YYYYMMDD_HHMMSS_######
112
+ Agent: opus-1
113
+ Date: YYYY-MM-DD
114
+ """
115
+ # Implementation
116
+ ```
117
+
118
+ ### Test Requirements
119
+
120
+ | Test Type | When Required | Coverage |
121
+ |-----------|---------------|----------|
122
+ | Unit | New functions | MUST cover happy path |
123
+ | Integration | New workflows | SHOULD cover end-to-end |
124
+ | Edge Case | Complex logic | SHOULD cover boundaries |
125
+ | Regression | Bug fixes | MUST reproduce issue |
126
+
127
+ ### Code Style Checklist
128
+
129
+ | Language | Style Guide | Enforcement |
130
+ |----------|-------------|-------------|
131
+ | Bash | CLEO style (4 spaces, snake_case) | `shellcheck` |
132
+ | JavaScript | ESLint config | `eslint` |
133
+ | TypeScript | TSConfig strict | `tsc --noEmit` |
134
+ | Python | PEP 8 | `flake8`, `black` |
135
+
136
+ ### File Output
137
+
138
+ ```markdown
139
+ # Implementation: {Feature/Fix Title}
140
+
141
+ **Task**: T####
142
+ **Date**: YYYY-MM-DD
143
+ **Status**: complete|partial|blocked
144
+ **Agent Type**: implementation
145
+
146
+ ---
147
+
148
+ ## Summary
149
+
150
+ {2-3 sentence summary of implementation}
151
+
152
+ ## Changes
153
+
154
+ ### Files Modified
155
+
156
+ | File | Action | Description |
157
+ |------|--------|-------------|
158
+ | `path/to/file.sh` | Modified | Added validation function |
159
+ | `path/to/new.sh` | Created | New utility module |
160
+
161
+ ### Functions Added
162
+
163
+ | Function | File | Purpose |
164
+ |----------|------|---------|
165
+ | `validate_input()` | file.sh | Input validation |
166
+
167
+ ### Functions Modified
168
+
169
+ | Function | File | Change |
170
+ |----------|------|--------|
171
+ | `process_data()` | file.sh | Added error handling |
172
+
173
+ ## Tests
174
+
175
+ ### New Tests
176
+
177
+ | Test | File | Coverage |
178
+ |------|------|----------|
179
+ | `test_validate_input` | tests/unit/file.bats | Input validation |
180
+
181
+ ### Test Results
182
+
183
+ ```
184
+ Running tests/unit/file.bats
185
+ ✓ validate_input accepts valid input
186
+ ✓ validate_input rejects empty input
187
+ ✓ validate_input handles special characters
188
+
189
+ 3 tests, 0 failures
190
+ ```
191
+
192
+ ## Validation
193
+
194
+ | Check | Status | Notes |
195
+ |-------|--------|-------|
196
+ | Tests pass | PASS | All 42 tests pass |
197
+ | Lint clean | PASS | No shellcheck warnings |
198
+ | No regressions | PASS | Existing tests unchanged |
199
+
200
+ ## Breaking Changes
201
+
202
+ {If any, document migration path}
203
+
204
+ ## Follow-up
205
+
206
+ - {Suggested improvements}
207
+ - {Technical debt items}
208
+ ```
209
+
210
+ ### Manifest Entry
211
+
212
+ @skills/_shared/manifest-operations.md
213
+
214
+ Use `cleo research add` to create the manifest entry:
215
+
216
+ ```bash
217
+ cleo research add \
218
+ --title "Implementation: Feature Name" \
219
+ --file "YYYY-MM-DD_implementation.md" \
220
+ --topics "implementation,feature" \
221
+ --findings "3 functions added,Tests passing,No breaking changes" \
222
+ --status complete \
223
+ --task T#### \
224
+ --not-actionable \
225
+ --agent-type implementation
226
+ ```
227
+
228
+ ---
229
+
230
+ ## Integration Points
231
+
232
+ ### Base Protocol
233
+
234
+ - Inherits task lifecycle (start, execute, complete)
235
+ - Inherits manifest append requirement
236
+ - Inherits error handling patterns
237
+
238
+ ### Protocol Interactions
239
+
240
+ | Combined With | Behavior |
241
+ |---------------|----------|
242
+ | specification | Spec defines implementation requirements |
243
+ | contribution | Implementation triggers contribution record |
244
+ | release | Implementation changes tracked for release |
245
+
246
+ ### Workflow Sequence
247
+
248
+ ```
249
+ 1. Read task requirements (cleo show T####)
250
+ 2. Start task (cleo start T####)
251
+ 3. Implement changes with provenance tags
252
+ 4. Write/update tests
253
+ 5. Run validation (tests, lint)
254
+ 6. Document changes in output file
255
+ 7. Append manifest entry
256
+ 8. Complete task (cleo complete T####)
257
+ 9. Return completion message
258
+ ```
259
+
260
+ ---
261
+
262
+ ## Example
263
+
264
+ **Task**: Implement session binding for multi-agent support
265
+
266
+ **Manifest Entry Command**:
267
+ ```bash
268
+ cleo research add \
269
+ --title "Implementation: Session Binding" \
270
+ --file "2026-01-26_session-binding-impl.md" \
271
+ --topics "session,binding,multi-agent" \
272
+ --findings "TTY binding implemented,Env var fallback added,4 new tests passing" \
273
+ --status complete \
274
+ --task T2400 \
275
+ --epic T2392 \
276
+ --not-actionable \
277
+ --agent-type implementation
278
+ ```
279
+
280
+ **Return Message**:
281
+ ```
282
+ Implementation complete. See MANIFEST.jsonl for summary.
283
+ ```
284
+
285
+ ---
286
+
287
+ ## Provenance Validation
288
+
289
+ ### Pre-Commit Hook
290
+
291
+ **Location**: `.git/hooks/commit-msg` (installed via `git config core.hooksPath .cleo/hooks`)
292
+
293
+ **Logic**:
294
+ 1. Extract @task tags from commit diff
295
+ 2. Count new functions/classes
296
+ 3. Calculate provenance coverage
297
+ 4. Apply thresholds:
298
+ - **New code**: 100% coverage required
299
+ - **Existing code**: 80% coverage required
300
+ - **Legacy code**: 50% coverage required
301
+ 5. Block commit if thresholds not met
302
+
303
+ **Exit Code**: `EXIT_PROTOCOL_IMPLEMENTATION` (64) on violation
304
+
305
+ ### Runtime Validation
306
+
307
+ **Command** (planned): `cleo provenance validate [--task TASK_ID]`
308
+
309
+ **Current State**: Validation available via protocol library
310
+
311
+ ```bash
312
+ # Programmatic validation
313
+ source lib/protocol-validation.sh
314
+ result=$(validate_implementation_protocol "T1234" "$manifest_entry" "false")
315
+ ```
316
+
317
+ **Checks**:
318
+ - IMPL-003: `@task T####` tags in new functions
319
+ - Git diff analysis for provenance coverage
320
+ - Agent type = "implementation" (IMPL-007)
321
+
322
+ ### Thresholds
323
+
324
+ | Code Category | Provenance Requirement | Rationale |
325
+ |---------------|------------------------|-----------|
326
+ | **New code** | 100% | Fresh code must be attributable |
327
+ | **Existing code** | 80% | Modifications should track origin |
328
+ | **Legacy code** | 50% | Gradual attribution improvement |
329
+
330
+ **Detection**:
331
+ - New code: Lines with `^+` in git diff, no prior history
332
+ - Existing code: Modified files with prior commits
333
+ - Legacy code: Files >6 months old or >100 commits
334
+
335
+ ### Enforcement Points
336
+
337
+ 1. **Pre-commit**: Blocks commits lacking provenance
338
+ 2. **Pre-push**: Warns on aggregate provenance score <70%
339
+ 3. **Runtime**: `cleo complete` validates IMPL-003 for implementation tasks
340
+ 4. **Orchestrator**: Validates before spawning implementation agents
341
+
342
+ ---
343
+
344
+ ## Anti-Patterns
345
+
346
+ | Pattern | Why Avoid |
347
+ |---------|-----------|
348
+ | Code without tests | Regression risk |
349
+ | Missing provenance | Lost attribution |
350
+ | Skipping validation | Quality regression |
351
+ | Undocumented breaking changes | Surprise failures |
352
+ | No error handling | Silent failures |
353
+ | Hardcoded values | Maintenance burden |
354
+
355
+ ---
356
+
357
+ *Protocol Version 1.0.0 - Implementation Protocol*