@cleocode/contracts 2026.4.69 → 2026.4.72

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 (71) hide show
  1. package/dist/__tests__/acceptance-gate.test.d.ts +14 -0
  2. package/dist/__tests__/acceptance-gate.test.d.ts.map +1 -0
  3. package/dist/__tests__/acceptance-gate.test.js +642 -0
  4. package/dist/__tests__/acceptance-gate.test.js.map +1 -0
  5. package/dist/__tests__/attachment.test.d.ts +17 -0
  6. package/dist/__tests__/attachment.test.d.ts.map +1 -0
  7. package/dist/__tests__/attachment.test.js +505 -0
  8. package/dist/__tests__/attachment.test.js.map +1 -0
  9. package/dist/__tests__/evidence-record.test.d.ts +14 -0
  10. package/dist/__tests__/evidence-record.test.d.ts.map +1 -0
  11. package/dist/__tests__/evidence-record.test.js +362 -0
  12. package/dist/__tests__/evidence-record.test.js.map +1 -0
  13. package/dist/__tests__/invariants.test.d.ts +19 -0
  14. package/dist/__tests__/invariants.test.d.ts.map +1 -0
  15. package/dist/__tests__/invariants.test.js +351 -0
  16. package/dist/__tests__/invariants.test.js.map +1 -0
  17. package/dist/acceptance-gate-schema.d.ts +701 -0
  18. package/dist/acceptance-gate-schema.d.ts.map +1 -0
  19. package/dist/acceptance-gate-schema.js +303 -0
  20. package/dist/acceptance-gate-schema.js.map +1 -0
  21. package/dist/acceptance-gate.d.ts +350 -0
  22. package/dist/acceptance-gate.d.ts.map +1 -0
  23. package/dist/acceptance-gate.js +22 -0
  24. package/dist/acceptance-gate.js.map +1 -0
  25. package/dist/attachment-schema.d.ts +243 -0
  26. package/dist/attachment-schema.d.ts.map +1 -0
  27. package/dist/attachment-schema.js +200 -0
  28. package/dist/attachment-schema.js.map +1 -0
  29. package/dist/attachment.d.ts +224 -0
  30. package/dist/attachment.d.ts.map +1 -0
  31. package/dist/attachment.js +21 -0
  32. package/dist/attachment.js.map +1 -0
  33. package/dist/evidence-record-schema.d.ts +202 -0
  34. package/dist/evidence-record-schema.d.ts.map +1 -0
  35. package/dist/evidence-record-schema.js +130 -0
  36. package/dist/evidence-record-schema.js.map +1 -0
  37. package/dist/evidence-record.d.ts +167 -0
  38. package/dist/evidence-record.d.ts.map +1 -0
  39. package/dist/evidence-record.js +21 -0
  40. package/dist/evidence-record.js.map +1 -0
  41. package/dist/index.d.ts +12 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +6 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/task-evidence.d.ts +251 -0
  46. package/dist/task-evidence.d.ts.map +1 -0
  47. package/dist/task-evidence.js +89 -0
  48. package/dist/task-evidence.js.map +1 -0
  49. package/dist/task.d.ts +23 -4
  50. package/dist/task.d.ts.map +1 -1
  51. package/package.json +8 -2
  52. package/schemas/acceptance-gate.schema.json +9 -0
  53. package/schemas/attachment.schema.json +9 -0
  54. package/schemas/gate-result-details.schema.json +9 -0
  55. package/schemas/gate-result.schema.json +9 -0
  56. package/schemas/manifest-v1.json +176 -0
  57. package/schemas/task-evidence.schema.json +9 -0
  58. package/schemas/task.schema.json +9 -0
  59. package/src/__tests__/acceptance-gate.test.ts +736 -0
  60. package/src/__tests__/attachment.test.ts +601 -0
  61. package/src/__tests__/evidence-record.test.ts +412 -0
  62. package/src/__tests__/invariants.test.ts +445 -0
  63. package/src/acceptance-gate-schema.ts +347 -0
  64. package/src/acceptance-gate.ts +370 -0
  65. package/src/attachment-schema.ts +223 -0
  66. package/src/attachment.ts +245 -0
  67. package/src/evidence-record-schema.ts +158 -0
  68. package/src/evidence-record.ts +182 -0
  69. package/src/index.ts +114 -1
  70. package/src/task-evidence.ts +239 -0
  71. package/src/task.ts +24 -4
package/dist/task.d.ts CHANGED
@@ -20,8 +20,20 @@
20
20
  * @epic T4454
21
21
  * @task T4456
22
22
  */
23
+ import type { AcceptanceGate } from './acceptance-gate.js';
23
24
  import type { TaskStatus } from './status-registry.js';
24
25
  export type { TaskStatus };
26
+ /**
27
+ * A single acceptance criterion — either a free-text string (legacy) or a
28
+ * structured {@link AcceptanceGate} (machine-verifiable).
29
+ *
30
+ * Mixed arrays of these are stored as JSON in the `acceptance_json` column.
31
+ *
32
+ * @epic T760
33
+ * @task T780
34
+ * @task T800
35
+ */
36
+ export type AcceptanceItem = string | AcceptanceGate;
25
37
  /** Task priority levels. */
