@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,261 @@
1
+ ---
2
+ id: RSCH
3
+ title: Research Protocol
4
+ version: 1.0.0
5
+ status: active
6
+ type: base
7
+ audience: [llm-agent, orchestrator]
8
+ tags: [research, investigation, evidence]
9
+ skillRef: ct-research-agent
10
+ lastUpdated: 2026-02-24
11
+ enforcement: strict
12
+ ---
13
+
14
+ # Research 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
+ | Investigation | "research", "investigate", "explore", "study" | Information gathering |
30
+ | Analysis | "analyze", "compare", "evaluate", "assess" | Data synthesis |
31
+ | Discovery | "find out", "discover", "learn about" | New information |
32
+ | Documentation | "document findings", "report on" | Structured output |
33
+
34
+ **Explicit Override**: `--protocol research` flag on task creation.
35
+
36
+ ---
37
+
38
+ ## Requirements (RFC 2119)
39
+
40
+ ### MUST
41
+
42
+ | Requirement | Description |
43
+ |-------------|-------------|
44
+ | RSCH-001 | MUST NOT implement code or make changes to codebase |
45
+ | RSCH-002 | MUST document all sources with citations |
46
+ | RSCH-003 | MUST write findings to `claudedocs/agent-outputs/` |
47
+ | RSCH-004 | MUST append entry to `MANIFEST.jsonl` |
48
+ | RSCH-005 | MUST return only completion message (no content in response) |
49
+ | RSCH-006 | MUST include 3-7 key findings in manifest entry |
50
+ | RSCH-007 | MUST set `agent_type: "research"` in manifest |
51
+
52
+ ### SHOULD
53
+
54
+ | Requirement | Description |
55
+ |-------------|-------------|
56
+ | RSCH-010 | SHOULD use multiple independent sources |
57
+ | RSCH-011 | SHOULD cross-reference findings for accuracy |
58
+ | RSCH-012 | SHOULD include confidence levels for claims |
59
+ | RSCH-013 | SHOULD identify gaps or areas needing further research |
60
+ | RSCH-014 | SHOULD link research to relevant tasks |
61
+
62
+ ### MAY
63
+
64
+ | Requirement | Description |
65
+ |-------------|-------------|
66
+ | RSCH-020 | MAY propose follow-up research tasks |
67
+ | RSCH-021 | MAY include visual diagrams or tables |
68
+ | RSCH-022 | MAY compare multiple approaches or solutions |
69
+
70
+ ---
71
+
72
+ ## Output Format
73
+
74
+ ### File Output
75
+
76
+ ```markdown
77
+ # {Research Title}
78
+
79
+ **Task**: T####
80
+ **Date**: YYYY-MM-DD
81
+ **Status**: complete|partial|blocked
82
+ **Agent Type**: research
83
+
84
+ ---
85
+
86
+ ## Executive Summary
87
+
88
+ {2-3 sentence summary of findings}
89
+
90
+ ## Research Questions
91
+
92
+ 1. {Question 1}
93
+ 2. {Question 2}
94
+
95
+ ## Findings
96
+
97
+ ### {Topic 1}
98
+
99
+ {Detailed findings with citations}
100
+
101
+ ### {Topic 2}
102
+
103
+ {Detailed findings with citations}
104
+
105
+ ## Sources
106
+
107
+ | Source | Type | Relevance |
108
+ |--------|------|-----------|
109
+ | {Source 1} | {documentation|code|external} | {High|Medium|Low} |
110
+
111
+ ## Recommendations
112
+
113
+ 1. {Actionable recommendation 1}
114
+ 2. {Actionable recommendation 2}
115
+
116
+ ## Open Questions
117
+
118
+ - {Unresolved question or gap}
119
+ ```
120
+
121
+ ### Manifest Entry
122
+
123
+ @skills/_shared/manifest-operations.md
124
+
125
+ Use `cleo research add` to create the manifest entry:
126
+
127
+ ```bash
128
+ cleo research add \
129
+ --title "Research Title" \
130
+ --file "YYYY-MM-DD_topic.md" \
131
+ --topics "topic1,topic2,topic3" \
132
+ --findings "Finding 1,Finding 2,Finding 3" \
133
+ --status complete \
134
+ --task T#### \
135
+ --agent-type research
136
+ ```
137
+
138
+ ---
139
+
140
+ ## Integration Points
141
+
142
+ ### Base Protocol
143
+
144
+ - Inherits task lifecycle (start, execute, complete)
145
+ - Inherits manifest append requirement
146
+ - Inherits error handling patterns
147
+
148
+ ### Protocol Interactions
149
+
150
+ | Combined With | Behavior |
151
+ |---------------|----------|
152
+ | specification | Research informs spec decisions |
153
+ | decomposition | Research identifies task structure |
154
+ | consensus | Research provides evidence for voting |
155
+
156
+ ### Handoff Patterns
157
+
158
+ | Scenario | Handoff Target |
159
+ |----------|----------------|
160
+ | Research identifies implementation need | implementation protocol |
161
+ | Research reveals design decisions needed | specification protocol |
162
+ | Research requires expert validation | consensus protocol |
163
+
164
+ ---
165
+
166
+ ## Example
167
+
168
+ **Task**: Research authentication patterns for CLEO plugin system
169
+
170
+ **Manifest Entry Command**:
171
+ ```bash
172
+ cleo research add \
173
+ --title "Authentication Patterns Research" \
174
+ --file "2026-01-26_auth-patterns.md" \
175
+ --topics "authentication,plugins,security" \
176
+ --findings "OAuth2 is standard for plugin auth,Token refresh needed for long sessions,Rate limiting prevents abuse" \
177
+ --status complete \
178
+ --task T2398 \
179
+ --epic T2392 \
180
+ --actionable \
181
+ --needs-followup T2400 \
182
+ --agent-type research
183
+ ```
184
+
185
+ **Return Message**:
186
+ ```
187
+ Research complete. See MANIFEST.jsonl for summary.
188
+ ```
189
+
190
+ ---
191
+
192
+ ## Enforcement
193
+
194
+ ### Tool Allowlist
195
+
196
+ **Allowed Tools** (Read-only operations):
197
+ - `Read` - File reading
198
+ - `Grep` - Content search
199
+ - `Glob` - File pattern matching
200
+ - `Bash` - **Read-only commands only** (ls, cat, grep, find, etc.)
201
+
202
+ **Prohibited Tools**:
203
+ - `Write` - File writing
204
+ - `Edit` - File modification
205
+ - **Any** code compilation or execution
206
+
207
+ **Rationale**: Research must remain read-only to prevent contamination of implementation tasks.
208
+
209
+ ### Validation Command
210
+
211
+ **Command** (planned): `cleo research validate [--task TASK_ID]`
212
+
213
+ **Current State**: Available via `validate_research_protocol()` in `lib/protocol-validation.sh`
214
+
215
+ ```bash
216
+ # Programmatic validation
217
+ source lib/protocol-validation.sh
218
+ result=$(validate_research_protocol "T1234" "$manifest_entry" "false")
219
+ ```
220
+
221
+ **Checks**:
222
+ - RSCH-001: No code changes in git diff
223
+ - RSCH-004: Manifest entry appended
224
+ - RSCH-006: 3-7 key findings
225
+ - RSCH-007: agent_type = "research"
226
+
227
+ ### Orchestrator Integration
228
+
229
+ **Pre-Spawn Validation**:
230
+ ```bash
231
+ # In lib/orchestrator-spawn.sh Step 6.5
232
+ protocol_type=$(_osp_skill_to_protocol "ct-research-agent") # Returns "research"
233
+ validate_research_protocol "$task_id" "$manifest_entry" "false"
234
+ # Blocks spawn on MUST violations with EXIT_PROTOCOL_RESEARCH (60)
235
+ ```
236
+
237
+ **Post-Completion Verification**:
238
+ - Git diff analysis detects code modifications
239
+ - Manifest parsing validates key_findings count
240
+ - Agent type verification
241
+
242
+ ### Exit Codes
243
+
244
+ - `EXIT_PROTOCOL_RESEARCH` (60) - Research protocol violation
245
+ - Common violations: Code changes detected, wrong agent_type, insufficient findings
246
+
247
+ ---
248
+
249
+ ## Anti-Patterns
250
+
251
+ | Pattern | Why Avoid |
252
+ |---------|-----------|
253
+ | Implementing code during research | Pollutes research context, mixes concerns |
254
+ | Returning findings in response | Wastes orchestrator context |
255
+ | Single-source conclusions | Risk of bias or error |
256
+ | Vague findings without evidence | Not actionable |
257
+ | Skipping manifest entry | Breaks orchestrator workflow |
258
+
259
+ ---
260
+
261
+ *Protocol Version 1.0.0 - Research Protocol*
@@ -0,0 +1,300 @@
1
+ ---
2
+ id: SPEC
3
+ title: Specification Protocol
4
+ version: 1.0.0
5
+ status: active
6
+ type: conditional
7
+ audience: [llm-agent, orchestrator]
8
+ tags: [specification, requirements, rfc2119]
9
+ skillRef: ct-spec-writer
10
+ lastUpdated: 2026-02-24
11
+ enforcement: strict
12
+ ---
13
+
14
+ # Specification 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
+ | Design | "spec", "specification", "design", "architect" | System design |
30
+ | Contract | "contract", "interface", "API", "schema" | Interface definition |
31
+ | Definition | "define", "formalize", "standardize" | Precise semantics |
32
+ | Protocol | "protocol", "workflow", "process" | Behavioral rules |
33
+
34
+ **Explicit Override**: `--protocol specification` flag on task creation.
35
+
36
+ ---
37
+
38
+ ## Requirements (RFC 2119)
39
+
40
+ ### MUST
41
+
42
+ | Requirement | Description |
43
+ |-------------|-------------|
44
+ | SPEC-001 | MUST use RFC 2119 keywords for requirements |
45
+ | SPEC-002 | MUST include version number and status |
46
+ | SPEC-003 | MUST define scope and authority |
47
+ | SPEC-004 | MUST include conformance criteria |
48
+ | SPEC-005 | MUST document related specifications |
49
+ | SPEC-006 | MUST use structured format (tables, schemas) |
50
+ | SPEC-007 | MUST set `agent_type: "specification"` in manifest |
51
+
52
+ ### SHOULD
53
+
54
+ | Requirement | Description |
55
+ |-------------|-------------|
56
+ | SPEC-010 | SHOULD include examples for each requirement |
57
+ | SPEC-011 | SHOULD document failure modes |
58
+ | SPEC-012 | SHOULD specify error handling |
59
+ | SPEC-013 | SHOULD include changelog |
60
+
61
+ ### MAY
62
+
63
+ | Requirement | Description |
64
+ |-------------|-------------|
65
+ | SPEC-020 | MAY include implementation guidance |
66
+ | SPEC-021 | MAY reference external standards |
67
+ | SPEC-022 | MAY define extension points |
68
+
69
+ ---
70
+
71
+ ## Output Format
72
+
73
+ ### Specification Structure
74
+
75
+ ```markdown
76
+ # {Specification Title}
77
+
78
+ **Version**: X.Y.Z
79
+ **Status**: DRAFT|ACTIVE|DEPRECATED
80
+ **Created**: YYYY-MM-DD
81
+ **Updated**: YYYY-MM-DD
82
+ **Epic**: T####
83
+
84
+ ---
85
+
86
+ ## RFC 2119 Conformance
87
+
88
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
89
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
90
+ document are to be interpreted as described in BCP 14 [RFC 2119] [RFC 8174].
91
+
92
+ ---
93
+
94
+ ## Part 1: Preamble
95
+
96
+ ### 1.1 Purpose
97
+
98
+ {Why this specification exists}
99
+
100
+ ### 1.2 Scope
101
+
102
+ {What this specification covers and excludes}
103
+
104
+ ### 1.3 Authority
105
+
106
+ This specification is **AUTHORITATIVE** for:
107
+ - {Area 1}
108
+ - {Area 2}
109
+
110
+ This specification **DEFERS TO**:
111
+ - {Related spec 1}
112
+ - {Related spec 2}
113
+
114
+ ---
115
+
116
+ ## Part 2: {Main Content}
117
+
118
+ ### 2.1 {Section}
119
+
120
+ {Content with RFC 2119 requirements}
121
+
122
+ | Requirement | Description |
123
+ |-------------|-------------|
124
+ | REQ-001 | {MUST/SHOULD/MAY} {requirement} |
125
+
126
+ ### 2.2 Schema
127
+
128
+ ```json
129
+ {
130
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
131
+ "$id": "https://example.com/schema.json",
132
+ "type": "object",
133
+ "properties": {}
134
+ }
135
+ ```
136
+
137
+ ---
138
+
139
+ ## Part 3: Conformance
140
+
141
+ ### 3.1 Conformance Classes
142
+
143
+ A conforming implementation MUST:
144
+ - {Requirement 1}
145
+ - {Requirement 2}
146
+
147
+ A conforming implementation MAY:
148
+ - {Optional extension}
149
+
150
+ ---
151
+
152
+ ## Part 4: Related Specifications
153
+
154
+ | Document | Relationship |
155
+ |----------|--------------|
156
+ | {Spec Name} | {AUTHORITATIVE|DEFERS TO|Related} |
157
+
158
+ ---
159
+
160
+ ## Appendix A: Changelog
161
+
162
+ | Version | Date | Changes |
163
+ |---------|------|---------|
164
+ | 1.0.0 | YYYY-MM-DD | Initial specification |
165
+
166
+ ---
167
+
168
+ *End of Specification*
169
+ ```
170
+
171
+ ### Version Semantics
172
+
173
+ | Version Change | When |
174
+ |----------------|------|
175
+ | Major (X.0.0) | Breaking changes to requirements |
176
+ | Minor (X.Y.0) | New requirements, backward compatible |
177
+ | Patch (X.Y.Z) | Clarifications, typo fixes |
178
+
179
+ ### Status Lifecycle
180
+
181
+ ```
182
+ DRAFT -> ACTIVE -> DEPRECATED
183
+ |
184
+ +-> SUPERSEDED (by new spec)
185
+ ```
186
+
187
+ ### File Output
188
+
189
+ ```markdown
190
+ # {Specification Title}
191
+
192
+ **Task**: T####
193
+ **Date**: YYYY-MM-DD
194
+ **Status**: complete|partial|blocked
195
+ **Agent Type**: specification
196
+
197
+ ---
198
+
199
+ ## Summary
200
+
201
+ {2-3 sentence summary of what this spec defines}
202
+
203
+ ## Key Definitions
204
+
205
+ | Term | Definition |
206
+ |------|------------|
207
+ | {Term} | {Definition} |
208
+
209
+ ## Requirements Summary
210
+
211
+ | ID | Level | Requirement |
212
+ |----|-------|-------------|
213
+ | REQ-001 | MUST | {Requirement} |
214
+
215
+ ## Open Questions
216
+
217
+ - {Questions needing resolution}
218
+ ```
219
+
220
+ ### Manifest Entry
221
+
222
+ @skills/_shared/manifest-operations.md
223
+
224
+ Use `cleo research add` to create the manifest entry:
225
+
226
+ ```bash
227
+ cleo research add \
228
+ --title "Specification: Title" \
229
+ --file "YYYY-MM-DD_specification.md" \
230
+ --topics "specification,design" \
231
+ --findings "12 MUST requirements,5 SHOULD requirements,Schema defined" \
232
+ --status complete \
233
+ --task T#### \
234
+ --actionable \
235
+ --agent-type specification
236
+ ```
237
+
238
+ ---
239
+
240
+ ## Integration Points
241
+
242
+ ### Base Protocol
243
+
244
+ - Inherits task lifecycle (start, execute, complete)
245
+ - Inherits manifest append requirement
246
+ - Inherits error handling patterns
247
+
248
+ ### Protocol Interactions
249
+
250
+ | Combined With | Behavior |
251
+ |---------------|----------|
252
+ | research | Research informs spec decisions |
253
+ | consensus | Consensus resolves spec ambiguities |
254
+ | implementation | Spec guides implementation |
255
+
256
+ ### Review Patterns
257
+
258
+ | Aspect | Review Focus |
259
+ |--------|--------------|
260
+ | Completeness | All requirements have RFC 2119 level |
261
+ | Testability | Requirements can be verified |
262
+ | Consistency | No contradicting requirements |
263
+ | Scope | Authority boundaries clear |
264
+
265
+ ---
266
+
267
+ ## Example
268
+
269
+ **Task**: Define protocol stack architecture
270
+
271
+ **Manifest Entry Command**:
272
+ ```bash
273
+ cleo research add \
274
+ --title "Specification: Protocol Stack Architecture" \
275
+ --file "2026-01-26_protocol-stack-spec.md" \
276
+ --topics "protocol,architecture,subagent" \
277
+ --findings "Base protocol always loaded,Max 3 active protocols,Conditional loading defined" \
278
+ --status complete \
279
+ --task T2401 \
280
+ --epic T2392 \
281
+ --actionable \
282
+ --needs-followup T2404 \
283
+ --agent-type specification
284
+ ```
285
+
286
+ ---
287
+
288
+ ## Anti-Patterns
289
+
290
+ | Pattern | Why Avoid |
291
+ |---------|-----------|
292
+ | Vague requirements without levels | Cannot verify compliance |
293
+ | Missing version number | Cannot track changes |
294
+ | Undefined scope | Unclear authority |
295
+ | No examples | Hard to implement correctly |
296
+ | Skipping RFC 2119 declaration | Ambiguous requirement levels |
297
+
298
+ ---
299
+
300
+ *Protocol Version 1.0.0 - Specification Protocol*