@cleocode/core 2026.10.9 → 2026.10.10-canary.2
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/dist/build-provenance.json +2 -2
- package/dist/decide/sites/registry.d.ts +26 -0
- package/dist/decide/sites/registry.d.ts.map +1 -1
- package/dist/decide/sites/registry.js +25 -0
- package/dist/decide/sites/registry.js.map +1 -1
- package/dist/docs/doctor.d.ts +15 -5
- package/dist/docs/doctor.d.ts.map +1 -1
- package/dist/docs/doctor.js +182 -83
- package/dist/docs/doctor.js.map +1 -1
- package/dist/docs/triage.d.ts +211 -0
- package/dist/docs/triage.d.ts.map +1 -0
- package/dist/docs/triage.js +473 -0
- package/dist/docs/triage.js.map +1 -0
- package/dist/doctor/system-health.d.ts.map +1 -1
- package/dist/doctor/system-health.js +54 -8
- package/dist/doctor/system-health.js.map +1 -1
- package/dist/hooks/release-gate.d.ts +10 -0
- package/dist/hooks/release-gate.d.ts.map +1 -1
- package/dist/hooks/release-gate.js +9 -3
- package/dist/hooks/release-gate.js.map +1 -1
- package/dist/project-scope.d.ts +1 -0
- package/dist/project-scope.d.ts.map +1 -1
- package/dist/project-scope.js +69 -6
- package/dist/project-scope.js.map +1 -1
- package/dist/resources/run-admission.d.ts +96 -0
- package/dist/resources/run-admission.d.ts.map +1 -1
- package/dist/resources/run-admission.js +155 -0
- package/dist/resources/run-admission.js.map +1 -1
- package/dist/resources/run-governed.d.ts +5 -1
- package/dist/resources/run-governed.d.ts.map +1 -1
- package/dist/resources/run-governed.js +34 -1
- package/dist/resources/run-governed.js.map +1 -1
- package/dist/spawn/agent-identity.d.ts +2 -0
- package/dist/spawn/agent-identity.d.ts.map +1 -1
- package/dist/spawn/agent-identity.js +72 -4
- package/dist/spawn/agent-identity.js.map +1 -1
- package/dist/store/blob-keep.d.ts +15 -0
- package/dist/store/blob-keep.d.ts.map +1 -1
- package/dist/store/blob-keep.js +20 -0
- package/dist/store/blob-keep.js.map +1 -1
- package/dist/store/conduit-doc-history.d.ts +265 -0
- package/dist/store/conduit-doc-history.d.ts.map +1 -0
- package/dist/store/conduit-doc-history.js +468 -0
- package/dist/store/conduit-doc-history.js.map +1 -0
- package/dist/store/row-identity-registry.d.ts +6 -4
- package/dist/store/row-identity-registry.d.ts.map +1 -1
- package/dist/store/row-identity-registry.js +59 -10
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/schema/cleo-project/conduit.d.ts +554 -7
- package/dist/store/schema/cleo-project/conduit.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/conduit.js +223 -30
- package/dist/store/schema/cleo-project/conduit.js.map +1 -1
- package/dist/store/schema/conduit-schema.d.ts +211 -3
- package/dist/store/schema/conduit-schema.d.ts.map +1 -1
- package/dist/store/schema/conduit-schema.js +53 -14
- package/dist/store/schema/conduit-schema.js.map +1 -1
- package/dist/store/sync/apply/parent-delete.d.ts.map +1 -1
- package/dist/store/sync/apply/parent-delete.js +6 -0
- package/dist/store/sync/apply/parent-delete.js.map +1 -1
- package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
- package/dist/store/sync/timestamp-canon.js +7 -0
- package/dist/store/sync/timestamp-canon.js.map +1 -1
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +31 -13
- package/dist/store/table-classification.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +44 -5
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/test-run-binding.d.ts +4 -1
- package/dist/tasks/test-run-binding.d.ts.map +1 -1
- package/dist/tasks/test-run-binding.js +38 -2
- package/dist/tasks/test-run-binding.js.map +1 -1
- package/dist/worktree/worktree-adopt.d.ts.map +1 -1
- package/dist/worktree/worktree-adopt.js +45 -1
- package/dist/worktree/worktree-adopt.js.map +1 -1
- package/migrations/drizzle-cleo-project/20261011000000_t13354-conduit-history-rekey/migration.sql +274 -0
- package/package.json +13 -13
- package/schemas/project-info.schema.json +2 -2
- package/templates/git-hooks/commit-msg +2 -0
- package/templates/git-hooks/legacy-hashes.json +1 -0
- package/templates/git-hooks/pre-push +3 -0
|
@@ -16,7 +16,10 @@
|
|
|
16
16
|
* - the newest working-tree modification of any path the branch changed
|
|
17
17
|
* against origin's default branch (committed, uncommitted or untracked;
|
|
18
18
|
* the report itself excluded) — or, with no origin to diff against, any
|
|
19
|
-
* uncommitted tracked edit
|
|
19
|
+
* uncommitted tracked edit — except a path that a checkout or merge
|
|
20
|
+
* after the run rewrote with identical bytes (HEAD moved and the file
|
|
21
|
+
* equals its blob at both HEADs; T13567, T13569). A bare touch still
|
|
22
|
+
* stales: without a run-time fingerprint it looks like a revert;
|
|
20
23
|
* - for each uncommitted deletion (a rename's old path included, since a
|
|
21
24
|
* move keeps the file's own mtime), the modification time of the
|
|
22
25
|
* nearest existing directory it was removed from.
|
|
@@ -196,6 +199,39 @@ function newestModified(root, paths) {
|
|
|
196
199
|
}
|
|
197
200
|
return newest;
|
|
198
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* The most recently modified of `paths` modified after the run, leaving out a
|
|
204
|
+
* path that a checkout or merge after the run rewrote with the same bytes
|
|
205
|
+
* (T13567, narrowed by T13569).
|
|
206
|
+
*
|
|
207
|
+
* A path is left out only when all hold: HEAD moved after the run (HEAD as of
|
|
208
|
+
* the run, {@link headAtRun}, is not HEAD now), and the file's current blob
|
|
209
|
+
* (`git hash-object`) equals its blob both at HEAD now and at HEAD as of the
|
|
210
|
+
* run — the move rewrote it without changing it. Nothing else is exempt: a
|
|
211
|
+
* bare `touch`, or a file that was dirty during the run and reverted to HEAD
|
|
212
|
+
* afterwards, cannot be told apart without a run-time content fingerprint, and
|
|
213
|
+
* a false pass is worse than a needless re-run, so its newer mtime still
|
|
214
|
+
* stales the report. When the reflog does not reach the run, every mtime after
|
|
215
|
+
* it counts.
|
|
216
|
+
*/
|
|
217
|
+
function modifiedAfterRun(root, paths, clock) {
|
|
218
|
+
const after = paths
|
|
219
|
+
.map((path) => ({ path, at: mtimeOf(resolve(root, path)) }))
|
|
220
|
+
.filter((p) => p.at !== null && clock.after(p.at))
|
|
221
|
+
.sort((a, b) => b.at - a.at);
|
|
222
|
+
if (after.length === 0)
|
|
223
|
+
return null;
|
|
224
|
+
const blob = (args) => git(root, args)?.trim() || null;
|
|
225
|
+
const atRun = headAtRun(root, clock.after);
|
|
226
|
+
const head = blob(['rev-parse', 'HEAD']);
|
|
227
|
+
if (atRun === null || head === null || head === atRun)
|
|
228
|
+
return after[0] ?? null;
|
|
229
|
+
return (after.find((p) => {
|
|
230
|
+
const now = blob(['hash-object', '--', p.path]);
|
|
231
|
+
const at = (commit) => blob(['rev-parse', '--verify', '--quiet', `${commit}:./${p.path}`]);
|
|
232
|
+
return now === null || now !== at(head) || now !== at(atRun);
|
|
233
|
+
}) ?? null);
|
|
234
|
+
}
|
|
199
235
|
/**
|
|
200
236
|
* When each deletion against `base` (HEAD: the uncommitted ones) happened, as
|
|
201
237
|
* far as the filesystem says: the mtime of the nearest existing directory it
|
|
@@ -337,7 +373,7 @@ export function reportFreshness(startTime, reportPath, root, atom) {
|
|
|
337
373
|
}
|
|
338
374
|
}
|
|
339
375
|
const changes = scopedChangedPaths(root);
|
|
340
|
-
const newest =
|
|
376
|
+
const newest = modifiedAfterRun(root, (changes?.paths ?? dirtyTracked(root)).filter((p) => p !== clock.reportRel), clock);
|
|
341
377
|
if (newest !== null && clock.after(newest.at)) {
|
|
342
378
|
return stale(staleRefusal(ranAt, `${newest.path} was modified`, newest.at, rerun));
|
|
343
379
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-run-binding.js","sourceRoot":"","sources":["../../src/tasks/test-run-binding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-run-binding.js","sourceRoot":"","sources":["../../src/tasks/test-run-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-adopt.d.ts","sourceRoot":"","sources":["../../src/worktree/worktree-adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAU7B,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"worktree-adopt.d.ts","sourceRoot":"","sources":["../../src/worktree/worktree-adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAU7B,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAiF5C;AA6CD,2DAA2D;AAC3D,UAAU,aAAa;IACrB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2DAA2D;AAC3D,UAAU,aAAa;IACrB,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAkD7F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9D"}
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
* @adr ADR-055 — worktree canonical paths
|
|
36
36
|
* @adr ADR-062 — git merge --no-ff integration semantics
|
|
37
37
|
*/
|
|
38
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
38
|
+
import { copyFileSync, existsSync, mkdirSync, readFileSync } from 'node:fs';
|
|
39
39
|
import { join, resolve } from 'node:path';
|
|
40
40
|
import { engineError, engineSuccess } from '@cleocode/contracts/engine-result.js';
|
|
41
41
|
import { getLogger } from '../logger.js';
|
|
@@ -92,6 +92,13 @@ export async function adoptWorktree(opts) {
|
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
const branch = branchResult.branch;
|
|
95
|
+
// --- Seed and verify project-info.json (T13568 · T11035) ---
|
|
96
|
+
const seeded = seedProjectInfo(projectRoot, worktreePath);
|
|
97
|
+
if (typeof seeded !== 'string')
|
|
98
|
+
// @sync-invariant none:local-only adopting refuses a worktree whose local project-info names another project; nothing is written
|
|
99
|
+
return engineError('E_WORKTREE_IDENTITY_MISMATCH', seeded.mismatch, {
|
|
100
|
+
fix: 'Adopt the worktree from the project that owns it, or remove its stale .cleo/project-info.json.',
|
|
101
|
+
});
|
|
95
102
|
// --- Resolve task ID ---
|
|
96
103
|
const taskId = opts.taskId !== undefined ? opts.taskId : taskIdFromBranch(branch);
|
|
97
104
|
// --- Upsert sentinel index ---
|
|
@@ -123,8 +130,45 @@ export async function adoptWorktree(opts) {
|
|
|
123
130
|
source,
|
|
124
131
|
isNew,
|
|
125
132
|
adoptedAt,
|
|
133
|
+
projectInfo: seeded,
|
|
126
134
|
});
|
|
127
135
|
}
|
|
136
|
+
/** A `projectId` field of a project-info file, or `''` when absent or unreadable. */
|
|
137
|
+
function projectIdOf(infoPath) {
|
|
138
|
+
try {
|
|
139
|
+
const data = JSON.parse(readFileSync(infoPath, 'utf-8'));
|
|
140
|
+
return typeof data.projectId === 'string' ? data.projectId : '';
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
return '';
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Give an adopted worktree the adopting project's `.cleo/project-info.json`
|
|
148
|
+
* (T13568), as `createWorktree` does at provision time (T11033), and verify the
|
|
149
|
+
* projectId matches (T11035). An existing file is kept when its projectId
|
|
150
|
+
* matches and refused when it names another project.
|
|
151
|
+
*
|
|
152
|
+
* @returns The outcome, or the mismatch to refuse with.
|
|
153
|
+
*/
|
|
154
|
+
function seedProjectInfo(projectRoot, worktreePath) {
|
|
155
|
+
const parentInfo = join(projectRoot, '.cleo', 'project-info.json');
|
|
156
|
+
if (!existsSync(parentInfo))
|
|
157
|
+
return 'skipped';
|
|
158
|
+
const parentId = projectIdOf(parentInfo);
|
|
159
|
+
const worktreeInfo = join(worktreePath, '.cleo', 'project-info.json');
|
|
160
|
+
const outcome = existsSync(worktreeInfo) ? 'present' : 'seeded';
|
|
161
|
+
if (outcome === 'seeded') {
|
|
162
|
+
mkdirSync(join(worktreePath, '.cleo'), { recursive: true });
|
|
163
|
+
copyFileSync(parentInfo, worktreeInfo);
|
|
164
|
+
}
|
|
165
|
+
const worktreeId = projectIdOf(worktreeInfo);
|
|
166
|
+
if (worktreeId !== parentId)
|
|
167
|
+
return {
|
|
168
|
+
mismatch: `Worktree ${worktreePath} has projectId ${worktreeId || '(none)'} in .cleo/project-info.json, but the adopting project is ${parentId || '(none)'}`,
|
|
169
|
+
};
|
|
170
|
+
return outcome;
|
|
171
|
+
}
|
|
128
172
|
/**
|
|
129
173
|
* Read the branch name from a worktree directory.
|
|
130
174
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-adopt.js","sourceRoot":"","sources":["../../src/worktree/worktree-adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-adopt.js","sourceRoot":"","sources":["../../src/worktree/worktree-adopt.ts"],"names":[],"mappings":"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"}
|
package/migrations/drizzle-cleo-project/20261011000000_t13354-conduit-history-rekey/migration.sql
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
-- T13354 (saga T13339, epic T13340) — CleoDocs schema re-key: the conduit
|
|
2
|
+
-- history tables key on the immutable doc row uid, not the mutable slug.
|
|
3
|
+
--
|
|
4
|
+
-- Spec: `cleo docs fetch cleodocs-rearch-design` §3 + §10 (team-sync verdict,
|
|
5
|
+
-- T13365, incorporated); decision D11165.
|
|
6
|
+
--
|
|
7
|
+
-- What this file does:
|
|
8
|
+
--
|
|
9
|
+
-- 1. `conduit_attachments` gains the Stage C row identity columns (`uid`,
|
|
10
|
+
-- `birth_fp`) and a unique index on `uid` — ADD COLUMN only, no rebuild:
|
|
11
|
+
-- the doc row is the FK parent of the whole history family, so nothing
|
|
12
|
+
-- here touches its keys. Existing rows keep NULL until the open pass
|
|
13
|
+
-- fills them deterministically (store/row-identity.ts, the T12341
|
|
14
|
+
-- pattern); rows inserted by this build get theirs from the
|
|
15
|
+
-- per-connection TEMP trigger and `defaultRowUid`.
|
|
16
|
+
--
|
|
17
|
+
-- 2. `conduit_attachment_versions` is rebuilt (canonical recipe: create
|
|
18
|
+
-- `__new_…`, INSERT … SELECT, DROP, RENAME — the T11649 pattern):
|
|
19
|
+
-- - the `slug` FK (ON DELETE CASCADE) is gone; `slug` survives as a
|
|
20
|
+
-- nullable display/legacy column (no key, no FK) so the
|
|
21
|
+
-- signaldock→conduit column-intersection copy still carries it;
|
|
22
|
+
-- - `attachment_uid` REFERENCES `conduit_attachments(uid)` with NO
|
|
23
|
+
-- cascade — history survives the parent. `parent_version_uid` is a
|
|
24
|
+
-- SOFT self-reference (indexed, accessor-enforced): the rebuild idiom
|
|
25
|
+
-- cannot carry a self-FK — at the INSERT the old table still occupies
|
|
26
|
+
-- the name, so its `uid` is not yet a unique parent key ("foreign key
|
|
27
|
+
-- mismatch" when legacy rows exist);
|
|
28
|
+
-- - the UNIQUE(slug, version_number) constraint is dropped:
|
|
29
|
+
-- `version_number` is a locally minted display ordinal that collides
|
|
30
|
+
-- across devices, never a key (identity = uid + parent_version_uid
|
|
31
|
+
-- DAG);
|
|
32
|
+
-- - the table gains `uid` / `birth_fp` (NULL until the open fill).
|
|
33
|
+
-- The INSERT … SELECT carries every legacy row verbatim (new columns
|
|
34
|
+
-- NULL); it calls no non-deterministic function.
|
|
35
|
+
--
|
|
36
|
+
-- 3. `conduit_attachment_approvals` is rebuilt the same way: keyed by
|
|
37
|
+
-- `version_uid` (+ nullable `section_id`); the UNIQUE(slug, reviewer)
|
|
38
|
+
-- constraint is dropped because approvals are append-only now — a
|
|
39
|
+
-- revoke is a new row (tombstone), never an UPDATE/DELETE. `updated_at`
|
|
40
|
+
-- is carried for legacy rows; new rows leave it equal to `created_at`.
|
|
41
|
+
-- `version_uid` stays NULL on legacy rows (the old key was the display
|
|
42
|
+
-- ordinal, which cannot be resolved to a uid inside SQL).
|
|
43
|
+
--
|
|
44
|
+
-- 4. `conduit_attachment_contributors` is rebuilt keyed
|
|
45
|
+
-- (attachment_uid, agent_id) with the slug carried as a nullable legacy
|
|
46
|
+
-- column. The table is DERIVED (rebuilt from versions after apply) and
|
|
47
|
+
-- NOT synced (spec §10), so it gets no uid columns.
|
|
48
|
+
--
|
|
49
|
+
-- 5. New tables: `conduit_doc_slug_aliases` (old slug → doc uid lookup,
|
|
50
|
+
-- natural identity over (slug, doc_uid), uid is the primary key),
|
|
51
|
+
-- `conduit_doc_heads` (current-version projection per doc: references
|
|
52
|
+
-- `head_version_uid`, merge rule docs.head.max-hlc, conflicts recorded
|
|
53
|
+
-- on losing concurrent heads) and `section_crdt_states` (LOCAL-ONLY
|
|
54
|
+
-- Loro snapshot per doc section — deliberately no FK into a syncing
|
|
55
|
+
-- table, T12778; an apply that lands a version resets/rebases this
|
|
56
|
+
-- state instead of cascading).
|
|
57
|
+
--
|
|
58
|
+
-- Foreign keys are OFF for the rebuild window (the recipe requires it). No
|
|
59
|
+
-- statement deletes from or re-keys an FK parent (gate 36 rule 6), no DML
|
|
60
|
+
-- calls a non-deterministic function (gate 36 rule 5 — the `datetime('now')`
|
|
61
|
+
-- occurrences below are DDL column defaults, which are exempt), and no
|
|
62
|
+
-- trigger is created here (the owned-trigger clause rule does not apply).
|
|
63
|
+
--
|
|
64
|
+
-- @task T13354
|
|
65
|
+
-- @epic T13340
|
|
66
|
+
-- @saga T13339
|
|
67
|
+
|
|
68
|
+
PRAGMA foreign_keys = OFF;
|
|
69
|
+
--> statement-breakpoint
|
|
70
|
+
|
|
71
|
+
-- --------------------------------------------------------------------------
|
|
72
|
+
-- Step 1 — conduit_attachments: row identity columns (ADD COLUMN, no rebuild)
|
|
73
|
+
-- --------------------------------------------------------------------------
|
|
74
|
+
ALTER TABLE `conduit_attachments` ADD COLUMN `uid` text;
|
|
75
|
+
--> statement-breakpoint
|
|
76
|
+
ALTER TABLE `conduit_attachments` ADD COLUMN `birth_fp` text;
|
|
77
|
+
--> statement-breakpoint
|
|
78
|
+
CREATE UNIQUE INDEX IF NOT EXISTS `uq_conduit_attachments_uid` ON `conduit_attachments` (`uid`);
|
|
79
|
+
--> statement-breakpoint
|
|
80
|
+
|
|
81
|
+
-- --------------------------------------------------------------------------
|
|
82
|
+
-- Step 2 — rebuild conduit_attachment_versions (re-keyed to the doc uid)
|
|
83
|
+
-- --------------------------------------------------------------------------
|
|
84
|
+
DROP INDEX IF EXISTS `idx_conduit_attachment_versions_slug`;
|
|
85
|
+
--> statement-breakpoint
|
|
86
|
+
DROP INDEX IF EXISTS `idx_conduit_attachment_versions_author`;
|
|
87
|
+
--> statement-breakpoint
|
|
88
|
+
CREATE TABLE `__new_conduit_attachment_versions` (
|
|
89
|
+
`id` text PRIMARY KEY,
|
|
90
|
+
`uid` text,
|
|
91
|
+
`birth_fp` text,
|
|
92
|
+
`attachment_uid` text,
|
|
93
|
+
`parent_version_uid` text,
|
|
94
|
+
`slug` text,
|
|
95
|
+
`version_number` integer NOT NULL,
|
|
96
|
+
`author_agent_id` text NOT NULL,
|
|
97
|
+
`change_type` text DEFAULT 'patch' NOT NULL,
|
|
98
|
+
`patch_text` text,
|
|
99
|
+
`storage_key` text NOT NULL,
|
|
100
|
+
`content_hash` text NOT NULL,
|
|
101
|
+
`original_size` integer NOT NULL,
|
|
102
|
+
`compressed_size` integer NOT NULL,
|
|
103
|
+
`tokens` integer NOT NULL,
|
|
104
|
+
`change_summary` text,
|
|
105
|
+
`sections_modified` text DEFAULT '[]' NOT NULL,
|
|
106
|
+
`tokens_added` integer DEFAULT 0 NOT NULL,
|
|
107
|
+
`tokens_removed` integer DEFAULT 0 NOT NULL,
|
|
108
|
+
`created_at` text DEFAULT (datetime('now')) NOT NULL,
|
|
109
|
+
CONSTRAINT `fk_conduit_attachment_versions_attachment_uid` FOREIGN KEY (`attachment_uid`) REFERENCES `conduit_attachments`(`uid`) ON DELETE NO ACTION,
|
|
110
|
+
CHECK ("created_at" IS NULL OR "created_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
111
|
+
);
|
|
112
|
+
--> statement-breakpoint
|
|
113
|
+
INSERT INTO `__new_conduit_attachment_versions` (
|
|
114
|
+
`id`, `slug`, `version_number`, `author_agent_id`, `change_type`,
|
|
115
|
+
`patch_text`, `storage_key`, `content_hash`, `original_size`,
|
|
116
|
+
`compressed_size`, `tokens`, `change_summary`, `sections_modified`,
|
|
117
|
+
`tokens_added`, `tokens_removed`, `created_at`
|
|
118
|
+
)
|
|
119
|
+
SELECT
|
|
120
|
+
`id`, `slug`, `version_number`, `author_agent_id`, `change_type`,
|
|
121
|
+
`patch_text`, `storage_key`, `content_hash`, `original_size`,
|
|
122
|
+
`compressed_size`, `tokens`, `change_summary`, `sections_modified`,
|
|
123
|
+
`tokens_added`, `tokens_removed`, `created_at`
|
|
124
|
+
FROM `conduit_attachment_versions`;
|
|
125
|
+
--> statement-breakpoint
|
|
126
|
+
DROP TABLE `conduit_attachment_versions`;
|
|
127
|
+
--> statement-breakpoint
|
|
128
|
+
ALTER TABLE `__new_conduit_attachment_versions` RENAME TO `conduit_attachment_versions`;
|
|
129
|
+
--> statement-breakpoint
|
|
130
|
+
CREATE UNIQUE INDEX `uq_conduit_attachment_versions_uid` ON `conduit_attachment_versions` (`uid`);
|
|
131
|
+
--> statement-breakpoint
|
|
132
|
+
CREATE INDEX `idx_conduit_attachment_versions_attachment` ON `conduit_attachment_versions` (`attachment_uid`);
|
|
133
|
+
--> statement-breakpoint
|
|
134
|
+
CREATE INDEX `idx_conduit_attachment_versions_parent` ON `conduit_attachment_versions` (`parent_version_uid`);
|
|
135
|
+
--> statement-breakpoint
|
|
136
|
+
CREATE INDEX `idx_conduit_attachment_versions_author` ON `conduit_attachment_versions` (`author_agent_id`);
|
|
137
|
+
--> statement-breakpoint
|
|
138
|
+
-- Rebuilt tables must recreate EVERY index the consolidation migration
|
|
139
|
+
-- created: its apply-probe looks for them on journal-rebuilt stores, and a
|
|
140
|
+
-- missing one re-runs the consolidation. The slug index now covers a legacy
|
|
141
|
+
-- display column, but it must exist.
|
|
142
|
+
CREATE INDEX `idx_conduit_attachment_versions_slug` ON `conduit_attachment_versions` (`slug`);
|
|
143
|
+
--> statement-breakpoint
|
|
144
|
+
|
|
145
|
+
-- --------------------------------------------------------------------------
|
|
146
|
+
-- Step 3 — rebuild conduit_attachment_approvals (version-uid keyed,
|
|
147
|
+
-- append-only with tombstone revokes)
|
|
148
|
+
-- --------------------------------------------------------------------------
|
|
149
|
+
DROP INDEX IF EXISTS `idx_conduit_attachment_approvals_slug`;
|
|
150
|
+
--> statement-breakpoint
|
|
151
|
+
CREATE TABLE `__new_conduit_attachment_approvals` (
|
|
152
|
+
`id` text PRIMARY KEY,
|
|
153
|
+
`uid` text,
|
|
154
|
+
`birth_fp` text,
|
|
155
|
+
`attachment_uid` text,
|
|
156
|
+
`version_uid` text,
|
|
157
|
+
`section_id` text,
|
|
158
|
+
`slug` text,
|
|
159
|
+
`reviewer_agent_id` text NOT NULL,
|
|
160
|
+
`status` text DEFAULT 'pending' NOT NULL,
|
|
161
|
+
`comment` text,
|
|
162
|
+
`version_reviewed` integer NOT NULL,
|
|
163
|
+
`created_at` text DEFAULT (datetime('now')) NOT NULL,
|
|
164
|
+
`updated_at` text DEFAULT (datetime('now')) NOT NULL,
|
|
165
|
+
CONSTRAINT `fk_conduit_attachment_approvals_attachment_uid` FOREIGN KEY (`attachment_uid`) REFERENCES `conduit_attachments`(`uid`) ON DELETE NO ACTION,
|
|
166
|
+
CONSTRAINT `fk_conduit_attachment_approvals_version_uid` FOREIGN KEY (`version_uid`) REFERENCES `conduit_attachment_versions`(`uid`) ON DELETE NO ACTION,
|
|
167
|
+
CHECK ("created_at" IS NULL OR "created_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
168
|
+
CHECK ("updated_at" IS NULL OR "updated_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
169
|
+
);
|
|
170
|
+
--> statement-breakpoint
|
|
171
|
+
INSERT INTO `__new_conduit_attachment_approvals` (
|
|
172
|
+
`id`, `slug`, `reviewer_agent_id`, `status`, `comment`,
|
|
173
|
+
`version_reviewed`, `created_at`, `updated_at`
|
|
174
|
+
)
|
|
175
|
+
SELECT
|
|
176
|
+
`id`, `slug`, `reviewer_agent_id`, `status`, `comment`,
|
|
177
|
+
`version_reviewed`, `created_at`, `updated_at`
|
|
178
|
+
FROM `conduit_attachment_approvals`;
|
|
179
|
+
--> statement-breakpoint
|
|
180
|
+
DROP TABLE `conduit_attachment_approvals`;
|
|
181
|
+
--> statement-breakpoint
|
|
182
|
+
ALTER TABLE `__new_conduit_attachment_approvals` RENAME TO `conduit_attachment_approvals`;
|
|
183
|
+
--> statement-breakpoint
|
|
184
|
+
CREATE UNIQUE INDEX `uq_conduit_attachment_approvals_uid` ON `conduit_attachment_approvals` (`uid`);
|
|
185
|
+
--> statement-breakpoint
|
|
186
|
+
CREATE INDEX `idx_conduit_attachment_approvals_attachment` ON `conduit_attachment_approvals` (`attachment_uid`);
|
|
187
|
+
--> statement-breakpoint
|
|
188
|
+
CREATE INDEX `idx_conduit_attachment_approvals_version` ON `conduit_attachment_approvals` (`version_uid`);
|
|
189
|
+
--> statement-breakpoint
|
|
190
|
+
CREATE INDEX `idx_conduit_attachment_approvals_slug` ON `conduit_attachment_approvals` (`slug`);
|
|
191
|
+
--> statement-breakpoint
|
|
192
|
+
|
|
193
|
+
-- --------------------------------------------------------------------------
|
|
194
|
+
-- Step 4 — rebuild conduit_attachment_contributors (derived rollup keyed on
|
|
195
|
+
-- the doc uid; NOT synced — rebuilt from versions after apply)
|
|
196
|
+
-- --------------------------------------------------------------------------
|
|
197
|
+
CREATE TABLE `__new_conduit_attachment_contributors` (
|
|
198
|
+
`attachment_uid` text,
|
|
199
|
+
`slug` text,
|
|
200
|
+
`agent_id` text NOT NULL,
|
|
201
|
+
`version_count` integer DEFAULT 0 NOT NULL,
|
|
202
|
+
`total_tokens_added` integer DEFAULT 0 NOT NULL,
|
|
203
|
+
`total_tokens_removed` integer DEFAULT 0 NOT NULL,
|
|
204
|
+
`first_contribution_at` text NOT NULL,
|
|
205
|
+
`last_contribution_at` text NOT NULL,
|
|
206
|
+
CONSTRAINT `conduit_attachment_contributors_pk` PRIMARY KEY(`attachment_uid`, `agent_id`),
|
|
207
|
+
CONSTRAINT `fk_conduit_attachment_contributors_attachment_uid` FOREIGN KEY (`attachment_uid`) REFERENCES `conduit_attachments`(`uid`) ON DELETE NO ACTION,
|
|
208
|
+
CHECK ("first_contribution_at" IS NULL OR "first_contribution_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*'),
|
|
209
|
+
CHECK ("last_contribution_at" IS NULL OR "last_contribution_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
210
|
+
);
|
|
211
|
+
--> statement-breakpoint
|
|
212
|
+
INSERT INTO `__new_conduit_attachment_contributors` (
|
|
213
|
+
`slug`, `agent_id`, `version_count`, `total_tokens_added`,
|
|
214
|
+
`total_tokens_removed`, `first_contribution_at`, `last_contribution_at`
|
|
215
|
+
)
|
|
216
|
+
SELECT
|
|
217
|
+
`slug`, `agent_id`, `version_count`, `total_tokens_added`,
|
|
218
|
+
`total_tokens_removed`, `first_contribution_at`, `last_contribution_at`
|
|
219
|
+
FROM `conduit_attachment_contributors`;
|
|
220
|
+
--> statement-breakpoint
|
|
221
|
+
DROP TABLE `conduit_attachment_contributors`;
|
|
222
|
+
--> statement-breakpoint
|
|
223
|
+
ALTER TABLE `__new_conduit_attachment_contributors` RENAME TO `conduit_attachment_contributors`;
|
|
224
|
+
--> statement-breakpoint
|
|
225
|
+
|
|
226
|
+
-- --------------------------------------------------------------------------
|
|
227
|
+
-- Step 5 — new tables: slug aliases, head projection, local CRDT state
|
|
228
|
+
-- --------------------------------------------------------------------------
|
|
229
|
+
CREATE TABLE IF NOT EXISTS `conduit_doc_slug_aliases` (
|
|
230
|
+
`slug` text NOT NULL,
|
|
231
|
+
`doc_uid` text NOT NULL,
|
|
232
|
+
`reason` text DEFAULT 'rename' NOT NULL,
|
|
233
|
+
`created_at` text DEFAULT (datetime('now')) NOT NULL,
|
|
234
|
+
`uid` text,
|
|
235
|
+
CONSTRAINT `conduit_doc_slug_aliases_pk` PRIMARY KEY(`slug`, `doc_uid`),
|
|
236
|
+
CONSTRAINT `fk_conduit_doc_slug_aliases_doc_uid` FOREIGN KEY (`doc_uid`) REFERENCES `conduit_attachments`(`uid`) ON DELETE NO ACTION,
|
|
237
|
+
CHECK ("created_at" IS NULL OR "created_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
238
|
+
);
|
|
239
|
+
--> statement-breakpoint
|
|
240
|
+
CREATE INDEX IF NOT EXISTS `idx_conduit_doc_slug_aliases_slug` ON `conduit_doc_slug_aliases` (`slug`);
|
|
241
|
+
--> statement-breakpoint
|
|
242
|
+
CREATE TABLE IF NOT EXISTS `conduit_doc_heads` (
|
|
243
|
+
`attachment_uid` text PRIMARY KEY,
|
|
244
|
+
`head_version_uid` text NOT NULL,
|
|
245
|
+
`head_hlc` text NOT NULL,
|
|
246
|
+
`conflict_count` integer DEFAULT 0 NOT NULL,
|
|
247
|
+
`last_conflict_json` text,
|
|
248
|
+
`updated_at` text DEFAULT (datetime('now')) NOT NULL,
|
|
249
|
+
`uid` text,
|
|
250
|
+
CONSTRAINT `fk_conduit_doc_heads_attachment_uid` FOREIGN KEY (`attachment_uid`) REFERENCES `conduit_attachments`(`uid`) ON DELETE NO ACTION,
|
|
251
|
+
CONSTRAINT `fk_conduit_doc_heads_head_version_uid` FOREIGN KEY (`head_version_uid`) REFERENCES `conduit_attachment_versions`(`uid`) ON DELETE NO ACTION,
|
|
252
|
+
CHECK ("updated_at" IS NULL OR "updated_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
253
|
+
);
|
|
254
|
+
--> statement-breakpoint
|
|
255
|
+
CREATE TABLE IF NOT EXISTS `section_crdt_states` (
|
|
256
|
+
`attachment_uid` text NOT NULL,
|
|
257
|
+
`section_id` text NOT NULL,
|
|
258
|
+
`snapshot` blob NOT NULL,
|
|
259
|
+
`base_version_uid` text,
|
|
260
|
+
`updated_at` text DEFAULT (datetime('now')) NOT NULL,
|
|
261
|
+
CONSTRAINT `section_crdt_states_pk` PRIMARY KEY(`attachment_uid`, `section_id`),
|
|
262
|
+
CHECK ("updated_at" IS NULL OR "updated_at" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')
|
|
263
|
+
);
|
|
264
|
+
--> statement-breakpoint
|
|
265
|
+
|
|
266
|
+
-- Note: the uid unique indexes on the two new tables are deliberately NOT
|
|
267
|
+
-- created here. The open-time identity heal (store/row-identity.ts,
|
|
268
|
+
-- ensureRowIdentitySchema) owns them: in the Gate B replay a pre-identity
|
|
269
|
+
-- copy drops the uid columns, and a migration-time CREATE INDEX would run
|
|
270
|
+
-- before the heal re-adds them ("no such column"). The heal creates
|
|
271
|
+
-- `uq_<table>_uid` for every declared table at every open, on every store,
|
|
272
|
+
-- so fresh and existing stores alike get the index.
|
|
273
|
+
|
|
274
|
+
PRAGMA foreign_keys = ON;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/core",
|
|
3
|
-
"version": "2026.10.
|
|
3
|
+
"version": "2026.10.10-canary.2",
|
|
4
4
|
"description": "CLEO core business logic kernel — tasks, sessions, memory, orchestration, lifecycle, with bundled SQLite store",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -496,16 +496,16 @@
|
|
|
496
496
|
"write-file-atomic": "^7.0.1",
|
|
497
497
|
"yaml": "^2.8.3",
|
|
498
498
|
"zod": "^4.3.6",
|
|
499
|
-
"@cleocode/adapters": "2026.10.
|
|
500
|
-
"@cleocode/agents": "2026.10.
|
|
501
|
-
"@cleocode/caamp": "2026.10.
|
|
502
|
-
"@cleocode/contracts": "2026.10.
|
|
503
|
-
"@cleocode/git-shim": "2026.10.
|
|
504
|
-
"@cleocode/lafs": "2026.10.
|
|
505
|
-
"@cleocode/nexus": "2026.10.
|
|
506
|
-
"@cleocode/paths": "2026.10.
|
|
507
|
-
"@cleocode/skills": "2026.10.
|
|
508
|
-
"@cleocode/worktree": "2026.10.
|
|
499
|
+
"@cleocode/adapters": "2026.10.10-canary.2",
|
|
500
|
+
"@cleocode/agents": "2026.10.10-canary.2",
|
|
501
|
+
"@cleocode/caamp": "2026.10.10-canary.2",
|
|
502
|
+
"@cleocode/contracts": "2026.10.10-canary.2",
|
|
503
|
+
"@cleocode/git-shim": "2026.10.10-canary.2",
|
|
504
|
+
"@cleocode/lafs": "2026.10.10-canary.2",
|
|
505
|
+
"@cleocode/nexus": "2026.10.10-canary.2",
|
|
506
|
+
"@cleocode/paths": "2026.10.10-canary.2",
|
|
507
|
+
"@cleocode/skills": "2026.10.10-canary.2",
|
|
508
|
+
"@cleocode/worktree": "2026.10.10-canary.2"
|
|
509
509
|
},
|
|
510
510
|
"engines": {
|
|
511
511
|
"node": ">=24.16.0"
|
|
@@ -531,7 +531,7 @@
|
|
|
531
531
|
"@types/proper-lockfile": "^4.1.4",
|
|
532
532
|
"@types/tar": "^6.1.13",
|
|
533
533
|
"@types/write-file-atomic": "^4.0.3",
|
|
534
|
-
"@cleocode/utils": "2026.10.
|
|
534
|
+
"@cleocode/utils": "2026.10.10-canary.2"
|
|
535
535
|
},
|
|
536
536
|
"repository": {
|
|
537
537
|
"type": "git",
|
|
@@ -540,7 +540,7 @@
|
|
|
540
540
|
},
|
|
541
541
|
"optionalDependencies": {
|
|
542
542
|
"llmtxt": "^2026.5.15",
|
|
543
|
-
"@cleocode/studio": "^2026.10.
|
|
543
|
+
"@cleocode/studio": "^2026.10.10-canary.2"
|
|
544
544
|
},
|
|
545
545
|
"scripts": {
|
|
546
546
|
"build": "tsc && node scripts/copy-selfimprove-fixtures.mjs && node scripts/write-build-provenance.mjs",
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
},
|
|
80
80
|
"cleoVersion": {
|
|
81
81
|
"type": "string",
|
|
82
|
-
"pattern": "^\\d+\\.\\d+\\.\\d
|
|
83
|
-
"description": "CLEO version that last modified this file (semver)."
|
|
82
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+(-[0-9A-Za-z.-]+)?(\\+[0-9A-Za-z.-]+)?$",
|
|
83
|
+
"description": "CLEO version that last modified this file (semver, including a prerelease such as -canary.1)."
|
|
84
84
|
},
|
|
85
85
|
"createdAt": {
|
|
86
86
|
"type": "string",
|
|
@@ -54,6 +54,8 @@ case "$SUBJECT" in
|
|
|
54
54
|
'fixup! '*) exit 0 ;;
|
|
55
55
|
'squash! '*) exit 0 ;;
|
|
56
56
|
'amend! '*) exit 0 ;;
|
|
57
|
+
# T13577: the empty commit `cleo init` makes so HEAD resolves (exact subject).
|
|
58
|
+
'initial: cleo init') exit 0 ;;
|
|
57
59
|
esac
|
|
58
60
|
|
|
59
61
|
# Match `T` followed by 1+ digits anywhere in the subject.
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
],
|
|
15
15
|
"pre-push": [
|
|
16
16
|
"8a48d9672f27ae1ea9ebc40d7181ab737a1889e32b451594ba30ac7c2558c07c",
|
|
17
|
+
"d4cfb6d3b19f3bed129f682fd7f5571b60c0f67433e5219e94c02dbb72007030",
|
|
17
18
|
"eb78947e1aba2bd4e4d5aa010093aa5a927fde0acda7f7d704d41cd4851a3cfb",
|
|
18
19
|
"f6e39d6fb79fed8c6e0bca0edb43fb9421e6a0cae52b0fe1163a8839caf50389"
|
|
19
20
|
]
|
|
@@ -43,6 +43,9 @@ check_subject() {
|
|
|
43
43
|
'fixup! '*) return 0 ;;
|
|
44
44
|
'squash! '*) return 0 ;;
|
|
45
45
|
'amend! '*) return 0 ;;
|
|
46
|
+
# T13577: the empty commit `cleo init` makes so HEAD resolves. Exact
|
|
47
|
+
# subject only, never a prefix, so it opens no general bypass.
|
|
48
|
+
'initial: cleo init') return 0 ;;
|
|
46
49
|
esac
|
|
47
50
|
if printf '%s' "$subject" | grep -Eq 'T[0-9]+'; then
|
|
48
51
|
return 0
|