26
38
  export type TaskPriority = 'critical' | 'high' | 'medium' | 'low';
27
39
  /** Task type in hierarchy. */
@@ -123,8 +135,15 @@ export interface Task {
123
135
  phase?: string;
124
136
  /** File paths associated with this task. @defaultValue undefined */
125
137
  files?: string[];
126
- /** Acceptance criteria for completion. @defaultValue undefined */
127
- acceptance?: string[];
138
+ /**
139
+ * Mixed acceptance criteria — free-text strings (legacy) and/or structured
140
+ * {@link AcceptanceGate} objects (machine-verifiable).
141
+ *
142
+ * @epic T760
143
+ * @task T780
144
+ * @defaultValue undefined
145
+ */
146
+ acceptance?: AcceptanceItem[];
128
147
  /** IDs of tasks this task depends on. @defaultValue undefined */
129
148
  depends?: string[];
130
149
  /** Related task entries (non-dependency relationships). @defaultValue undefined */
@@ -218,8 +237,8 @@ export interface TaskCreate {
218
237
  labels?: string[];
219
238
  /** File paths associated with this task. @defaultValue undefined */
220
239
  files?: string[];
221
- /** Acceptance criteria. @defaultValue undefined */
222
- acceptance?: string[];
240
+ /** Acceptance criteria (string or AcceptanceGate objects). @defaultValue undefined */
241
+ acceptance?: AcceptanceItem[];
223
242
  /** IDs of tasks this task depends on. @defaultValue undefined */
224
243
  depends?: string[];
225
244
  /** Initial note to attach. @defaultValue undefined */
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/contracts",
3
- "version": "2026.4.69",
3
+ "version": "2026.4.72",
4
4
  "description": "Domain types, interfaces, and contracts for the CLEO ecosystem",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,6 +20,7 @@
20
20
  },
21
21
  "files": [
22
22
  "dist",
23
+ "schemas",
23
24
  "src"
24
25
  ],
25
26
  "devDependencies": {
@@ -30,8 +31,13 @@
30
31
  "url": "https://github.com/kryptobaseddev/cleo",
31
32
  "directory": "packages/contracts"
32
33
  },
34
+ "dependencies": {
35
+ "zod-to-json-schema": "^3.25.2"
36
+ },
33
37
  "scripts": {
34
- "build": "tsc -b --force",
38
+ "build": "tsc -b --force && node scripts/emit-schemas.mjs",
39
+ "build:ts": "tsc -b --force",
40
+ "build:schemas": "node scripts/emit-schemas.mjs",
35
41
  "typecheck": "tsc --noEmit",
36
42
  "test": "vitest run"
37
43
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "AcceptanceGate",
4
+ "description": "Machine-verifiable acceptance gate attached to a CLEO task",
5
+ "$ref": "#/definitions/AcceptanceGate",
6
+ "definitions": {
7
+ "AcceptanceGate": {}
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Attachment",
4
+ "description": "Content artifact (file, URL, blob, llms-txt, or llmtxt-doc) attachable to a CLEO owner",
5
+ "$ref": "#/definitions/Attachment",
6
+ "definitions": {
7
+ "Attachment": {}
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "GateResultDetails",
4
+ "description": "Kind-specific detail payload for a GateResult — discriminated by kind",
5
+ "$ref": "#/definitions/GateResultDetails",
6
+ "definitions": {
7
+ "GateResultDetails": {}
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "GateResult",
4
+ "description": "Result of running one acceptance gate — persisted to lifecycle_gate_results",
5
+ "$ref": "#/definitions/GateResult",
6
+ "definitions": {
7
+ "GateResult": {}
8
+ }
9
+ }
@@ -0,0 +1,176 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://cleocode.dev/schemas/backup-manifest-v1.json",
4
+ "title": "CLEO Backup Manifest v1",
5
+ "type": "object",
6
+ "required": ["$schema", "manifestVersion", "backup", "databases", "json", "integrity"],
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "$schema": {
10
+ "type": "string",
11
+ "const": "./schemas/manifest-v1.json"
12
+ },
13
+ "manifestVersion": {
14
+ "type": "string",
15
+ "pattern": "^1\\.\\d+\\.\\d+$",
16
+ "description": "Semantic version of the manifest format. Breaking changes increment major."
17
+ },
18
+ "backup": {
19
+ "type": "object",
20
+ "required": ["createdAt", "createdBy", "scope", "machineFingerprint", "cleoVersion", "encrypted"],
21
+ "additionalProperties": false,
22
+ "properties": {
23
+ "createdAt": {
24
+ "type": "string",
25
+ "format": "date-time",
26
+ "description": "ISO 8601 UTC timestamp when the bundle was created."
27
+ },
28
+ "createdBy": {
29
+ "type": "string",
30
+ "description": "Human-readable cleo version string, e.g. 'cleo v2026.4.13'."
31
+ },
32
+ "scope": {
33
+ "type": "string",
34
+ "enum": ["project", "global", "all"],
35
+ "description": "Export scope. Determines target restore paths."
36
+ },
37
+ "projectName": {
38
+ "type": "string",
39
+ "description": "Project name at export time. Advisory only."
40
+ },
41
+ "projectFingerprint": {
42
+ "type": ["string", "null"],
43
+ "pattern": "^[a-f0-9]{64}$",
44
+ "description": "SHA-256 of project-info.json at export time. Null for global-only scope. Advisory warning if mismatch on import."
45
+ },
46
+ "machineFingerprint": {
47
+ "type": "string",
48
+ "pattern": "^[a-f0-9]{64}$",
49
+ "description": "SHA-256 of $XDG_DATA_HOME/cleo/machine-key. Privacy-safe machine identity proxy."
50
+ },
51
+ "cleoVersion": {
52
+ "type": "string",
53
+ "description": "Machine-parseable CalVer string, e.g. '2026.4.13'."
54
+ },
55
+ "encrypted": {
56
+ "type": "boolean",
57
+ "description": "True if this bundle was produced with --encrypt."
58
+ }
59
+ }
60
+ },
61
+ "databases": {
62
+ "type": "array",
63
+ "minItems": 0,
64
+ "items": {
65
+ "type": "object",
66
+ "required": ["name", "filename", "size", "sha256", "schemaVersion"],
67
+ "additionalProperties": false,
68
+ "properties": {
69
+ "name": {
70
+ "type": "string",
71
+ "enum": ["tasks", "brain", "conduit", "nexus", "signaldock"],
72
+ "description": "Logical database name."
73
+ },
74
+ "filename": {
75
+ "type": "string",
76
+ "description": "Relative path inside the archive, e.g. 'databases/tasks.db'."
77
+ },
78
+ "size": {
79
+ "type": "integer",
80
+ "minimum": 0,
81
+ "description": "Byte size of the decompressed .db file."
82
+ },
83
+ "sha256": {
84
+ "type": "string",
85
+ "pattern": "^[a-f0-9]{64}$",
86
+ "description": "SHA-256 hex of the decompressed .db bytes."
87
+ },
88
+ "schemaVersion": {
89
+ "type": "string",
90
+ "description": "Latest applied migration identifier (Drizzle folderMillis or SIGNALDOCK_SCHEMA_VERSION)."
91
+ },
92
+ "rowCounts": {
93
+ "type": "object",
94
+ "description": "Per-table row counts for inspect display. Optional at import time.",
95
+ "additionalProperties": {
96
+ "type": "integer",
97
+ "minimum": 0
98
+ }
99
+ }
100
+ }
101
+ }
102
+ },
103
+ "json": {
104
+ "type": "array",
105
+ "minItems": 0,
106
+ "items": {
107
+ "type": "object",
108
+ "required": ["filename", "size", "sha256"],
109
+ "additionalProperties": false,
110
+ "properties": {
111
+ "filename": {
112
+ "type": "string",
113
+ "enum": [
114
+ "json/config.json",
115
+ "json/project-info.json",
116
+ "json/project-context.json"
117
+ ],
118
+ "description": "Relative path inside the archive."
119
+ },
120
+ "size": {
121
+ "type": "integer",
122
+ "minimum": 0
123
+ },
124
+ "sha256": {
125
+ "type": "string",
126
+ "pattern": "^[a-f0-9]{64}$"
127
+ }
128
+ }
129
+ }
130
+ },
131
+ "globalFiles": {
132
+ "type": "array",
133
+ "minItems": 0,
134
+ "items": {
135
+ "type": "object",
136
+ "required": ["filename", "size", "sha256"],
137
+ "additionalProperties": false,
138
+ "properties": {
139
+ "filename": {
140
+ "type": "string",
141
+ "enum": ["global/global-salt"],
142
+ "description": "Relative path inside the archive."
143
+ },
144
+ "size": {
145
+ "type": "integer",
146
+ "minimum": 0
147
+ },
148
+ "sha256": {
149
+ "type": "string",
150
+ "pattern": "^[a-f0-9]{64}$"
151
+ }
152
+ }
153
+ }
154
+ },
155
+ "integrity": {
156
+ "type": "object",
157
+ "required": ["algorithm", "checksumsFile", "manifestHash"],
158
+ "additionalProperties": false,
159
+ "properties": {
160
+ "algorithm": {
161
+ "type": "string",
162
+ "const": "sha256"
163
+ },
164
+ "checksumsFile": {
165
+ "type": "string",
166
+ "const": "checksums.sha256"
167
+ },
168
+ "manifestHash": {
169
+ "type": "string",
170
+ "pattern": "^[a-f0-9]{64}$",
171
+ "description": "SHA-256 of this manifest JSON with manifestHash set to empty string, then hex-encoded."
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "TaskEvidence",
4
+ "description": "Typed evidence artifact attached to a verification record — discriminated by kind",
5
+ "$ref": "#/definitions/TaskEvidence",
6
+ "definitions": {
7
+ "TaskEvidence": {}
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Task",
4
+ "description": "CLEO task summary — machine-verifiable fields for LLM tool-use",
5
+ "$ref": "#/definitions/Task",
6
+ "definitions": {
7
+ "Task": {}
8
+ }
9
+ }