@dzhechkov/harness-core 0.8.30 → 0.8.31
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/.dz-manifest.json +233 -93
- package/README.md +269 -0
- package/dist/agentdb-index.d.ts +45 -0
- package/dist/agentdb-index.d.ts.map +1 -1
- package/dist/agentdb-index.js +345 -85
- package/dist/agentdb-index.js.map +1 -1
- package/dist/agentdb-reindex-marker.d.ts +170 -0
- package/dist/agentdb-reindex-marker.d.ts.map +1 -0
- package/dist/agentdb-reindex-marker.js +293 -0
- package/dist/agentdb-reindex-marker.js.map +1 -0
- package/dist/agentdb-snapshot-rotation.d.ts +169 -0
- package/dist/agentdb-snapshot-rotation.d.ts.map +1 -0
- package/dist/agentdb-snapshot-rotation.js +322 -0
- package/dist/agentdb-snapshot-rotation.js.map +1 -0
- package/dist/agentdb-snapshot.d.ts +126 -0
- package/dist/agentdb-snapshot.d.ts.map +1 -0
- package/dist/agentdb-snapshot.js +195 -0
- package/dist/agentdb-snapshot.js.map +1 -0
- package/dist/apply-leg.d.ts +202 -0
- package/dist/apply-leg.d.ts.map +1 -0
- package/dist/apply-leg.js +975 -0
- package/dist/apply-leg.js.map +1 -0
- package/dist/book-kb.d.ts.map +1 -1
- package/dist/book-kb.js +57 -1
- package/dist/book-kb.js.map +1 -1
- package/dist/brain.d.ts +3 -0
- package/dist/brain.d.ts.map +1 -1
- package/dist/brain.js +1 -1
- package/dist/brain.js.map +1 -1
- package/dist/cadence.d.ts +30 -1
- package/dist/cadence.d.ts.map +1 -1
- package/dist/cadence.js +66 -2
- package/dist/cadence.js.map +1 -1
- package/dist/guard.d.ts +14 -0
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +36 -0
- package/dist/guard.js.map +1 -1
- package/dist/index.d.ts +23 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -5
- package/dist/index.js.map +1 -1
- package/dist/integration-probe-worker.d.ts.map +1 -1
- package/dist/integration-probe-worker.js +4 -6
- package/dist/integration-probe-worker.js.map +1 -1
- package/dist/integrations-verify.d.ts.map +1 -1
- package/dist/integrations-verify.js +3 -1
- package/dist/integrations-verify.js.map +1 -1
- package/dist/managed-hooks.d.ts +11 -2
- package/dist/managed-hooks.d.ts.map +1 -1
- package/dist/managed-hooks.js +33 -7
- package/dist/managed-hooks.js.map +1 -1
- package/dist/mutation-gate.d.ts +35 -1
- package/dist/mutation-gate.d.ts.map +1 -1
- package/dist/mutation-gate.js +49 -9
- package/dist/mutation-gate.js.map +1 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +94 -0
- package/dist/operations.js.map +1 -1
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +23 -4
- package/dist/patterns.js.map +1 -1
- package/dist/repository-origin.d.ts +1 -1
- package/dist/repository-origin.d.ts.map +1 -1
- package/dist/repository-origin.js +7 -1
- package/dist/repository-origin.js.map +1 -1
- package/dist/round-exec.d.ts +41 -0
- package/dist/round-exec.d.ts.map +1 -0
- package/dist/round-exec.js +45 -0
- package/dist/round-exec.js.map +1 -0
- package/dist/round.d.ts +109 -0
- package/dist/round.d.ts.map +1 -0
- package/dist/round.js +148 -0
- package/dist/round.js.map +1 -0
- package/dist/run-records.d.ts +8 -0
- package/dist/run-records.d.ts.map +1 -1
- package/dist/run-records.js +69 -3
- package/dist/run-records.js.map +1 -1
- package/dist/setup.d.ts +8 -0
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +166 -3
- package/dist/setup.js.map +1 -1
- package/dist/sqlite-read-helpers.d.ts +60 -0
- package/dist/sqlite-read-helpers.d.ts.map +1 -0
- package/dist/sqlite-read-helpers.js +118 -0
- package/dist/sqlite-read-helpers.js.map +1 -0
- package/dist/statusline.d.ts +20 -3
- package/dist/statusline.d.ts.map +1 -1
- package/dist/statusline.js +40 -7
- package/dist/statusline.js.map +1 -1
- package/dist/store-counts.d.ts +30 -0
- package/dist/store-counts.d.ts.map +1 -1
- package/dist/store-counts.js +189 -0
- package/dist/store-counts.js.map +1 -1
- package/dist/usage.d.ts +55 -0
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +184 -33
- package/dist/usage.js.map +1 -1
- package/dist/vector-tier.d.ts +18 -1
- package/dist/vector-tier.d.ts.map +1 -1
- package/dist/vector-tier.js +26 -2
- package/dist/vector-tier.js.map +1 -1
- package/package.json +6 -6
- package/sbom.json +442 -92
- package/src/agentdb-index.ts +315 -32
- package/src/agentdb-reindex-marker.ts +330 -0
- package/src/agentdb-snapshot-rotation.ts +393 -0
- package/src/agentdb-snapshot.ts +222 -0
- package/src/apply-leg.ts +1046 -0
- package/src/book-kb.ts +64 -1
- package/src/brain.ts +11 -2
- package/src/cadence.ts +87 -2
- package/src/guard.ts +46 -0
- package/src/index.ts +58 -5
- package/src/integration-probe-worker.ts +4 -6
- package/src/integrations-verify.ts +3 -1
- package/src/managed-hooks.ts +32 -7
- package/src/mutation-gate.ts +87 -8
- package/src/operations.ts +89 -0
- package/src/patterns.ts +23 -4
- package/src/repository-origin.ts +7 -1
- package/src/round-exec.ts +85 -0
- package/src/round.ts +228 -0
- package/src/run-records.ts +77 -2
- package/src/setup.ts +198 -3
- package/src/sqlite-read-helpers.ts +128 -0
- package/src/statusline.ts +57 -9
- package/src/store-counts.ts +245 -1
- package/src/usage.ts +243 -29
- package/src/vector-tier.ts +45 -4
package/dist/agentdb-index.js
CHANGED
|
@@ -11,10 +11,16 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @packageDocumentation
|
|
13
13
|
*/
|
|
14
|
-
import { existsSync, mkdirSync } from 'node:fs';
|
|
15
|
-
import { join, dirname } from 'node:path';
|
|
14
|
+
import { existsSync, mkdirSync, copyFileSync, realpathSync } from 'node:fs';
|
|
15
|
+
import { join, dirname, resolve, relative, isAbsolute, basename } from 'node:path';
|
|
16
16
|
import { pathToFileURL } from 'node:url';
|
|
17
17
|
import { createRequire } from 'node:module';
|
|
18
|
+
import { openSqliteReadOnly } from '@dzhechkov/memory';
|
|
19
|
+
import { applyReadonlyPragmas } from './sqlite-read-helpers.js';
|
|
20
|
+
import { rotatePreReindexSnapshotsUnlocked } from './agentdb-snapshot-rotation.js';
|
|
21
|
+
import { snapshotSqliteDatabase, restoreSqliteSnapshot } from './agentdb-snapshot.js';
|
|
22
|
+
import { withAgentdbSnapshotLock, writeReindexMarker, clearReindexMarker, markReindexMarkerRecoveryRequired, reindexMarkerPath, msFromBackupPath } from './agentdb-reindex-marker.js';
|
|
23
|
+
import { NamedLockTimeoutError } from './named-lock.js';
|
|
18
24
|
// The backlog dedup embed form (PURE, zero-dep — no cycle): dz-backlog rows must be embedded in the
|
|
19
25
|
// SAME bounded form the dedup query uses, including through the reindex path.
|
|
20
26
|
import { BACKLOG_TASK_TYPE, dedupEmbedText } from './backlog-embed.js';
|
|
@@ -46,6 +52,49 @@ CREATE TABLE IF NOT EXISTS pattern_embeddings (
|
|
|
46
52
|
embedding BLOB NOT NULL,
|
|
47
53
|
FOREIGN KEY (pattern_id) REFERENCES reasoning_patterns(id) ON DELETE CASCADE
|
|
48
54
|
);`;
|
|
55
|
+
/**
|
|
56
|
+
* Create (or verify) an EMPTY AgentDB-schema store at `resolveAgentdbPath(projectRoot, dbPath)`,
|
|
57
|
+
* without indexing any rows (AM-4, feature `setup-installs-apply-leg`, dz-harness-hub issue #10
|
|
58
|
+
* defect 4).
|
|
59
|
+
*
|
|
60
|
+
* WHY THIS EXISTS: before this, `.dz/agentdb.db` came into being only as a side effect of the
|
|
61
|
+
* SessionEnd/PreCompact writer's first `dz consolidate` — so a project that had run
|
|
62
|
+
* `dz setup --memory agentdb` but not yet completed one full session had `memory.backend=agentdb`
|
|
63
|
+
* configured with NO database file at all, and any lesson taught in that window before the first
|
|
64
|
+
* consolidate had nothing to mirror into (the apply leg's daemon reads THIS file — see
|
|
65
|
+
* `dz-embed-daemon.mjs`). `dz setup`'s "Install apply-leg" step now calls this directly so the
|
|
66
|
+
* store exists from the moment setup finishes, not from the moment a session happens to end.
|
|
67
|
+
*
|
|
68
|
+
* SYNCHRONOUS deliberately: `runSetup` is a synchronous function (a `child_process.execSync`
|
|
69
|
+
* install already precedes every write it does), and creating an empty schema needs only
|
|
70
|
+
* `better-sqlite3` — never the async `EmbeddingService` {@link indexPatternsToAgentdb} loads for a
|
|
71
|
+
* real write. Reuses {@link REASONING_BANK_SCHEMA} verbatim — the ONE schema string every writer in
|
|
72
|
+
* this module execs — so this path can never drift into declaring a second, competing schema.
|
|
73
|
+
*
|
|
74
|
+
* Best-effort, like every setup step: a project without `better-sqlite3` installed yet (or one
|
|
75
|
+
* whose native binary is unusable) gets `{ok:false, error}` and setup reports it in the step detail
|
|
76
|
+
* rather than throwing — the writer/daemon still self-heal on the next session either way.
|
|
77
|
+
*/
|
|
78
|
+
export function ensureAgentdbSchema(projectRoot, dbPath) {
|
|
79
|
+
try {
|
|
80
|
+
const req = createRequire(join(projectRoot, 'package.json'));
|
|
81
|
+
const Database = req('better-sqlite3');
|
|
82
|
+
const dbFile = resolveAgentdbPath(projectRoot, dbPath);
|
|
83
|
+
mkdirSync(dirname(dbFile), { recursive: true });
|
|
84
|
+
const db = new Database(dbFile);
|
|
85
|
+
try {
|
|
86
|
+
db.pragma('journal_mode = WAL');
|
|
87
|
+
db.exec(REASONING_BANK_SCHEMA);
|
|
88
|
+
}
|
|
89
|
+
finally {
|
|
90
|
+
db.close();
|
|
91
|
+
}
|
|
92
|
+
return { ok: true };
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
return { ok: false, error: `agentdb schema init failed: ${err instanceof Error ? err.message : String(err)}` };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
49
98
|
/**
|
|
50
99
|
* Index `rows` into the shared AgentDB vector store. Returns `{indexed:0}` for an empty input and
|
|
51
100
|
* `{indexed:0, error}` when `agentdb`/`better-sqlite3` cannot be resolved from the project.
|
|
@@ -206,9 +255,36 @@ function openReadonly(projectRoot, dbPath) {
|
|
|
206
255
|
return { error: DEPS_MISSING };
|
|
207
256
|
}
|
|
208
257
|
try {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
258
|
+
// ADR-001: `{ readonly: true }` alone still fails `unable to open database file` on a
|
|
259
|
+
// directory that cannot create `-wal`/`-shm` — the ladder in `openSqliteReadOnly` falls
|
|
260
|
+
// back to a tmp copy instead, so this "best-effort, never throws" contract keeps working
|
|
261
|
+
// from a read-only-mounted sandbox too. `close()` on the returned handle removes the copy.
|
|
262
|
+
const handle = openSqliteReadOnly(dbFile, { Database });
|
|
263
|
+
const db = handle.db;
|
|
264
|
+
// FR-1 (readonly-residuals): a throwing pragma must not leak the connection or a tmp-copy —
|
|
265
|
+
// applyReadonlyPragmas closes + cleans up before rethrowing.
|
|
266
|
+
applyReadonlyPragmas(handle, dbFile);
|
|
267
|
+
return {
|
|
268
|
+
// `ReadonlyDb` (above) intentionally exposes only `pragma`/`prepare`/`close` — the real
|
|
269
|
+
// better-sqlite3 instance underneath also has `transaction`/`exec`/etc, but no caller in
|
|
270
|
+
// this file uses them (confirmed, fix round 1, Q4/#8), so they stay hidden by the type on
|
|
271
|
+
// purpose. Widening `ReadonlyDb` to add a method should be a deliberate decision, not an
|
|
272
|
+
// incidental leak through `db as ReadonlyDb` above.
|
|
273
|
+
db: {
|
|
274
|
+
pragma: db.pragma.bind(db),
|
|
275
|
+
prepare: db.prepare.bind(db),
|
|
276
|
+
close: () => {
|
|
277
|
+
// `cleanup()` in `finally` — the tmp-copy must be removed even if `db.close()` throws
|
|
278
|
+
// (fix round 1, MEDIUM #3; matches `SqliteReadOnlyStore.close()` in `sqlite-readonly.ts`).
|
|
279
|
+
try {
|
|
280
|
+
db.close();
|
|
281
|
+
}
|
|
282
|
+
finally {
|
|
283
|
+
handle.cleanup();
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
};
|
|
212
288
|
}
|
|
213
289
|
catch (err) {
|
|
214
290
|
return { error: `open failed: ${err instanceof Error ? err.message : String(err)}` };
|
|
@@ -648,102 +724,286 @@ export function bumpAgentdbUses(projectRoot, dzIds, opts = {}) {
|
|
|
648
724
|
}
|
|
649
725
|
export async function reindexAgentdbRows(projectRoot, rows, opts = {}) {
|
|
650
726
|
const dbFile = resolveAgentdbPath(projectRoot, opts.dbPath);
|
|
651
|
-
const
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
727
|
+
const ms = Date.now();
|
|
728
|
+
const backupPath = opts.backupPath ?? `${dbFile}.pre-reindex-${ms}.bak`;
|
|
729
|
+
// agentdb-snapshot-lock: test/tuning-only override for every lock acquisition this call makes
|
|
730
|
+
// (snapshot, rollback, success-path rotation) — omitted, each uses its ordinary default timeout.
|
|
731
|
+
const lockOpts = opts.lockTimeoutMs !== undefined ? { timeoutMs: opts.lockTimeoutMs } : {};
|
|
732
|
+
// AM-5: opts.backupPath must resolve INSIDE dirname(dbFile) — normalized via `resolve`, checked via
|
|
733
|
+
// `relative` so neither a `..`-escaping relative path nor a foreign absolute path can steer the
|
|
734
|
+
// snapshot (and its `-wal`/`-shm`/manifest siblings) outside the db's own directory. No snapshot is
|
|
735
|
+
// attempted when this check fails — the reindex aborts before sqlite is even resolved.
|
|
736
|
+
if (opts.backupPath !== undefined) {
|
|
737
|
+
// Lead edit after re-review (Codex C): the boundary is PHYSICAL, not lexical — a symlinked
|
|
738
|
+
// parent (`<dbDir>/link/x.bak` with `link` pointing outside) is resolved with realpath before the
|
|
739
|
+
// comparison. A parent that does not exist yet cannot be a symlink, so the lexical path stands.
|
|
740
|
+
const physical = (p) => { try {
|
|
741
|
+
return realpathSync(p);
|
|
659
742
|
}
|
|
660
|
-
catch
|
|
661
|
-
return
|
|
743
|
+
catch {
|
|
744
|
+
return p;
|
|
745
|
+
} };
|
|
746
|
+
const dbDir = physical(resolve(dirname(dbFile)));
|
|
747
|
+
const candidate = resolve(opts.backupPath);
|
|
748
|
+
const rel = relative(dbDir, join(physical(dirname(candidate)), basename(candidate)));
|
|
749
|
+
if (rel.startsWith('..') || isAbsolute(rel)) {
|
|
750
|
+
return { reembedded: 0, error: `opts.backupPath must stay inside ${dbDir}, got: ${opts.backupPath}` };
|
|
662
751
|
}
|
|
663
752
|
}
|
|
753
|
+
// FR-3: sqlite resolves BEFORE any snapshot is taken — an unavailable dependency must abort with
|
|
754
|
+
// no new `pre-reindex-*` file on disk, not a snapshot immediately followed by a DEPS_MISSING error.
|
|
664
755
|
let sqliteUrl;
|
|
665
756
|
try {
|
|
666
757
|
const req = createRequire(join(projectRoot, 'package.json'));
|
|
667
758
|
sqliteUrl = pathToFileURL(req.resolve('better-sqlite3')).href;
|
|
668
759
|
}
|
|
669
760
|
catch {
|
|
670
|
-
return { reembedded: 0,
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
761
|
+
return { reembedded: 0, error: DEPS_MISSING };
|
|
762
|
+
}
|
|
763
|
+
let Database;
|
|
764
|
+
try {
|
|
765
|
+
({ default: Database } = (await import(sqliteUrl)));
|
|
766
|
+
}
|
|
767
|
+
catch {
|
|
768
|
+
return { reembedded: 0, error: DEPS_MISSING };
|
|
769
|
+
}
|
|
770
|
+
let snapshotMethod;
|
|
771
|
+
let snapshotNote;
|
|
772
|
+
// exactOptionalPropertyTypes: an optional field must be OMITTED, never assigned `undefined` —
|
|
773
|
+
// spread `snapMeta()` in at every return site instead of naming the two fields directly. A
|
|
774
|
+
// function (not a value computed once) so a return that runs BEFORE the snapshot fully finishes
|
|
775
|
+
// (the manifest-copy failure below) still reports whatever method was already determined —
|
|
776
|
+
// FR-2/"absence of a receipt is not success": snapshotMethod is named whenever a snapshot ran,
|
|
777
|
+
// even one that failed on a LATER best-effort step.
|
|
778
|
+
const snapMeta = () => ({
|
|
779
|
+
...(snapshotMethod !== undefined ? { snapshotMethod } : {}),
|
|
780
|
+
...(snapshotNote !== undefined ? { snapshotNote } : {}),
|
|
781
|
+
});
|
|
782
|
+
// AM-2 (fix-round after Codex review Grade D): the reindex-in-progress marker is written INSIDE
|
|
783
|
+
// the SAME critical section as the snapshot itself, under ONE lock acquisition — never before it.
|
|
784
|
+
// A lock timeout now throws before EITHER the snapshot OR the marker exist, so a busy lock leaves
|
|
785
|
+
// the directory byte-identical (previously the marker was written unconditionally BEFORE the
|
|
786
|
+
// lock was even attempted, so a busy lock still left a transient marker on disk for the life of
|
|
787
|
+
// this call). AM-1: the marker write is attempted FIRST inside the callback, before any snapshot
|
|
788
|
+
// — a live marker from a still-running reindex refuses this call "без снимка" (no snapshot ever
|
|
789
|
+
// taken for the refused attempt; nothing has been deleted yet, so there is nothing to roll back).
|
|
790
|
+
// AM-4: the marker's `ms` is recomputed from the ACTUAL `backupPath` filename — decoupled from the
|
|
791
|
+
// `ms` variable above, which only seeds the DEFAULT backupPath. A non-standard `opts.backupPath`
|
|
792
|
+
// (no `.pre-reindex-<n>.bak` suffix) names no family, so the marker carries `ms: null`.
|
|
793
|
+
const markerMs = msFromBackupPath(backupPath);
|
|
794
|
+
let markerToken;
|
|
795
|
+
try {
|
|
796
|
+
const markerResult = withAgentdbSnapshotLock(dbFile, () => {
|
|
797
|
+
const written = writeReindexMarker(dbFile, { ms: markerMs, pid: process.pid, startedAt: Date.now(), backupPath });
|
|
798
|
+
if (!written.ok)
|
|
799
|
+
return written; // AM-1: refuse before touching the database at all
|
|
800
|
+
// FR-1/FR-2 (agentdb-snapshot-lock): the critical section under the lock is exactly the file
|
|
801
|
+
// operations below (`VACUUM INTO`/copy + the manifest-sibling copy, plus the marker write
|
|
802
|
+
// above) — short and synchronous. Re-embedding (the long, unlocked part of a reindex) happens
|
|
803
|
+
// well after this block returns.
|
|
804
|
+
// Lead edit after re-review (Codex D, finding 2): a snapshot that THROWS inside this section
|
|
805
|
+
// must not leave the just-written marker behind until the TTL — clear it (we own the token)
|
|
806
|
+
// and rethrow so the outer catch reports the snapshot failure as before.
|
|
807
|
+
try {
|
|
808
|
+
if (existsSync(dbFile)) {
|
|
809
|
+
const outcome = snapshotSqliteDatabase(Database, dbFile, backupPath, opts.snapshotStrategy !== undefined ? { strategy: opts.snapshotStrategy } : {});
|
|
810
|
+
snapshotMethod = outcome.method;
|
|
811
|
+
snapshotNote = outcome.note;
|
|
812
|
+
if (existsSync(`${dbFile}.embed-manifest.json`)) {
|
|
813
|
+
copyFileSync(`${dbFile}.embed-manifest.json`, `${backupPath}.embed-manifest.json`);
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
catch (snapErr) {
|
|
818
|
+
clearReindexMarker(dbFile, written.token);
|
|
819
|
+
throw snapErr;
|
|
820
|
+
}
|
|
821
|
+
return written;
|
|
822
|
+
}, lockOpts);
|
|
823
|
+
if (!markerResult.ok) {
|
|
824
|
+
return { reembedded: 0, backupPath, ...snapMeta(), error: markerResult.error };
|
|
691
825
|
}
|
|
692
|
-
|
|
693
|
-
|
|
826
|
+
markerToken = markerResult.token;
|
|
827
|
+
}
|
|
828
|
+
catch (err) {
|
|
829
|
+
// FR-4: a busy snapshot lock is reported distinctly ("snapshot lock busy: …") and aborts with
|
|
830
|
+
// NO snapshot, NO marker and NO change to the database — `fn` above never ran, so nothing was
|
|
831
|
+
// written (AM-2).
|
|
832
|
+
if (err instanceof NamedLockTimeoutError) {
|
|
833
|
+
return { reembedded: 0, error: `snapshot lock busy: ${err.message}` };
|
|
694
834
|
}
|
|
695
|
-
|
|
696
|
-
|
|
835
|
+
return { reembedded: 0, backupPath, ...snapMeta(), error: `snapshot failed — reindex aborted: ${err instanceof Error ? err.message : String(err)}` };
|
|
836
|
+
}
|
|
837
|
+
// AM-3: the marker is cleared in `finally` below only when no rollback was needed, or the
|
|
838
|
+
// rollback SUCCEEDED. A FAILED rollback leaves the marker in place as "requires manual recovery"
|
|
839
|
+
// — its family may be the only intact copy of the pre-reindex state, and clearing the marker here
|
|
840
|
+
// would let a concurrent `dz brain snapshots --prune` remove it right out from under an operator
|
|
841
|
+
// who has not yet acted on the advice named in the returned error.
|
|
842
|
+
let rollbackFailed = false;
|
|
697
843
|
try {
|
|
698
|
-
const
|
|
699
|
-
|
|
700
|
-
|
|
844
|
+
const model = resolveEmbedModel(projectRoot);
|
|
845
|
+
if ('error' in model)
|
|
846
|
+
return { reembedded: 0, backupPath, ...snapMeta(), error: model.error };
|
|
847
|
+
const oldVersion = readEmbedManifest(dbFile)?.version ?? 1;
|
|
848
|
+
const version = Math.max(oldVersion + 1, 2);
|
|
849
|
+
const markerPath = reindexMarkerPath(dbFile);
|
|
850
|
+
/** AM-3: names both paths a failed rollback leaves an operator to reconcile by hand. */
|
|
851
|
+
const rollbackFailNote = () => `snapshot at ${backupPath} was not confirmed restored; marker at ${markerPath} is left in place — requires manual recovery`;
|
|
852
|
+
/**
|
|
853
|
+
* Undo a half-done reindex. The DELETE has already run and the manifest may already name the new
|
|
854
|
+
* model, so leaving the store as-is would be WORSE than before we started: a manifest that claims a
|
|
855
|
+
* space the rows are not in. Restore both from the snapshot taken above. FR-4: the caller of
|
|
856
|
+
* `rollback()` has ALREADY closed every write connection this function opened (both the DELETE's
|
|
857
|
+
* `db.close()` in the `finally` below and `indexPatternsToAgentdb`'s own `finally { db.close() }`)
|
|
858
|
+
* before this runs.
|
|
859
|
+
*
|
|
860
|
+
* AM-3: never throws, but never silently reports a failed restore as a success either — "absence of
|
|
861
|
+
* a receipt is not success" applies to a rollback exactly as much as to a forward operation. Returns
|
|
862
|
+
* `{ restored: 'restored' }` or `{ restored: 'failed', error }`; the caller folds `error` into the
|
|
863
|
+
* top-level `error` string as "; rollback failed: …" and surfaces `rollback`/`rollbackError`.
|
|
864
|
+
*/
|
|
865
|
+
const rollback = async () => {
|
|
866
|
+
try {
|
|
867
|
+
// Lead edit after re-review: a snapshot that WAS taken but is now missing is a FAILED rollback,
|
|
868
|
+
// never a silently "restored" one. Only the no-snapshot case (the db did not exist) has nothing to restore.
|
|
869
|
+
if (!existsSync(backupPath) && snapshotMethod !== undefined) {
|
|
870
|
+
return { restored: 'failed', error: `rollback failed: snapshot missing at ${backupPath}` };
|
|
871
|
+
}
|
|
872
|
+
// FR-1/FR-2 (agentdb-snapshot-lock): the restore + manifest-copy are the file operations this
|
|
873
|
+
// lock guards. The caller has ALREADY closed every write connection before `rollback()` runs
|
|
874
|
+
// (see the doc comment above), so this critical section stays exactly as short as the forward
|
|
875
|
+
// snapshot's.
|
|
876
|
+
return withAgentdbSnapshotLock(dbFile, () => {
|
|
877
|
+
if (existsSync(backupPath)) {
|
|
878
|
+
if (snapshotMethod === undefined) {
|
|
879
|
+
// Structurally should not happen (a backup file with no recorded method), but AM-1's whole
|
|
880
|
+
// point is: never guess the method from file presence. Fail loudly instead.
|
|
881
|
+
return { restored: 'failed', error: 'rollback failed: snapshot method unknown, refusing to guess -wal handling' };
|
|
882
|
+
}
|
|
883
|
+
const outcome = restoreSqliteSnapshot(dbFile, backupPath, snapshotMethod);
|
|
884
|
+
if (!outcome.ok) {
|
|
885
|
+
return { restored: 'failed', error: `rollback failed: ${outcome.error ?? 'restore failed'}` };
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
const manifestBak = `${backupPath}.embed-manifest.json`;
|
|
889
|
+
if (existsSync(manifestBak))
|
|
890
|
+
copyFileSync(manifestBak, `${dbFile}.embed-manifest.json`);
|
|
891
|
+
return { restored: 'restored' };
|
|
892
|
+
}, lockOpts);
|
|
893
|
+
}
|
|
894
|
+
catch (err) {
|
|
895
|
+
if (err instanceof NamedLockTimeoutError) {
|
|
896
|
+
return { restored: 'failed', error: `rollback failed: lock busy: ${err.message}` };
|
|
897
|
+
}
|
|
898
|
+
return { restored: 'failed', error: `rollback failed: ${err instanceof Error ? err.message : String(err)}` };
|
|
899
|
+
}
|
|
900
|
+
};
|
|
901
|
+
let stale = [];
|
|
701
902
|
try {
|
|
702
|
-
|
|
703
|
-
db
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
delEmb.
|
|
717
|
-
delPat.
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
903
|
+
mkdirSync(dirname(dbFile), { recursive: true });
|
|
904
|
+
const db = new Database(dbFile);
|
|
905
|
+
try {
|
|
906
|
+
db.pragma('journal_mode = WAL');
|
|
907
|
+
db.pragma('busy_timeout = 5000');
|
|
908
|
+
db.exec(REASONING_BANK_SCHEMA);
|
|
909
|
+
const taskTypes = opts.taskTypes ?? DZ_TASK_TYPES;
|
|
910
|
+
const placeholders = taskTypes.map(() => '?').join(', ');
|
|
911
|
+
// Task types this reindex does NOT own. Their vectors stay in the OLD embedding space while the
|
|
912
|
+
// manifest below starts naming the new one. That is safe only because every read path filters by
|
|
913
|
+
// task type (`searchAgentdbPatterns` defaults to DZ_TASK_TYPES; the brain reads its own store),
|
|
914
|
+
// so no query ever compares across spaces. We report them so the caller can tell the user which
|
|
915
|
+
// sibling reindex still has to run — silently leaving them would be the trap.
|
|
916
|
+
stale = foreignTaskTypesWithEmbeddings(db, taskTypes);
|
|
917
|
+
const delEmb = db.prepare(`DELETE FROM pattern_embeddings WHERE pattern_id IN (SELECT id FROM reasoning_patterns WHERE task_type IN (${placeholders}))`);
|
|
918
|
+
const delPat = db.prepare(`DELETE FROM reasoning_patterns WHERE task_type IN (${placeholders})`);
|
|
919
|
+
const tx = db.transaction(() => {
|
|
920
|
+
delEmb.run(...taskTypes);
|
|
921
|
+
delPat.run(...taskTypes);
|
|
922
|
+
});
|
|
923
|
+
tx();
|
|
924
|
+
}
|
|
925
|
+
finally {
|
|
926
|
+
db.close();
|
|
927
|
+
}
|
|
928
|
+
// Stamp the NEW manifest BEFORE re-indexing. `indexPatternsToAgentdb` runs `guardEmbedSpace`,
|
|
929
|
+
// which refuses to write when the manifest names a different model — so with the old manifest
|
|
930
|
+
// still in place, reindex (the documented cure for exactly that mismatch) is refused by the very
|
|
931
|
+
// guard it exists to satisfy, and its own error message tells you to run itself. Stamping first
|
|
932
|
+
// makes the cure reachable; `rollback()` restores both file and manifest if the re-embed fails,
|
|
933
|
+
// so a mid-way failure can never leave a manifest that lies about the rows.
|
|
934
|
+
writeEmbedManifest(dbFile, currentEmbedManifest(model, version, 'agentdb'));
|
|
935
|
+
const indexed = await indexPatternsToAgentdb(projectRoot, rows, { dbPath: dbFile });
|
|
936
|
+
if (indexed.error !== undefined) {
|
|
937
|
+
const rb = await rollback();
|
|
938
|
+
if (rb.restored === 'failed')
|
|
939
|
+
rollbackFailed = true; // AM-3: the `finally` below must not clear the marker
|
|
940
|
+
return {
|
|
941
|
+
reembedded: 0,
|
|
942
|
+
backupPath,
|
|
943
|
+
...snapMeta(),
|
|
944
|
+
rollback: rb.restored,
|
|
945
|
+
...(rb.error !== undefined ? { rollbackError: rb.error } : {}),
|
|
946
|
+
error: rb.restored === 'failed' ? `${indexed.error}; ${rb.error}; ${rollbackFailNote()}` : indexed.error,
|
|
947
|
+
};
|
|
948
|
+
}
|
|
949
|
+
// FR-1/FR-6: rotation runs ONLY on this success path — an `error` return above never reaches
|
|
950
|
+
// here, so old snapshots are never touched while they might be the only working copy left.
|
|
951
|
+
// NFR-2: calls the UNLOCKED primitive under OUR OWN `withAgentdbSnapshotLock` — never the public
|
|
952
|
+
// `rotatePreReindexSnapshots` wrapper, which would try to take the same named lock a second time.
|
|
953
|
+
const keepSnapshots = opts.keepSnapshots ?? 3;
|
|
954
|
+
let snapshots;
|
|
955
|
+
try {
|
|
956
|
+
snapshots = withAgentdbSnapshotLock(dbFile, () => rotatePreReindexSnapshotsUnlocked(dbFile, { keep: keepSnapshots, protectPath: backupPath }), lockOpts);
|
|
957
|
+
}
|
|
958
|
+
catch (err) {
|
|
959
|
+
if (!(err instanceof NamedLockTimeoutError))
|
|
960
|
+
throw err;
|
|
961
|
+
snapshots = { kept: [], removed: [], removedBytes: 0, keep: keepSnapshots, errors: [`lock busy: ${err.message}`] };
|
|
962
|
+
}
|
|
963
|
+
return {
|
|
964
|
+
reembedded: indexed.indexed,
|
|
965
|
+
model: model.model,
|
|
966
|
+
version,
|
|
967
|
+
backupPath,
|
|
968
|
+
...snapMeta(),
|
|
969
|
+
...(stale.length > 0 ? { staleTaskTypes: stale } : {}),
|
|
970
|
+
snapshots,
|
|
971
|
+
};
|
|
723
972
|
}
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
973
|
+
catch (err) {
|
|
974
|
+
const rb = await rollback();
|
|
975
|
+
if (rb.restored === 'failed')
|
|
976
|
+
rollbackFailed = true; // AM-3: the `finally` below must not clear the marker
|
|
977
|
+
const baseError = `reindex failed: ${err instanceof Error ? err.message : String(err)}`;
|
|
978
|
+
return {
|
|
979
|
+
reembedded: 0,
|
|
980
|
+
backupPath,
|
|
981
|
+
...snapMeta(),
|
|
982
|
+
rollback: rb.restored,
|
|
983
|
+
...(rb.error !== undefined ? { rollbackError: rb.error } : {}),
|
|
984
|
+
error: rb.restored === 'failed' ? `${baseError}; ${rb.error}; ${rollbackFailNote()}` : baseError,
|
|
985
|
+
};
|
|
735
986
|
}
|
|
736
|
-
return {
|
|
737
|
-
reembedded: indexed.indexed,
|
|
738
|
-
model: model.model,
|
|
739
|
-
version,
|
|
740
|
-
backupPath,
|
|
741
|
-
...(stale.length > 0 ? { staleTaskTypes: stale } : {}),
|
|
742
|
-
};
|
|
743
987
|
}
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
988
|
+
finally {
|
|
989
|
+
// AM-3: never clear a marker left behind by a FAILED rollback (see the comment above
|
|
990
|
+
// `rollbackFailed`'s declaration) — every other path (no rollback needed, or a rollback that
|
|
991
|
+
// actually restored) clears it exactly as before.
|
|
992
|
+
// Lead edit after re-review (Codex D, findings 3/4): every marker mutation runs under the snapshot
|
|
993
|
+
// lock, so compare-and-delete and stale replacement can never interleave with another owner.
|
|
994
|
+
// A failed rollback flags the marker as recovery-required instead (never expires, refuses reindex).
|
|
995
|
+
try {
|
|
996
|
+
withAgentdbSnapshotLock(dbFile, () => {
|
|
997
|
+
if (rollbackFailed)
|
|
998
|
+
markReindexMarkerRecoveryRequired(dbFile, markerToken, 'rollback failed — restore the snapshot manually');
|
|
999
|
+
else
|
|
1000
|
+
clearReindexMarker(dbFile, markerToken);
|
|
1001
|
+
}, lockOpts);
|
|
1002
|
+
}
|
|
1003
|
+
catch {
|
|
1004
|
+
/* lock busy at cleanup: the marker stays; a live one expires by TTL, a recovery-required one is
|
|
1005
|
+
re-flagged on the next attempt — never throw out of finally over the real result */
|
|
1006
|
+
}
|
|
747
1007
|
}
|
|
748
1008
|
}
|
|
749
1009
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentdb-index.js","sourceRoot":"","sources":["../src/agentdb-index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentdb-index.js","sourceRoot":"","sources":["../src/agentdb-index.ts"],"names":[],"mappings":"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"}
|