@cleocode/cleo 2026.2.8 → 2026.3.0
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/README.md +14 -13
- package/dist/cli/index.js +22676 -26012
- package/dist/cli/index.js.map +4 -4
- package/dist/mcp/index.js +1651 -802
- package/dist/mcp/index.js.map +4 -4
- package/drizzle/20260301053344_careless_changeling/migration.sql +27 -0
- package/drizzle/20260301053344_careless_changeling/snapshot.json +2598 -0
- package/package.json +3 -4
- package/packages/ct-skills/skills/ct-cleo/SKILL.md +49 -22
- package/templates/CLEO-INJECTION.md +32 -138
- package/templates/cleo-gitignore +66 -49
- package/templates/git-hooks/pre-commit +24 -6
- package/schemas/archive/agent-configs.schema.json +0 -120
- package/schemas/archive/agent-registry.schema.json +0 -132
- package/schemas/archive/archive.schema.json +0 -450
- package/schemas/archive/claudedocs-frontmatter.schema.json +0 -162
- package/schemas/archive/commands-index.schema.json +0 -158
- package/schemas/archive/contribution.schema.json +0 -722
- package/schemas/archive/critical-path.schema.json +0 -246
- package/schemas/archive/deps-cache.schema.json +0 -97
- package/schemas/archive/doctor-output.schema.json +0 -283
- package/schemas/archive/error.schema.json +0 -161
- package/schemas/archive/export-package.schema.json +0 -375
- package/schemas/archive/global-config.schema.json +0 -219
- package/schemas/archive/log.schema.json +0 -250
- package/schemas/archive/metrics.schema.json +0 -328
- package/schemas/archive/migrations.schema.json +0 -150
- package/schemas/archive/nexus-registry.schema.json +0 -90
- package/schemas/archive/output.schema.json +0 -164
- package/schemas/archive/rcsd-consensus-report.schema.json +0 -491
- package/schemas/archive/rcsd-hitl-resolution.schema.json +0 -216
- package/schemas/archive/rcsd-index.schema.json +0 -384
- package/schemas/archive/rcsd-manifest.schema.json +0 -264
- package/schemas/archive/rcsd-research-output.schema.json +0 -564
- package/schemas/archive/rcsd-spec-frontmatter.schema.json +0 -225
- package/schemas/archive/releases.schema.json +0 -267
- package/schemas/archive/skills-manifest.schema.json +0 -91
- package/schemas/archive/skillsmp.schema.json +0 -208
- package/schemas/archive/spec-index.schema.json +0 -196
- package/schemas/archive/todo.schema.json +0 -995
- package/schemas/claudedocs-frontmatter.schema.json +0 -162
- package/schemas/commands-index.schema.json +0 -158
- package/schemas/rcsd-consensus-report.schema.json +0 -494
- package/schemas/rcsd-hitl-resolution.schema.json +0 -219
- package/schemas/rcsd-index.schema.json +0 -387
- package/schemas/rcsd-manifest.schema.json +0 -267
- package/schemas/rcsd-research-output.schema.json +0 -567
- package/schemas/rcsd-spec-frontmatter.schema.json +0 -225
- package/schemas/todo.schema.json +0 -994
- package/skills/_shared/cleo-style-guide.md +0 -84
- package/skills/_shared/manifest-operations.md +0 -810
- package/skills/_shared/placeholders.json +0 -433
- package/skills/_shared/skill-chaining-patterns.md +0 -240
- package/skills/_shared/subagent-protocol-base.md +0 -221
- package/skills/_shared/task-system-integration.md +0 -232
- package/skills/_shared/testing-framework-config.md +0 -110
- package/skills/agentskills-integrate.md +0 -104
- package/skills/agentskills-specs.md +0 -255
- package/skills/agentskills-what-are-skills.md +0 -75
- package/skills/manifest.json +0 -510
- package/templates/AGENT-INJECTION.md +0 -166
- /package/schemas/{research-manifest.schema.json → archive/research-manifest.schema.json} +0 -0
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"schemaVersion": "1.0.0",
|
|
4
|
-
"$id": "https://cleo-dev.com/schemas/v1/rcsd-hitl-resolution.schema.json",
|
|
5
|
-
"title": "RCSD HITL Resolution",
|
|
6
|
-
"description": "Schema for RCSD human-in-the-loop resolution records. Captures the trigger, decision, reviewer, timestamps, and resulting pipeline actions.",
|
|
7
|
-
"type": "object",
|
|
8
|
-
"required": [
|
|
9
|
-
"$schema",
|
|
10
|
-
"hitlResolutionId",
|
|
11
|
-
"taskId",
|
|
12
|
-
"shortName",
|
|
13
|
-
"stage",
|
|
14
|
-
"trigger",
|
|
15
|
-
"decision",
|
|
16
|
-
"reviewer",
|
|
17
|
-
"timestamps",
|
|
18
|
-
"effects"
|
|
19
|
-
],
|
|
20
|
-
"additionalProperties": false,
|
|
21
|
-
|
|
22
|
-
"properties": {
|
|
23
|
-
"$schema": {
|
|
24
|
-
"type": "string",
|
|
25
|
-
"enum": [
|
|
26
|
-
"https://cleo-dev.com/schemas/v1/rcsd-hitl-resolution.schema.json",
|
|
27
|
-
"https://cleo-dev.com/schemas/v1/rcasd-hitl-resolution.schema.json"
|
|
28
|
-
],
|
|
29
|
-
"description": "Self-referencing schema URI for validation"
|
|
30
|
-
},
|
|
31
|
-
"hitlResolutionId": {
|
|
32
|
-
"type": "string",
|
|
33
|
-
"pattern": "^HR-\\d{3,}$",
|
|
34
|
-
"description": "Unique HITL resolution identifier (e.g., HR-001)"
|
|
35
|
-
},
|
|
36
|
-
"taskId": {
|
|
37
|
-
"type": "string",
|
|
38
|
-
"pattern": "^T\\d{3,}$",
|
|
39
|
-
"description": "Anchoring task ID (e.g., T500)"
|
|
40
|
-
},
|
|
41
|
-
"shortName": {
|
|
42
|
-
"type": "string",
|
|
43
|
-
"pattern": "^[a-z0-9-]{3,25}$",
|
|
44
|
-
"description": "Kebab-case short name derived from task title"
|
|
45
|
-
},
|
|
46
|
-
"stage": {
|
|
47
|
-
"type": "string",
|
|
48
|
-
"enum": ["research", "consensus", "spec", "decompose"],
|
|
49
|
-
"description": "Pipeline stage where HITL intervention occurred"
|
|
50
|
-
},
|
|
51
|
-
"trigger": {
|
|
52
|
-
"type": "object",
|
|
53
|
-
"description": "Trigger details that required human review",
|
|
54
|
-
"required": ["reasonCode", "reasonText", "claimIds", "recommendations"],
|
|
55
|
-
"additionalProperties": false,
|
|
56
|
-
"properties": {
|
|
57
|
-
"reasonCode": {
|
|
58
|
-
"type": "string",
|
|
59
|
-
"minLength": 3,
|
|
60
|
-
"description": "Machine-readable reason code"
|
|
61
|
-
},
|
|
62
|
-
"reasonText": {
|
|
63
|
-
"type": "string",
|
|
64
|
-
"minLength": 10,
|
|
65
|
-
"description": "Human-readable explanation of the trigger"
|
|
66
|
-
},
|
|
67
|
-
"claimIds": {
|
|
68
|
-
"type": "array",
|
|
69
|
-
"items": { "type": "string" },
|
|
70
|
-
"minItems": 1,
|
|
71
|
-
"description": "Claim IDs involved in the HITL request"
|
|
72
|
-
},
|
|
73
|
-
"recommendations": {
|
|
74
|
-
"type": "array",
|
|
75
|
-
"items": { "$ref": "#/definitions/recommendation" },
|
|
76
|
-
"minItems": 1,
|
|
77
|
-
"description": "Recommended changes or actions"
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
"decision": {
|
|
82
|
-
"type": "object",
|
|
83
|
-
"description": "Decision taken by the human reviewer",
|
|
84
|
-
"required": ["selectedOptionId", "selectedOptionText", "requiresFollowupStage"],
|
|
85
|
-
"additionalProperties": false,
|
|
86
|
-
"properties": {
|
|
87
|
-
"selectedOptionId": {
|
|
88
|
-
"type": "string",
|
|
89
|
-
"minLength": 3,
|
|
90
|
-
"description": "Identifier for the selected option"
|
|
91
|
-
},
|
|
92
|
-
"selectedOptionText": {
|
|
93
|
-
"type": "string",
|
|
94
|
-
"minLength": 3,
|
|
95
|
-
"description": "Human-readable decision summary"
|
|
96
|
-
},
|
|
97
|
-
"justification": {
|
|
98
|
-
"type": "string",
|
|
99
|
-
"maxLength": 2000,
|
|
100
|
-
"description": "Optional justification for the decision"
|
|
101
|
-
},
|
|
102
|
-
"requiresFollowupStage": {
|
|
103
|
-
"type": "string",
|
|
104
|
-
"enum": ["research", "consensus", "spec", "decompose", "none"],
|
|
105
|
-
"description": "Stage that must be re-run as a result of the decision"
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
"reviewer": {
|
|
110
|
-
"type": "object",
|
|
111
|
-
"description": "Reviewer identity details",
|
|
112
|
-
"required": ["id", "displayName", "authProvider"],
|
|
113
|
-
"additionalProperties": false,
|
|
114
|
-
"properties": {
|
|
115
|
-
"id": {
|
|
116
|
-
"type": "string",
|
|
117
|
-
"minLength": 3,
|
|
118
|
-
"description": "Reviewer ID (user or service)"
|
|
119
|
-
},
|
|
120
|
-
"displayName": {
|
|
121
|
-
"type": "string",
|
|
122
|
-
"minLength": 1,
|
|
123
|
-
"description": "Reviewer display name"
|
|
124
|
-
},
|
|
125
|
-
"authProvider": {
|
|
126
|
-
"type": "string",
|
|
127
|
-
"minLength": 2,
|
|
128
|
-
"description": "Authentication provider name"
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
"timestamps": {
|
|
133
|
-
"type": "object",
|
|
134
|
-
"description": "Creation and decision timestamps",
|
|
135
|
-
"required": ["createdAt", "decidedAt"],
|
|
136
|
-
"additionalProperties": false,
|
|
137
|
-
"properties": {
|
|
138
|
-
"createdAt": {
|
|
139
|
-
"type": "string",
|
|
140
|
-
"format": "date-time",
|
|
141
|
-
"description": "HITL request creation time (ISO 8601)"
|
|
142
|
-
},
|
|
143
|
-
"decidedAt": {
|
|
144
|
-
"type": "string",
|
|
145
|
-
"format": "date-time",
|
|
146
|
-
"description": "Decision time (ISO 8601)"
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
|
-
"effects": {
|
|
151
|
-
"type": "object",
|
|
152
|
-
"description": "Pipeline actions and artifacts produced by the decision",
|
|
153
|
-
"required": ["pipelineAction", "updates", "artifactLinks"],
|
|
154
|
-
"additionalProperties": false,
|
|
155
|
-
"properties": {
|
|
156
|
-
"pipelineAction": {
|
|
157
|
-
"type": "string",
|
|
158
|
-
"enum": ["resume", "pause", "rollback_to_stage"],
|
|
159
|
-
"description": "Pipeline action to take after decision"
|
|
160
|
-
},
|
|
161
|
-
"updates": {
|
|
162
|
-
"type": "array",
|
|
163
|
-
"items": { "$ref": "#/definitions/updateOperation" },
|
|
164
|
-
"description": "Manifest or artifact updates applied as a result of the decision"
|
|
165
|
-
},
|
|
166
|
-
"artifactLinks": {
|
|
167
|
-
"type": "array",
|
|
168
|
-
"items": { "type": "string" },
|
|
169
|
-
"description": "Relative paths or filenames of artifacts affected"
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
},
|
|
174
|
-
|
|
175
|
-
"definitions": {
|
|
176
|
-
"recommendation": {
|
|
177
|
-
"type": "object",
|
|
178
|
-
"required": ["type", "priority", "text"],
|
|
179
|
-
"additionalProperties": false,
|
|
180
|
-
"properties": {
|
|
181
|
-
"type": {
|
|
182
|
-
"type": "string",
|
|
183
|
-
"minLength": 3,
|
|
184
|
-
"description": "Recommendation type (e.g., spec-requirement)"
|
|
185
|
-
},
|
|
186
|
-
"priority": {
|
|
187
|
-
"type": "string",
|
|
188
|
-
"enum": ["low", "medium", "high", "critical"],
|
|
189
|
-
"description": "Recommendation priority"
|
|
190
|
-
},
|
|
191
|
-
"text": {
|
|
192
|
-
"type": "string",
|
|
193
|
-
"minLength": 3,
|
|
194
|
-
"description": "Recommendation text"
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
},
|
|
198
|
-
"updateOperation": {
|
|
199
|
-
"type": "object",
|
|
200
|
-
"required": ["target", "path", "value"],
|
|
201
|
-
"additionalProperties": false,
|
|
202
|
-
"properties": {
|
|
203
|
-
"target": {
|
|
204
|
-
"type": "string",
|
|
205
|
-
"minLength": 1,
|
|
206
|
-
"description": "Target file or artifact to update"
|
|
207
|
-
},
|
|
208
|
-
"path": {
|
|
209
|
-
"type": "string",
|
|
210
|
-
"minLength": 1,
|
|
211
|
-
"description": "JSON pointer or key path to update"
|
|
212
|
-
},
|
|
213
|
-
"value": {
|
|
214
|
-
"description": "Replacement value"
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
@@ -1,387 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"schemaVersion": "1.0.0",
|
|
4
|
-
"$id": "https://cleo-dev.com/schemas/v1/rcsd-index.schema.json",
|
|
5
|
-
"title": "RCSD Pipeline Master Index",
|
|
6
|
-
"description": "Master index for Research-Consensus-Spec-Decompose pipeline. Tracks all RCSD artifacts, task anchoring, authority mapping, and pipeline state. LLM-agent-first design.",
|
|
7
|
-
"type": "object",
|
|
8
|
-
"required": ["$schema", "_meta", "authorities", "taskAnchored", "specs", "reports"],
|
|
9
|
-
"additionalProperties": false,
|
|
10
|
-
|
|
11
|
-
"properties": {
|
|
12
|
-
"$schema": {
|
|
13
|
-
"type": "string",
|
|
14
|
-
"enum": [
|
|
15
|
-
"https://cleo-dev.com/schemas/v1/rcsd-index.schema.json",
|
|
16
|
-
"https://cleo-dev.com/schemas/v1/rcasd-index.schema.json"
|
|
17
|
-
],
|
|
18
|
-
"description": "Self-referencing schema URI for validation"
|
|
19
|
-
},
|
|
20
|
-
"_meta": {
|
|
21
|
-
"type": "object",
|
|
22
|
-
"description": "Index metadata for version tracking, integrity, and summary statistics",
|
|
23
|
-
"required": ["version", "lastUpdated", "totals"],
|
|
24
|
-
"additionalProperties": false,
|
|
25
|
-
"properties": {
|
|
26
|
-
"version": {
|
|
27
|
-
"type": "string",
|
|
28
|
-
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
29
|
-
"description": "Semantic version of the RCSD index format"
|
|
30
|
-
},
|
|
31
|
-
"lastUpdated": {
|
|
32
|
-
"type": "string",
|
|
33
|
-
"format": "date-time",
|
|
34
|
-
"description": "ISO 8601 timestamp of last index update"
|
|
35
|
-
},
|
|
36
|
-
"totals": {
|
|
37
|
-
"type": "object",
|
|
38
|
-
"description": "Aggregate counts for quick status queries",
|
|
39
|
-
"required": ["tasks", "specs", "reports", "activeResearch", "pendingConsensus"],
|
|
40
|
-
"additionalProperties": false,
|
|
41
|
-
"properties": {
|
|
42
|
-
"tasks": {
|
|
43
|
-
"type": "integer",
|
|
44
|
-
"minimum": 0,
|
|
45
|
-
"description": "Total task-anchored RCSD directories"
|
|
46
|
-
},
|
|
47
|
-
"specs": {
|
|
48
|
-
"type": "integer",
|
|
49
|
-
"minimum": 0,
|
|
50
|
-
"description": "Total generated specifications"
|
|
51
|
-
},
|
|
52
|
-
"reports": {
|
|
53
|
-
"type": "integer",
|
|
54
|
-
"minimum": 0,
|
|
55
|
-
"description": "Total implementation reports"
|
|
56
|
-
},
|
|
57
|
-
"activeResearch": {
|
|
58
|
-
"type": "integer",
|
|
59
|
-
"minimum": 0,
|
|
60
|
-
"description": "Research operations currently in progress"
|
|
61
|
-
},
|
|
62
|
-
"pendingConsensus": {
|
|
63
|
-
"type": "integer",
|
|
64
|
-
"minimum": 0,
|
|
65
|
-
"description": "Research outputs awaiting consensus validation"
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
"checksum": {
|
|
70
|
-
"type": "string",
|
|
71
|
-
"pattern": "^[a-f0-9]{16,64}$",
|
|
72
|
-
"description": "SHA-256 (truncated or full) for integrity verification"
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
"authorities": {
|
|
77
|
-
"type": "object",
|
|
78
|
-
"description": "Domain to authoritative specification mapping. Query: 'What is the authoritative source for domain X?'",
|
|
79
|
-
"additionalProperties": false,
|
|
80
|
-
"patternProperties": {
|
|
81
|
-
"^[a-z][a-z0-9-]*$": {
|
|
82
|
-
"type": "string",
|
|
83
|
-
"pattern": "^[A-Z0-9-]+\\.md$",
|
|
84
|
-
"description": "Filename of authoritative spec for this domain"
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
"taskAnchored": {
|
|
89
|
-
"type": "object",
|
|
90
|
-
"description": "Task ID to RCSD artifact mapping. Primary lookup for task-driven workflows.",
|
|
91
|
-
"additionalProperties": false,
|
|
92
|
-
"patternProperties": {
|
|
93
|
-
"^T\\d{3,}$": {
|
|
94
|
-
"$ref": "#/definitions/taskAnchor"
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
"specs": {
|
|
99
|
-
"type": "array",
|
|
100
|
-
"description": "All generated specification documents with metadata",
|
|
101
|
-
"items": {
|
|
102
|
-
"$ref": "#/definitions/specEntry"
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
"reports": {
|
|
106
|
-
"type": "array",
|
|
107
|
-
"description": "All implementation reports tracking spec progress",
|
|
108
|
-
"items": {
|
|
109
|
-
"$ref": "#/definitions/reportEntry"
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
"pipeline": {
|
|
113
|
-
"type": "object",
|
|
114
|
-
"description": "Active pipeline status tracking for in-flight operations",
|
|
115
|
-
"additionalProperties": false,
|
|
116
|
-
"properties": {
|
|
117
|
-
"activeOperations": {
|
|
118
|
-
"type": "array",
|
|
119
|
-
"description": "Currently running RCSD pipeline operations",
|
|
120
|
-
"items": {
|
|
121
|
-
"$ref": "#/definitions/pipelineOperation"
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
"queuedTasks": {
|
|
125
|
-
"type": "array",
|
|
126
|
-
"description": "Tasks queued for RCSD processing",
|
|
127
|
-
"items": {
|
|
128
|
-
"type": "string",
|
|
129
|
-
"pattern": "^T\\d{3,}$"
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
"lastCompleted": {
|
|
133
|
-
"type": "object",
|
|
134
|
-
"description": "Most recently completed pipeline run",
|
|
135
|
-
"additionalProperties": false,
|
|
136
|
-
"properties": {
|
|
137
|
-
"taskId": {
|
|
138
|
-
"type": "string",
|
|
139
|
-
"pattern": "^T\\d{3,}$"
|
|
140
|
-
},
|
|
141
|
-
"stage": {
|
|
142
|
-
"$ref": "#/definitions/pipelineStage"
|
|
143
|
-
},
|
|
144
|
-
"completedAt": {
|
|
145
|
-
"type": "string",
|
|
146
|
-
"format": "date-time"
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
},
|
|
152
|
-
"recentChanges": {
|
|
153
|
-
"type": "array",
|
|
154
|
-
"description": "Last 20 changes for audit trail and change tracking",
|
|
155
|
-
"maxItems": 20,
|
|
156
|
-
"items": {
|
|
157
|
-
"$ref": "#/definitions/changeEntry"
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
|
|
162
|
-
"definitions": {
|
|
163
|
-
"pipelineStage": {
|
|
164
|
-
"type": "string",
|
|
165
|
-
"enum": ["initialized", "research", "consensus", "spec", "decompose", "complete"],
|
|
166
|
-
"description": "RCSD pipeline stages: initialized (directory created), research (gathering sources), consensus (validating findings), spec (generating specification), decompose (creating subtasks), complete (pipeline finished)"
|
|
167
|
-
},
|
|
168
|
-
"taskAnchor": {
|
|
169
|
-
"type": "object",
|
|
170
|
-
"description": "Task-anchored RCSD artifact reference",
|
|
171
|
-
"required": ["shortName", "directory", "pipelineStage"],
|
|
172
|
-
"additionalProperties": false,
|
|
173
|
-
"properties": {
|
|
174
|
-
"shortName": {
|
|
175
|
-
"type": "string",
|
|
176
|
-
"pattern": "^[a-z0-9-]{3,25}$",
|
|
177
|
-
"description": "Kebab-case identifier derived from task title"
|
|
178
|
-
},
|
|
179
|
-
"directory": {
|
|
180
|
-
"type": "string",
|
|
181
|
-
"pattern": "^T\\d{3,}_[a-z0-9-]+$",
|
|
182
|
-
"description": "Directory name: TXXX_short-name"
|
|
183
|
-
},
|
|
184
|
-
"spec": {
|
|
185
|
-
"type": "string",
|
|
186
|
-
"pattern": "^[A-Z0-9-]+-SPEC\\.md$",
|
|
187
|
-
"description": "Generated specification filename (if exists)"
|
|
188
|
-
},
|
|
189
|
-
"report": {
|
|
190
|
-
"type": "string",
|
|
191
|
-
"pattern": "^[A-Z0-9-]+-IMPLEMENTATION-REPORT\\.md$",
|
|
192
|
-
"description": "Implementation report filename (if exists)"
|
|
193
|
-
},
|
|
194
|
-
"status": {
|
|
195
|
-
"type": "string",
|
|
196
|
-
"enum": ["active", "paused", "completed", "failed", "archived"],
|
|
197
|
-
"description": "Current status of this RCSD artifact set"
|
|
198
|
-
},
|
|
199
|
-
"pipelineStage": {
|
|
200
|
-
"$ref": "#/definitions/pipelineStage"
|
|
201
|
-
},
|
|
202
|
-
"createdAt": {
|
|
203
|
-
"type": "string",
|
|
204
|
-
"format": "date-time",
|
|
205
|
-
"description": "When this task anchor was created"
|
|
206
|
-
},
|
|
207
|
-
"updatedAt": {
|
|
208
|
-
"type": "string",
|
|
209
|
-
"format": "date-time",
|
|
210
|
-
"description": "Last modification timestamp"
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
},
|
|
214
|
-
"specEntry": {
|
|
215
|
-
"type": "object",
|
|
216
|
-
"description": "Specification document metadata",
|
|
217
|
-
"required": ["file", "version", "status", "domain", "taskId", "lastUpdated"],
|
|
218
|
-
"additionalProperties": false,
|
|
219
|
-
"properties": {
|
|
220
|
-
"file": {
|
|
221
|
-
"type": "string",
|
|
222
|
-
"pattern": "^[A-Z0-9-]+-SPEC\\.md$",
|
|
223
|
-
"description": "Specification filename"
|
|
224
|
-
},
|
|
225
|
-
"version": {
|
|
226
|
-
"type": "string",
|
|
227
|
-
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
228
|
-
"description": "Semantic version of the specification"
|
|
229
|
-
},
|
|
230
|
-
"status": {
|
|
231
|
-
"type": "string",
|
|
232
|
-
"enum": ["DRAFT", "APPROVED", "ACTIVE", "IMMUTABLE", "DEPRECATED"],
|
|
233
|
-
"description": "Document lifecycle status"
|
|
234
|
-
},
|
|
235
|
-
"domain": {
|
|
236
|
-
"type": "string",
|
|
237
|
-
"description": "Primary domain this spec covers"
|
|
238
|
-
},
|
|
239
|
-
"category": {
|
|
240
|
-
"type": "string",
|
|
241
|
-
"enum": ["core-system", "feature", "integration", "process", "enhancement"],
|
|
242
|
-
"description": "Organizational category"
|
|
243
|
-
},
|
|
244
|
-
"taskId": {
|
|
245
|
-
"type": "string",
|
|
246
|
-
"pattern": "^T\\d{3,}$",
|
|
247
|
-
"description": "Originating task ID"
|
|
248
|
-
},
|
|
249
|
-
"shortName": {
|
|
250
|
-
"type": "string",
|
|
251
|
-
"pattern": "^[a-z0-9-]{3,25}$",
|
|
252
|
-
"description": "Short identifier for the spec"
|
|
253
|
-
},
|
|
254
|
-
"synopsis": {
|
|
255
|
-
"type": "string",
|
|
256
|
-
"maxLength": 200,
|
|
257
|
-
"description": "One-sentence purpose summary"
|
|
258
|
-
},
|
|
259
|
-
"lastUpdated": {
|
|
260
|
-
"type": "string",
|
|
261
|
-
"format": "date-time",
|
|
262
|
-
"description": "Last modification timestamp"
|
|
263
|
-
},
|
|
264
|
-
"consensusVerdict": {
|
|
265
|
-
"type": "string",
|
|
266
|
-
"enum": ["HIGH_CONFIDENCE", "MEDIUM_CONFIDENCE", "LOW_CONFIDENCE", "CONTESTED"],
|
|
267
|
-
"description": "Consensus validation outcome that generated this spec"
|
|
268
|
-
},
|
|
269
|
-
"implementationReport": {
|
|
270
|
-
"type": "string",
|
|
271
|
-
"pattern": "^[A-Z0-9-]+-IMPLEMENTATION-REPORT\\.md$",
|
|
272
|
-
"description": "Associated implementation report filename"
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
},
|
|
276
|
-
"reportEntry": {
|
|
277
|
-
"type": "object",
|
|
278
|
-
"description": "Implementation report metadata",
|
|
279
|
-
"required": ["file", "relatedSpec", "taskId", "progress", "lastUpdated"],
|
|
280
|
-
"additionalProperties": false,
|
|
281
|
-
"properties": {
|
|
282
|
-
"file": {
|
|
283
|
-
"type": "string",
|
|
284
|
-
"pattern": "^[A-Z0-9-]+-IMPLEMENTATION-REPORT\\.md$",
|
|
285
|
-
"description": "Report filename"
|
|
286
|
-
},
|
|
287
|
-
"relatedSpec": {
|
|
288
|
-
"type": "string",
|
|
289
|
-
"pattern": "^[A-Z0-9-]+-SPEC\\.md$",
|
|
290
|
-
"description": "Specification this report tracks"
|
|
291
|
-
},
|
|
292
|
-
"taskId": {
|
|
293
|
-
"type": "string",
|
|
294
|
-
"pattern": "^T\\d{3,}$",
|
|
295
|
-
"description": "Originating task ID"
|
|
296
|
-
},
|
|
297
|
-
"progress": {
|
|
298
|
-
"type": "string",
|
|
299
|
-
"pattern": "^(\\d{1,3}%|\\d+/\\d+|Varies|N/A)$",
|
|
300
|
-
"description": "Progress indicator (percentage, fraction, or status)"
|
|
301
|
-
},
|
|
302
|
-
"phase": {
|
|
303
|
-
"type": "string",
|
|
304
|
-
"description": "Current implementation phase"
|
|
305
|
-
},
|
|
306
|
-
"lastUpdated": {
|
|
307
|
-
"type": "string",
|
|
308
|
-
"format": "date-time",
|
|
309
|
-
"description": "Last modification timestamp"
|
|
310
|
-
},
|
|
311
|
-
"notes": {
|
|
312
|
-
"type": "string",
|
|
313
|
-
"maxLength": 200,
|
|
314
|
-
"description": "Brief status note"
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
},
|
|
318
|
-
"pipelineOperation": {
|
|
319
|
-
"type": "object",
|
|
320
|
-
"description": "Active pipeline operation tracking",
|
|
321
|
-
"required": ["operationId", "taskId", "stage", "startedAt"],
|
|
322
|
-
"additionalProperties": false,
|
|
323
|
-
"properties": {
|
|
324
|
-
"operationId": {
|
|
325
|
-
"type": "string",
|
|
326
|
-
"pattern": "^op_[a-f0-9]{8}$",
|
|
327
|
-
"description": "Unique operation identifier"
|
|
328
|
-
},
|
|
329
|
-
"taskId": {
|
|
330
|
-
"type": "string",
|
|
331
|
-
"pattern": "^T\\d{3,}$",
|
|
332
|
-
"description": "Task being processed"
|
|
333
|
-
},
|
|
334
|
-
"stage": {
|
|
335
|
-
"$ref": "#/definitions/pipelineStage"
|
|
336
|
-
},
|
|
337
|
-
"startedAt": {
|
|
338
|
-
"type": "string",
|
|
339
|
-
"format": "date-time",
|
|
340
|
-
"description": "When operation started"
|
|
341
|
-
},
|
|
342
|
-
"progress": {
|
|
343
|
-
"type": "integer",
|
|
344
|
-
"minimum": 0,
|
|
345
|
-
"maximum": 100,
|
|
346
|
-
"description": "Completion percentage"
|
|
347
|
-
},
|
|
348
|
-
"message": {
|
|
349
|
-
"type": "string",
|
|
350
|
-
"maxLength": 200,
|
|
351
|
-
"description": "Current status message"
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
},
|
|
355
|
-
"changeEntry": {
|
|
356
|
-
"type": "object",
|
|
357
|
-
"description": "Audit trail entry for index changes",
|
|
358
|
-
"required": ["timestamp", "taskId", "changeType", "description"],
|
|
359
|
-
"additionalProperties": false,
|
|
360
|
-
"properties": {
|
|
361
|
-
"timestamp": {
|
|
362
|
-
"type": "string",
|
|
363
|
-
"format": "date-time",
|
|
364
|
-
"description": "When change occurred"
|
|
365
|
-
},
|
|
366
|
-
"taskId": {
|
|
367
|
-
"type": "string",
|
|
368
|
-
"pattern": "^T\\d{3,}$",
|
|
369
|
-
"description": "Affected task ID"
|
|
370
|
-
},
|
|
371
|
-
"changeType": {
|
|
372
|
-
"type": "string",
|
|
373
|
-
"enum": ["Initialized", "ResearchComplete", "ConsensusComplete", "SpecGenerated", "ReportCreated", "StageAdvanced", "StatusChange", "Archived"],
|
|
374
|
-
"description": "Type of change"
|
|
375
|
-
},
|
|
376
|
-
"stage": {
|
|
377
|
-
"$ref": "#/definitions/pipelineStage"
|
|
378
|
-
},
|
|
379
|
-
"description": {
|
|
380
|
-
"type": "string",
|
|
381
|
-
"maxLength": 200,
|
|
382
|
-
"description": "Human-readable change description"
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
}
|