@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
@@ -1,49 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "title": "GradeResult",
4
- "description": "Agent behavioral grade result from session audit analysis",
5
- "_meta": {
6
- "schemaVersion": "1.0.0"
7
- },
8
- "type": "object",
9
- "required": ["sessionId", "totalScore", "maxScore", "dimensions", "flags", "timestamp", "entryCount"],
10
- "properties": {
11
- "sessionId": { "type": "string", "description": "Session ID that was graded" },
12
- "taskId": { "type": "string", "description": "Optional associated task ID" },
13
- "totalScore": { "type": "number", "minimum": 0, "maximum": 100 },
14
- "maxScore": { "type": "number", "minimum": 0, "maximum": 100, "default": 100 },
15
- "dimensions": {
16
- "type": "object",
17
- "properties": {
18
- "sessionDiscipline": { "$ref": "#/definitions/dimensionScore" },
19
- "discoveryEfficiency": { "$ref": "#/definitions/dimensionScore" },
20
- "taskHygiene": { "$ref": "#/definitions/dimensionScore" },
21
- "errorProtocol": { "$ref": "#/definitions/dimensionScore" },
22
- "disclosureUse": { "$ref": "#/definitions/dimensionScore" }
23
- }
24
- },
25
- "flags": {
26
- "type": "array",
27
- "items": { "type": "string" },
28
- "description": "Specific violations or improvement suggestions"
29
- },
30
- "timestamp": { "type": "string", "format": "date-time" },
31
- "entryCount": { "type": "number", "minimum": 0 },
32
- "evaluator": { "type": "string", "enum": ["auto", "manual"] }
33
- },
34
- "definitions": {
35
- "dimensionScore": {
36
- "type": "object",
37
- "required": ["score", "max", "evidence"],
38
- "properties": {
39
- "score": { "type": "number", "minimum": 0 },
40
- "max": { "type": "number", "minimum": 0 },
41
- "evidence": {
42
- "type": "array",
43
- "items": { "type": "string" },
44
- "description": "Specific observations contributing to this score"
45
- }
46
- }
47
- }
48
- }
49
- }
@@ -1,250 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://cleo-dev.com/schemas/v1/log.schema.json",
4
- "schemaVersion": "2.4.0",
5
- "title": "CLEO Change Log Schema",
6
- "description": "Immutable audit trail of all task operations. Used for debugging, history, and anti-hallucination verification.",
7
- "type": "object",
8
- "required": [
9
- "version",
10
- "project",
11
- "entries",
12
- "_meta"
13
- ],
14
- "additionalProperties": false,
15
- "properties": {
16
- "version": {
17
- "type": "string",
18
- "pattern": "^\\d+\\.\\d+\\.\\d+$",
19
- "description": "Legacy schema version field (deprecated, use _meta.schemaVersion)"
20
- },
21
- "project": {
22
- "type": "string",
23
- "description": "Project identifier. Must match todo.json."
24
- },
25
- "_meta": {
26
- "type": "object",
27
- "required": [
28
- "schemaVersion",
29
- "totalEntries",
30
- "firstEntry",
31
- "lastEntry"
32
- ],
33
- "additionalProperties": false,
34
- "properties": {
35
- "schemaVersion": {
36
- "type": "string",
37
- "pattern": "^\\d+\\.\\d+\\.\\d+$",
38
- "description": "Schema version for this file (semver). Canonical source for schema version (replaces root version field)."
39
- },
40
- "formatVersion": {
41
- "type": "string",
42
- "pattern": "^\\d+$",
43
- "default": "1",
44
- "description": "Log entry format version for future compatibility. Increment when entry structure changes."
45
- },
46
- "totalEntries": {
47
- "type": "integer",
48
- "minimum": 0
49
- },
50
- "firstEntry": {
51
- "type": [
52
- "string",
53
- "null"
54
- ],
55
- "format": "date-time"
56
- },
57
- "lastEntry": {
58
- "type": [
59
- "string",
60
- "null"
61
- ],
62
- "format": "date-time"
63
- },
64
- "entriesPruned": {
65
- "type": "integer",
66
- "default": 0,
67
- "description": "Count of entries removed due to retention policy."
68
- }
69
- }
70
- },
71
- "entries": {
72
- "type": "array",
73
- "description": "Log entries in chronological order. Append-only.",
74
- "items": {
75
- "$ref": "#/definitions/logEntry"
76
- }
77
- }
78
- },
79
- "definitions": {
80
- "logEntry": {
81
- "type": "object",
82
- "required": [
83
- "id",
84
- "timestamp",
85
- "action",
86
- "actor"
87
- ],
88
- "additionalProperties": false,
89
- "properties": {
90
- "id": {
91
- "type": "string",
92
- "pattern": "^log_[a-f0-9]{12}$",
93
- "description": "Unique log entry ID. Format: log_<12-hex-chars>"
94
- },
95
- "timestamp": {
96
- "type": "string",
97
- "format": "date-time",
98
- "description": "When this action occurred."
99
- },
100
- "sessionId": {
101
- "type": [
102
- "string",
103
- "null"
104
- ],
105
- "description": "Session that performed this action."
106
- },
107
- "action": {
108
- "type": "string",
109
- "enum": [
110
- "session_start",
111
- "session_end",
112
- "session_suspended",
113
- "session_resumed",
114
- "session_scope_defined",
115
- "session_scope_conflict",
116
- "session_focus_changed",
117
- "session_timeout_warning",
118
- "session_orphan_detected",
119
- "session_auto_suspended",
120
- "task_created",
121
- "task_updated",
122
- "status_changed",
123
- "task_archived",
124
- "focus_changed",
125
- "config_changed",
126
- "validation_run",
127
- "checksum_updated",
128
- "error_occurred",
129
- "phase_changed",
130
- "phase_started",
131
- "phase_completed",
132
- "phase_rollback"
133
- ],
134
- "description": "Type of action logged. Session actions (multi-session): session_suspended (paused), session_resumed (continued), session_scope_defined (scope created), session_scope_conflict (overlap detected), session_focus_changed (focus within session), session_timeout_warning (stale session), session_orphan_detected (crashed session), session_auto_suspended (timeout suspend). Phase actions: phase_changed, phase_started, phase_completed, phase_rollback."
135
- },
136
- "actor": {
137
- "type": "string",
138
- "enum": [
139
- "human",
140
- "claude",
141
- "system"
142
- ],
143
- "description": "Who/what performed the action."
144
- },
145
- "taskId": {
146
- "type": [
147
- "string",
148
- "null"
149
- ],
150
- "pattern": "^T\\d{3,}$",
151
- "description": "Task ID if action relates to a specific task."
152
- },
153
- "before": {
154
- "type": [
155
- "object",
156
- "null"
157
- ],
158
- "description": "State before the action (for changes)."
159
- },
160
- "after": {
161
- "type": [
162
- "object",
163
- "null"
164
- ],
165
- "description": "State after the action (for changes)."
166
- },
167
- "details": {
168
- "type": [
169
- "object",
170
- "string",
171
- "null"
172
- ],
173
- "description": "Additional context about the action."
174
- },
175
- "scope": {
176
- "type": [
177
- "object",
178
- "null"
179
- ],
180
- "description": "Session scope context for multi-session log entries. Null for single-session mode.",
181
- "additionalProperties": false,
182
- "properties": {
183
- "type": {
184
- "type": "string",
185
- "enum": [
186
- "task",
187
- "taskGroup",
188
- "subtree",
189
- "epicPhase",
190
- "epic",
191
- "custom"
192
- ],
193
- "description": "Scope type from session definition."
194
- },
195
- "rootTaskId": {
196
- "type": "string",
197
- "pattern": "^T\\d{3,}$",
198
- "description": "Root task defining the scope."
199
- },
200
- "phaseFilter": {
201
- "type": [
202
- "string",
203
- "null"
204
- ],
205
- "description": "Phase filter if scope is phase-limited."
206
- },
207
- "taskCount": {
208
- "type": "integer",
209
- "minimum": 0,
210
- "description": "Number of tasks in scope at log time."
211
- }
212
- }
213
- },
214
- "agentId": {
215
- "type": [
216
- "string",
217
- "null"
218
- ],
219
- "description": "Agent identifier in multi-session mode (e.g., 'opus-1', 'haiku-2')."
220
- },
221
- "otherActiveSessions": {
222
- "type": [
223
- "integer",
224
- "null"
225
- ],
226
- "minimum": 0,
227
- "description": "Count of other active sessions at log time. Useful for concurrency auditing."
228
- },
229
- "error": {
230
- "type": [
231
- "object",
232
- "null"
233
- ],
234
- "description": "Error details if action failed.",
235
- "properties": {
236
- "code": {
237
- "type": "string"
238
- },
239
- "message": {
240
- "type": "string"
241
- },
242
- "recoverable": {
243
- "type": "boolean"
244
- }
245
- }
246
- }
247
- }
248
- }
249
- }
250
- }
@@ -1,328 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://cleo-dev.com/schemas/v1/metrics.schema.json",
4
- "schemaVersion": "1.0.0",
5
- "title": "CLEO Metrics Schema",
6
- "description": "Self-auditing metrics system for compliance, efficiency, session, and self-improvement tracking. ALL fields use STRICT ENUMS - NO freetext allowed.",
7
- "type": "object",
8
- "additionalProperties": false,
9
-
10
- "definitions": {
11
- "severityEnum": {
12
- "type": "string",
13
- "enum": ["low", "medium", "high", "critical"],
14
- "description": "Violation severity level"
15
- },
16
- "manifestIntegrityEnum": {
17
- "type": "string",
18
- "enum": ["valid", "partial", "invalid", "missing"],
19
- "description": "Manifest file integrity state"
20
- },
21
- "instructionStabilityEnum": {
22
- "type": "string",
23
- "enum": ["stable", "clarified", "revised", "unstable"],
24
- "description": "User instruction consistency within session"
25
- },
26
- "sessionDegradationEnum": {
27
- "type": "string",
28
- "enum": ["none", "mild", "moderate", "severe"],
29
- "description": "Performance degradation over session lifetime"
30
- },
31
- "agentReliabilityEnum": {
32
- "type": "string",
33
- "enum": ["high", "medium", "low", "unreliable"],
34
- "description": "Agent task completion reliability rating"
35
- },
36
- "metricCategoryEnum": {
37
- "type": "string",
38
- "enum": ["compliance", "efficiency", "session", "improvement"],
39
- "description": "Metric category classification"
40
- },
41
- "metricSourceEnum": {
42
- "type": "string",
43
- "enum": ["task", "session", "agent", "system", "orchestrator"],
44
- "description": "Entity that generated this metric"
45
- },
46
- "aggregationPeriodEnum": {
47
- "type": "string",
48
- "enum": ["instant", "hourly", "daily", "weekly", "monthly"],
49
- "description": "Time aggregation period for metric"
50
- },
51
-
52
- "complianceMetric": {
53
- "type": "object",
54
- "description": "Compliance-related metrics for rule adherence tracking",
55
- "additionalProperties": false,
56
- "properties": {
57
- "compliance_pass_rate": {
58
- "type": "number",
59
- "minimum": 0,
60
- "maximum": 1,
61
- "description": "Percent tasks with zero violations (0.0-1.0)"
62
- },
63
- "rule_adherence_score": {
64
- "type": "number",
65
- "minimum": 0,
66
- "maximum": 1,
67
- "description": "Required rules satisfied / total rules (0.0-1.0)"
68
- },
69
- "violation_count": {
70
- "type": "integer",
71
- "minimum": 0,
72
- "description": "Total violations per task/agent/session"
73
- },
74
- "violation_severity": {
75
- "$ref": "#/definitions/severityEnum"
76
- },
77
- "critical_breach_rate": {
78
- "type": "number",
79
- "minimum": 0,
80
- "maximum": 1,
81
- "description": "Percent tasks with >=1 critical violation (0.0-1.0)"
82
- },
83
- "policy_drift_indicator": {
84
- "type": "number",
85
- "minimum": -1,
86
- "maximum": 1,
87
- "description": "Violation increase over time (-1.0 to 1.0, positive = worsening)"
88
- },
89
- "compliance_latency_ms": {
90
- "type": "integer",
91
- "minimum": 0,
92
- "description": "Time to verdict after task completion (milliseconds)"
93
- },
94
- "manifest_integrity": {
95
- "$ref": "#/definitions/manifestIntegrityEnum"
96
- }
97
- }
98
- },
99
-
100
- "efficiencyMetric": {
101
- "type": "object",
102
- "description": "Efficiency-related metrics for resource utilization tracking",
103
- "additionalProperties": false,
104
- "properties": {
105
- "token_utilization_rate": {
106
- "type": "number",
107
- "minimum": 0,
108
- "maximum": 2,
109
- "description": "Tokens used / tokens allocated (0.0-2.0, >1 means over budget)"
110
- },
111
- "context_retention_efficiency": {
112
- "type": "number",
113
- "minimum": 0,
114
- "maximum": 1,
115
- "description": "Relevant tokens / total tokens (0.0-1.0)"
116
- },
117
- "token_waste_ratio": {
118
- "type": "number",
119
- "minimum": 0,
120
- "maximum": 1,
121
- "description": "Tokens in failed/discarded tasks / total tokens (0.0-1.0)"
122
- },
123
- "cost_per_successful_task": {
124
- "type": "number",
125
- "minimum": 0,
126
- "description": "Cost / compliant tasks (USD cents)"
127
- },
128
- "task_completion_time_ms": {
129
- "type": "integer",
130
- "minimum": 0,
131
- "description": "Start to return time (milliseconds)"
132
- },
133
- "agent_turn_count": {
134
- "type": "integer",
135
- "minimum": 1,
136
- "description": "Back-and-forth interactions required"
137
- },
138
- "retry_rate": {
139
- "type": "number",
140
- "minimum": 0,
141
- "maximum": 1,
142
- "description": "Re-executions due to failure / total executions (0.0-1.0)"
143
- },
144
- "sub_agent_yield": {
145
- "type": "number",
146
- "minimum": 0,
147
- "maximum": 1,
148
- "description": "Useful outputs / agents invoked (0.0-1.0)"
149
- },
150
- "orchestration_overhead": {
151
- "type": "number",
152
- "minimum": 0,
153
- "description": "Orchestrator tokens / subagent tokens ratio"
154
- }
155
- }
156
- },
157
-
158
- "sessionMetric": {
159
- "type": "object",
160
- "description": "Session-related metrics for work session tracking",
161
- "additionalProperties": false,
162
- "properties": {
163
- "session_efficiency_score": {
164
- "type": "number",
165
- "minimum": 0,
166
- "maximum": 1,
167
- "description": "Composite session score (0.0-1.0)"
168
- },
169
- "human_intervention_rate": {
170
- "type": "number",
171
- "minimum": 0,
172
- "maximum": 1,
173
- "description": "Percent tasks needing correction (0.0-1.0)"
174
- },
175
- "instruction_stability": {
176
- "$ref": "#/definitions/instructionStabilityEnum"
177
- },
178
- "session_degradation": {
179
- "$ref": "#/definitions/sessionDegradationEnum"
180
- }
181
- }
182
- },
183
-
184
- "improvementMetric": {
185
- "type": "object",
186
- "description": "Self-improvement metrics for agent learning tracking",
187
- "additionalProperties": false,
188
- "properties": {
189
- "improvement_delta": {
190
- "type": "number",
191
- "minimum": -1,
192
- "maximum": 1,
193
- "description": "Change vs last N sessions (-1.0 to 1.0)"
194
- },
195
- "rule_friction_score": {
196
- "type": "number",
197
- "minimum": 0,
198
- "description": "Violations per rule (lower = better)"
199
- },
200
- "agent_reliability": {
201
- "$ref": "#/definitions/agentReliabilityEnum"
202
- },
203
- "prompt_effectiveness": {
204
- "type": "number",
205
- "minimum": 0,
206
- "maximum": 1,
207
- "description": "Pass rate per prompt version (0.0-1.0)"
208
- },
209
- "regression_signal": {
210
- "type": "boolean",
211
- "description": "True if sudden metric drop detected"
212
- }
213
- }
214
- },
215
-
216
- "metricEntry": {
217
- "type": "object",
218
- "description": "Single metrics JSONL line format",
219
- "required": ["timestamp", "category", "source", "source_id"],
220
- "additionalProperties": false,
221
- "properties": {
222
- "timestamp": {
223
- "type": "string",
224
- "format": "date-time",
225
- "description": "ISO 8601 timestamp when metric was recorded"
226
- },
227
- "category": {
228
- "$ref": "#/definitions/metricCategoryEnum"
229
- },
230
- "source": {
231
- "$ref": "#/definitions/metricSourceEnum"
232
- },
233
- "source_id": {
234
- "type": "string",
235
- "pattern": "^[A-Za-z0-9_-]+$",
236
- "minLength": 1,
237
- "maxLength": 64,
238
- "description": "ID of source entity (task ID, session ID, agent name)"
239
- },
240
- "period": {
241
- "$ref": "#/definitions/aggregationPeriodEnum"
242
- },
243
- "compliance": {
244
- "$ref": "#/definitions/complianceMetric"
245
- },
246
- "efficiency": {
247
- "$ref": "#/definitions/efficiencyMetric"
248
- },
249
- "session": {
250
- "$ref": "#/definitions/sessionMetric"
251
- },
252
- "improvement": {
253
- "$ref": "#/definitions/improvementMetric"
254
- },
255
- "project": {
256
- "type": "string",
257
- "minLength": 1,
258
- "maxLength": 128,
259
- "description": "Project name (for global metrics file)"
260
- },
261
- "tags": {
262
- "type": "array",
263
- "items": {
264
- "type": "string",
265
- "pattern": "^[a-z][a-z0-9-]*$",
266
- "minLength": 1,
267
- "maxLength": 32
268
- },
269
- "maxItems": 10,
270
- "uniqueItems": true,
271
- "description": "Classification tags for filtering"
272
- }
273
- }
274
- },
275
-
276
- "metricsFile": {
277
- "type": "object",
278
- "description": "Full metrics JSON file format (alternative to JSONL)",
279
- "required": ["version", "_meta", "entries"],
280
- "additionalProperties": false,
281
- "properties": {
282
- "version": {
283
- "type": "string",
284
- "pattern": "^\\d+\\.\\d+\\.\\d+$",
285
- "description": "Schema version"
286
- },
287
- "_meta": {
288
- "type": "object",
289
- "required": ["schemaVersion", "lastModified", "entryCount"],
290
- "additionalProperties": false,
291
- "properties": {
292
- "schemaVersion": {
293
- "type": "string",
294
- "pattern": "^\\d+\\.\\d+\\.\\d+$"
295
- },
296
- "lastModified": {
297
- "type": "string",
298
- "format": "date-time"
299
- },
300
- "entryCount": {
301
- "type": "integer",
302
- "minimum": 0
303
- },
304
- "oldestEntry": {
305
- "type": "string",
306
- "format": "date-time"
307
- },
308
- "newestEntry": {
309
- "type": "string",
310
- "format": "date-time"
311
- }
312
- }
313
- },
314
- "entries": {
315
- "type": "array",
316
- "items": {
317
- "$ref": "#/definitions/metricEntry"
318
- }
319
- }
320
- }
321
- }
322
- },
323
-
324
- "oneOf": [
325
- { "$ref": "#/definitions/metricEntry" },
326
- { "$ref": "#/definitions/metricsFile" }
327
- ]
328
- }