@aionis/substrate 0.1.3 → 0.1.4

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/CHANGELOG.md CHANGED
@@ -4,6 +4,15 @@ All notable changes to Aionis Substrate are documented here.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.1.4 - 2026-06-26
8
+
9
+ ### Added
10
+
11
+ - Runtime live sidecar API and CLI command for checkpointed, repeated Runtime Lite SQLite mirroring into a separate Substrate target.
12
+ - Runtime live sidecar bounded watch mode with interval polling, aggregate reports, and a single-instance checkpoint lock.
13
+ - Runtime live sidecar soak check that repeatedly appends real Runtime Lite SQLite evidence and verifies checkpointed watch sync into a separate Substrate SQLite target.
14
+ - Runtime live sidecar documentation covering checkpoint behavior, dry runs, watch mode, soak checks, and product boundaries.
15
+
7
16
  ## 0.1.3 - 2026-06-26
8
17
 
9
18
  ### Added
package/README.md CHANGED
@@ -9,13 +9,13 @@ It is not Aionis Runtime core, not an Agent framework, and not a vector database
9
9
  ## Status
10
10
 
11
11
  - Package: `@aionis/substrate`
12
- - Version: `0.1.0`
12
+ - Version: `0.1.4`
13
13
  - Runtime: Node 24+
14
14
  - License: Apache-2.0
15
15
  - Current adapters: file store and SQLite
16
- - Runtime integration status: read-only snapshot import, reference-corpus parity, external admission parity, and isolated dual-write sidecar experiments
16
+ - Runtime integration status: read-only snapshot import, checkpointed live sidecar mirror, reference-corpus parity, external admission parity, and isolated dual-write sidecar experiments
17
17
 
18
- The project is intentionally independent from `AionisRuntime-focused`. It can import real Runtime Lite SQLite snapshots for validation and run isolated sidecar dual-write experiments, but it does not mutate Runtime source code or replace Runtime storage.
18
+ The project is intentionally independent from `AionisRuntime-focused`. It can import real Runtime Lite SQLite snapshots for validation, mirror Runtime evidence into a separate Substrate target through an external checkpointed sidecar, and run isolated sidecar dual-write experiments, but it does not mutate Runtime source code or replace Runtime storage.
19
19
 
20
20
  ## Install
21
21
 
@@ -43,6 +43,8 @@ npx aionis-substrate preview-context --adapter sqlite --path ./substrate.sqlite
43
43
  npx aionis-substrate backup --adapter sqlite --path ./substrate.sqlite --output ./backup.json
44
44
  npx aionis-substrate restore --adapter sqlite --path ./restored.sqlite --input ./backup.json
45
45
  npx aionis-substrate compact --adapter sqlite --path ./substrate.sqlite
46
+ npx aionis-substrate live-sidecar --source ./runtime.sqlite --target ./substrate.sqlite --adapter sqlite --checkpoint ./runtime-live-checkpoint.json --scope repo-a
47
+ npx aionis-substrate live-sidecar --source ./runtime.sqlite --target ./substrate.sqlite --adapter sqlite --checkpoint ./runtime-live-checkpoint.json --scope repo-a --watch --iterations 20 --interval-ms 5000
46
48
  ```
47
49
 
48
50
  ## Goal
@@ -82,6 +84,7 @@ This first version ships two embedded adapters:
82
84
  - checkpoint compaction can rewrite a store event log to one checksum-covered checkpoint event without changing governed state.
83
85
  - `searchNodes` provides scoped deterministic lexical/structured search over memory nodes without mutating events or admission state. It is not ANN, vector recall, semantic retrieval, or a Recall Engine.
84
86
  - `importRuntimeLiteSnapshot` can import an existing Runtime Lite SQLite database into an isolated Substrate store through a read-only source connection.
87
+ - `runRuntimeLiveSidecarOnce`, `runRuntimeLiveSidecarWatch`, and `aionis-substrate live-sidecar` incrementally mirror Runtime Lite evidence into a separate Substrate target through a checkpoint file.
85
88
 
86
89
  This is intentionally small. It proves the substrate contract without changing the existing Aionis Runtime.
87
90
 
@@ -103,6 +106,8 @@ Checkpoint compaction is documented in [docs/CHECKPOINT_COMPACTION.md](docs/CHEC
103
106
 
104
107
  Runtime snapshot import is documented in [docs/RUNTIME_SNAPSHOT_IMPORT.md](docs/RUNTIME_SNAPSHOT_IMPORT.md).
105
108
 
109
+ Runtime live sidecar sync is documented in [docs/RUNTIME_LIVE_SIDECAR.md](docs/RUNTIME_LIVE_SIDECAR.md).
110
+
106
111
  Runtime reference corpus parity is documented in [docs/RUNTIME_REFERENCE_CORPUS.md](docs/RUNTIME_REFERENCE_CORPUS.md).
107
112
 
108
113
  Runtime sidecar stabilization is documented in [docs/RUNTIME_SIDECAR_STABILIZATION.md](docs/RUNTIME_SIDECAR_STABILIZATION.md).
@@ -205,6 +210,21 @@ npm run check:runtime-corpus -- \
205
210
 
206
211
  This scans Runtime Lite SQLite files read-only, imports selected scopes into temporary Substrate stores, and writes an aggregate matrix report under `reports/runtime-snapshot-corpus-*`. The report includes bucket totals, node/relation/feedback/decision coverage, source-table presence, skip reasons, and Runtime JSON issues.
207
212
 
213
+ Runtime live sidecar mirror:
214
+
215
+ ```bash
216
+ npx aionis-substrate live-sidecar \
217
+ --source /path/to/aionis-runtime-lite.sqlite \
218
+ --target /tmp/aionis-substrate.sqlite \
219
+ --adapter sqlite \
220
+ --checkpoint /tmp/aionis-runtime-live-checkpoint.json \
221
+ --scope repo-a
222
+ ```
223
+
224
+ This opens Runtime SQLite read-only, writes only new or changed mapped evidence into the separate Substrate target, and atomically updates a checkpoint file. Re-running the command should report unchanged evidence instead of replaying the same rows.
225
+
226
+ Add `--watch --iterations <n> --interval-ms <ms>` for a bounded polling loop with a single-instance checkpoint lock.
227
+
208
228
  Runtime reference corpus parity:
209
229
 
210
230
  ```bash
@@ -273,6 +293,7 @@ npm run typecheck
273
293
  npm run build
274
294
  npm test
275
295
  npm run bench:contract
296
+ npm run check:runtime-live-sidecar-soak
276
297
  npm run check:pack
277
298
  npm run check:install-smoke
278
299
  npm run example:basic
@@ -290,6 +311,8 @@ npm run check:release
290
311
 
291
312
  `check:install-smoke` packs the built package, installs that tarball into a fresh temporary project, imports `@aionis/substrate`, and runs real file/SQLite store operations from the installed package.
292
313
 
314
+ `check:runtime-live-sidecar-soak` creates a real Runtime Lite SQLite fixture, repeatedly appends execution-memory rows, and verifies checkpointed live-sidecar watch sync into a separate real Substrate SQLite store.
315
+
293
316
  After publishing to npm, run the registry package checks:
294
317
 
295
318
  ```bash
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiqBA,wBAAsB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCxE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAgzBA,wBAAsB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCxE"}
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { access, mkdir } from "node:fs/promises";
2
+ import { access, mkdir, writeFile } from "node:fs/promises";
3
3
  import { dirname, resolve } from "node:path";
4
- import { exportAionisSubstrateBackup, importRuntimeLiteSnapshot, openFileAionisSubstrate, openSqliteAionisSubstrate, readAionisSubstrateBackupFile, restoreAionisSubstrateBackupToFile, restoreAionisSubstrateBackupToSqlite, runRuntimeSidecarCheck, verifyAionisSubstrateBackup, writeAionisSubstrateBackupFile, } from "./index.js";
4
+ import { exportAionisSubstrateBackup, importRuntimeLiteSnapshot, openFileAionisSubstrate, openSqliteAionisSubstrate, readAionisSubstrateBackupFile, restoreAionisSubstrateBackupToFile, restoreAionisSubstrateBackupToSqlite, runRuntimeLiveSidecarOnce, runRuntimeLiveSidecarWatch, runRuntimeSidecarCheck, verifyAionisSubstrateBackup, writeAionisSubstrateBackupFile, } from "./index.js";
5
5
  function rootUsage() {
6
6
  return [
7
7
  "Aionis Substrate CLI",
@@ -9,6 +9,7 @@ function rootUsage() {
9
9
  "Usage:",
10
10
  " aionis-substrate sidecar --source <runtime.sqlite> --scope <scope> [--reference <guide.json>]",
11
11
  " aionis-substrate import-runtime-snapshot --source <runtime.sqlite> --target <store> --adapter sqlite",
12
+ " aionis-substrate live-sidecar --source <runtime.sqlite> --target <store> --adapter sqlite --checkpoint <checkpoint.json> [--watch --iterations <n>]",
12
13
  " aionis-substrate preview-context --adapter sqlite --path <store> --scope <scope>",
13
14
  " aionis-substrate inspect --adapter sqlite --path <store> [--scope <scope>]",
14
15
  " aionis-substrate backup --adapter sqlite --path <store> --output <backup.json>",
@@ -19,6 +20,7 @@ function rootUsage() {
19
20
  "Commands:",
20
21
  " sidecar Run read-only Runtime sidecar stabilization checks.",
21
22
  " import-runtime-snapshot Import a Runtime Lite SQLite snapshot into a separate Substrate store.",
23
+ " live-sidecar Incrementally mirror Runtime Lite evidence into a Substrate store.",
22
24
  " inspect Inspect store metadata and scoped audit counts.",
23
25
  " preview-context Compile governed buckets without writing a decision receipt.",
24
26
  " backup Export and verify a checksum-covered event backup.",
@@ -56,6 +58,26 @@ function runtimeImportUsage() {
56
58
  "The Runtime SQLite source is opened read-only. The target is a separate Substrate store.",
57
59
  ].join("\n");
58
60
  }
61
+ function runtimeLiveSidecarUsage() {
62
+ return [
63
+ "Aionis Substrate Runtime live sidecar",
64
+ "",
65
+ "Usage:",
66
+ " aionis-substrate live-sidecar --source <runtime.sqlite> --target <store> --adapter <sqlite|file> --checkpoint <checkpoint.json> [--scope <scope>] [--limit <n>]",
67
+ "",
68
+ "The Runtime SQLite source is opened read-only. The sidecar writes only the separate Substrate target",
69
+ "and an explicit checkpoint file. Run it repeatedly from a scheduler to sync new Runtime evidence.",
70
+ "",
71
+ "Options:",
72
+ " --dry-run Report what would be applied without writing target or checkpoint.",
73
+ " --output <path> Also write the JSON report to a file.",
74
+ " --watch Run a bounded watch loop instead of a single pass.",
75
+ " --iterations <n> Required with --watch. Number of sync passes to run.",
76
+ " --interval-ms <n> Delay between watch passes. Defaults to 5000.",
77
+ " --lock <path> Watch lock path. Defaults to <checkpoint>.lock.",
78
+ " --no-lock Disable the watch lock. Intended for tests only.",
79
+ ].join("\n");
80
+ }
59
81
  function sidecarUsage() {
60
82
  return [
61
83
  "Aionis Substrate sidecar check",
@@ -344,6 +366,82 @@ function parseRuntimeImportArgs(argv) {
344
366
  }
345
367
  return args;
346
368
  }
369
+ function parseRuntimeLiveSidecarArgs(argv) {
370
+ const args = {};
371
+ for (let i = 0; i < argv.length; i += 1) {
372
+ const flag = argv[i];
373
+ const value = argv[i + 1];
374
+ if (flag === "--source") {
375
+ if (!value)
376
+ throw new Error("--source requires a value");
377
+ args.source = value;
378
+ i += 1;
379
+ }
380
+ else if (flag === "--target") {
381
+ if (!value)
382
+ throw new Error("--target requires a value");
383
+ args.target = value;
384
+ i += 1;
385
+ }
386
+ else if (flag === "--adapter") {
387
+ args.adapter = parseAdapter(value);
388
+ i += 1;
389
+ }
390
+ else if (flag === "--checkpoint") {
391
+ if (!value)
392
+ throw new Error("--checkpoint requires a value");
393
+ args.checkpoint = value;
394
+ i += 1;
395
+ }
396
+ else if (flag === "--scope") {
397
+ if (!value)
398
+ throw new Error("--scope requires a value");
399
+ args.scope = value;
400
+ i += 1;
401
+ }
402
+ else if (flag === "--limit") {
403
+ args.limit = parseInteger(value, "--limit");
404
+ i += 1;
405
+ }
406
+ else if (flag === "--output") {
407
+ if (!value)
408
+ throw new Error("--output requires a value");
409
+ args.output = value;
410
+ i += 1;
411
+ }
412
+ else if (flag === "--dry-run") {
413
+ args.dryRun = true;
414
+ }
415
+ else if (flag === "--watch") {
416
+ args.watch = true;
417
+ }
418
+ else if (flag === "--iterations") {
419
+ args.iterations = parseInteger(value, "--iterations");
420
+ i += 1;
421
+ }
422
+ else if (flag === "--interval-ms") {
423
+ args.intervalMs = parseInteger(value, "--interval-ms");
424
+ i += 1;
425
+ }
426
+ else if (flag === "--lock") {
427
+ if (!value)
428
+ throw new Error("--lock requires a value");
429
+ args.lock = value;
430
+ i += 1;
431
+ }
432
+ else if (flag === "--no-lock") {
433
+ args.lock = null;
434
+ }
435
+ else if (flag === "--help" || flag === "-h") {
436
+ console.log(runtimeLiveSidecarUsage());
437
+ process.exit(0);
438
+ }
439
+ else {
440
+ throw new Error(`unknown live-sidecar argument: ${flag}`);
441
+ }
442
+ }
443
+ return args;
444
+ }
347
445
  function parseSidecarArgs(argv) {
348
446
  const args = { sourceRoots: [], referenceRoots: [] };
349
447
  for (let i = 0; i < argv.length; i += 1) {
@@ -667,6 +765,62 @@ async function runRuntimeImport(argv) {
667
765
  await store.close();
668
766
  }
669
767
  }
768
+ async function runRuntimeLiveSidecar(argv) {
769
+ const args = parseRuntimeLiveSidecarArgs(argv);
770
+ if (!args.source)
771
+ throw new Error("--source is required");
772
+ if (!args.target)
773
+ throw new Error("--target is required");
774
+ if (!args.adapter)
775
+ throw new Error("--adapter is required");
776
+ if (!args.checkpoint)
777
+ throw new Error("--checkpoint is required");
778
+ const store = await openTargetStore({
779
+ adapter: args.adapter,
780
+ path: args.target,
781
+ });
782
+ try {
783
+ if (args.watch) {
784
+ if (args.iterations === undefined)
785
+ throw new Error("--iterations is required with --watch");
786
+ const report = await runRuntimeLiveSidecarWatch({
787
+ sourcePath: resolve(args.source),
788
+ target: store,
789
+ checkpointPath: resolve(args.checkpoint),
790
+ scope: args.scope,
791
+ limit: args.limit,
792
+ dryRun: args.dryRun,
793
+ intervalMs: args.intervalMs ?? 5000,
794
+ iterations: args.iterations,
795
+ lockPath: args.lock,
796
+ });
797
+ if (args.output) {
798
+ const output = resolve(args.output);
799
+ await mkdir(dirname(output), { recursive: true });
800
+ await writeFile(output, `${JSON.stringify(report, null, 2)}\n`, "utf8");
801
+ }
802
+ console.log(JSON.stringify(report, null, 2));
803
+ return;
804
+ }
805
+ const report = await runRuntimeLiveSidecarOnce({
806
+ sourcePath: resolve(args.source),
807
+ target: store,
808
+ checkpointPath: resolve(args.checkpoint),
809
+ scope: args.scope,
810
+ limit: args.limit,
811
+ dryRun: args.dryRun,
812
+ });
813
+ if (args.output) {
814
+ const output = resolve(args.output);
815
+ await mkdir(dirname(output), { recursive: true });
816
+ await writeFile(output, `${JSON.stringify(report, null, 2)}\n`, "utf8");
817
+ }
818
+ console.log(JSON.stringify(report, null, 2));
819
+ }
820
+ finally {
821
+ await store.close();
822
+ }
823
+ }
670
824
  export async function runCli(argv = process.argv.slice(2)) {
671
825
  const command = argv[0];
672
826
  if (!command || command === "help" || command === "--help" || command === "-h") {
@@ -681,6 +835,10 @@ export async function runCli(argv = process.argv.slice(2)) {
681
835
  await runRuntimeImport(argv.slice(1));
682
836
  return;
683
837
  }
838
+ if (command === "live-sidecar") {
839
+ await runRuntimeLiveSidecar(argv.slice(1));
840
+ return;
841
+ }
684
842
  if (command === "inspect") {
685
843
  await runInspect(argv.slice(1));
686
844
  return;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,4 +7,5 @@ export { compareSurfaces, extractRuntimeReferenceSurfaces, runRuntimeSnapshotPar
7
7
  export { runRuntimeSnapshotCorpus, type RuntimeSnapshotCorpusOptions, type RuntimeSnapshotCorpusReport, type RuntimeSnapshotCorpusScopeCandidate, type RuntimeSnapshotCorpusScopeReport, } from "./runtime-snapshot-corpus.ts";
8
8
  export { runRuntimeReferenceCorpus, type RuntimeReferenceCandidate, type RuntimeReferenceCorpusMatchedReport, type RuntimeReferenceCorpusOptions, type RuntimeReferenceCorpusReport, type RuntimeReferenceCorpusUnmatchedReport, type RuntimeReferenceScopeCandidate, } from "./runtime-reference-corpus.ts";
9
9
  export { runRuntimeSidecarCheck, type RuntimeSidecarCheckOptions, type RuntimeSidecarCheckReport, type RuntimeSidecarReferenceCorpusCheckOptions, type RuntimeSidecarSnapshotCheckOptions, type RuntimeSidecarStageSummary, } from "./runtime-sidecar-check.ts";
10
+ export { runRuntimeLiveSidecarOnce, runRuntimeLiveSidecarWatch, type RuntimeLiveSidecarApplyStats, type RuntimeLiveSidecarCheckpoint, type RuntimeLiveSidecarOptions, type RuntimeLiveSidecarReport, type RuntimeLiveSidecarWatchOptions, type RuntimeLiveSidecarWatchReport, } from "./runtime-live-sidecar.ts";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,KAAK,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,oCAAoC,EACpC,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,oCAAoC,EACzC,KAAK,mCAAmC,GACzC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,eAAe,EACf,+BAA+B,EAC/B,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,GACjC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,EACxB,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,mCAAmC,EACxC,KAAK,gCAAgC,GACtC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,GACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,yCAAyC,EAC9C,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,KAAK,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,KAAK,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,oCAAoC,EACpC,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,oCAAoC,EACzC,KAAK,mCAAmC,GACzC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,eAAe,EACf,+BAA+B,EAC/B,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,GACjC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,EACxB,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,mCAAmC,EACxC,KAAK,gCAAgC,GACtC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,GACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,yCAAyC,EAC9C,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,GAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,GACnC,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -7,4 +7,5 @@ export { compareSurfaces, extractRuntimeReferenceSurfaces, runRuntimeSnapshotPar
7
7
  export { runRuntimeSnapshotCorpus, } from "./runtime-snapshot-corpus.js";
8
8
  export { runRuntimeReferenceCorpus, } from "./runtime-reference-corpus.js";
9
9
  export { runRuntimeSidecarCheck, } from "./runtime-sidecar-check.js";
10
+ export { runRuntimeLiveSidecarOnce, runRuntimeLiveSidecarWatch, } from "./runtime-live-sidecar.js";
10
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAmC,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAqC,MAAM,uBAAuB,CAAC;AACrG,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,oCAAoC,EACpC,2BAA2B,EAC3B,8BAA8B,GAI/B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,GAG1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,eAAe,EACf,+BAA+B,EAC/B,wBAAwB,GAKzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,GAKzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,yBAAyB,GAO1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,GAMvB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAmC,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAqC,MAAM,uBAAuB,CAAC;AACrG,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,oCAAoC,EACpC,2BAA2B,EAC3B,8BAA8B,GAI/B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,GAG1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,eAAe,EACf,+BAA+B,EAC/B,wBAAwB,GAKzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,GAKzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,yBAAyB,GAO1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,sBAAsB,GAMvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAO3B,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { type RuntimeSnapshotImportSummary } from "./runtime-snapshot-importer.ts";
2
+ import type { AionisSubstrate, AionisSubstrateStoreInfo } from "./types.ts";
3
+ export type RuntimeLiveSidecarCheckpoint = {
4
+ contract_version: "aionis_runtime_live_sidecar_checkpoint_v1";
5
+ source_path: string;
6
+ scope: string | null;
7
+ updated_at: string;
8
+ last_run_id: string | null;
9
+ fingerprints: {
10
+ nodes: Record<string, string>;
11
+ relations: Record<string, string>;
12
+ feedback: Record<string, string>;
13
+ decisions: Record<string, string>;
14
+ };
15
+ };
16
+ export type RuntimeLiveSidecarApplyStats = {
17
+ attempted: number;
18
+ applied: number;
19
+ unchanged: number;
20
+ };
21
+ export type RuntimeLiveSidecarReport = {
22
+ contract_version: "aionis_runtime_live_sidecar_report_v1";
23
+ run_id: string;
24
+ generated_at: string;
25
+ source_path: string;
26
+ scope: string | null;
27
+ checkpoint_path: string;
28
+ dry_run: boolean;
29
+ import_summary: RuntimeSnapshotImportSummary;
30
+ apply_summary: {
31
+ nodes: RuntimeLiveSidecarApplyStats;
32
+ relations: RuntimeLiveSidecarApplyStats;
33
+ feedback: RuntimeLiveSidecarApplyStats;
34
+ decisions: RuntimeLiveSidecarApplyStats;
35
+ };
36
+ store_before: AionisSubstrateStoreInfo;
37
+ store_after: AionisSubstrateStoreInfo;
38
+ checkpoint_before: {
39
+ present: boolean;
40
+ fingerprint_counts: Record<keyof RuntimeLiveSidecarCheckpoint["fingerprints"], number>;
41
+ };
42
+ checkpoint_after: {
43
+ fingerprint_counts: Record<keyof RuntimeLiveSidecarCheckpoint["fingerprints"], number>;
44
+ };
45
+ warnings: string[];
46
+ };
47
+ export type RuntimeLiveSidecarOptions = {
48
+ sourcePath: string;
49
+ target: AionisSubstrate;
50
+ checkpointPath: string;
51
+ scope?: string;
52
+ limit?: number;
53
+ dryRun?: boolean;
54
+ };
55
+ export type RuntimeLiveSidecarWatchOptions = RuntimeLiveSidecarOptions & {
56
+ intervalMs: number;
57
+ iterations: number;
58
+ lockPath?: string | null;
59
+ };
60
+ export type RuntimeLiveSidecarWatchReport = {
61
+ contract_version: "aionis_runtime_live_sidecar_watch_report_v1";
62
+ run_id: string;
63
+ started_at: string;
64
+ finished_at: string;
65
+ source_path: string;
66
+ scope: string | null;
67
+ checkpoint_path: string;
68
+ lock_path: string | null;
69
+ dry_run: boolean;
70
+ interval_ms: number;
71
+ iterations_requested: number;
72
+ iterations_completed: number;
73
+ reports: RuntimeLiveSidecarReport[];
74
+ apply_summary: RuntimeLiveSidecarReport["apply_summary"];
75
+ warnings: string[];
76
+ };
77
+ export declare function runRuntimeLiveSidecarOnce(options: RuntimeLiveSidecarOptions): Promise<RuntimeLiveSidecarReport>;
78
+ export declare function runRuntimeLiveSidecarWatch(options: RuntimeLiveSidecarWatchOptions): Promise<RuntimeLiveSidecarWatchReport>;
79
+ //# sourceMappingURL=runtime-live-sidecar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-live-sidecar.d.ts","sourceRoot":"","sources":["../src/runtime-live-sidecar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,382 @@
1
+ import { createHash, randomUUID } from "node:crypto";
2
+ import { mkdir, open, readFile, rename, rm, writeFile } from "node:fs/promises";
3
+ import { dirname, resolve } from "node:path";
4
+ import { importRuntimeLiteSnapshot, } from "./runtime-snapshot-importer.js";
5
+ function emptyStats() {
6
+ return { attempted: 0, applied: 0, unchanged: 0 };
7
+ }
8
+ function addStats(left, right) {
9
+ return {
10
+ attempted: left.attempted + right.attempted,
11
+ applied: left.applied + right.applied,
12
+ unchanged: left.unchanged + right.unchanged,
13
+ };
14
+ }
15
+ function emptyApplySummary() {
16
+ return {
17
+ nodes: emptyStats(),
18
+ relations: emptyStats(),
19
+ feedback: emptyStats(),
20
+ decisions: emptyStats(),
21
+ };
22
+ }
23
+ function addApplySummary(left, right) {
24
+ return {
25
+ nodes: addStats(left.nodes, right.nodes),
26
+ relations: addStats(left.relations, right.relations),
27
+ feedback: addStats(left.feedback, right.feedback),
28
+ decisions: addStats(left.decisions, right.decisions),
29
+ };
30
+ }
31
+ function sleep(ms) {
32
+ return new Promise((resolveSleep) => setTimeout(resolveSleep, ms));
33
+ }
34
+ function emptyCheckpoint(sourcePath, scope) {
35
+ return {
36
+ contract_version: "aionis_runtime_live_sidecar_checkpoint_v1",
37
+ source_path: sourcePath,
38
+ scope,
39
+ updated_at: new Date(0).toISOString(),
40
+ last_run_id: null,
41
+ fingerprints: {
42
+ nodes: {},
43
+ relations: {},
44
+ feedback: {},
45
+ decisions: {},
46
+ },
47
+ };
48
+ }
49
+ function fingerprintCounts(checkpoint) {
50
+ return {
51
+ nodes: Object.keys(checkpoint.fingerprints.nodes).length,
52
+ relations: Object.keys(checkpoint.fingerprints.relations).length,
53
+ feedback: Object.keys(checkpoint.fingerprints.feedback).length,
54
+ decisions: Object.keys(checkpoint.fingerprints.decisions).length,
55
+ };
56
+ }
57
+ function hasFingerprints(checkpoint) {
58
+ const counts = fingerprintCounts(checkpoint);
59
+ return counts.nodes > 0 || counts.relations > 0 || counts.feedback > 0 || counts.decisions > 0;
60
+ }
61
+ function stableJson(value) {
62
+ if (value === null || typeof value !== "object")
63
+ return JSON.stringify(value);
64
+ if (Array.isArray(value))
65
+ return `[${value.map(stableJson).join(",")}]`;
66
+ const record = value;
67
+ return `{${Object.keys(record).sort().map((key) => `${JSON.stringify(key)}:${stableJson(record[key])}`).join(",")}}`;
68
+ }
69
+ function fingerprint(value) {
70
+ return createHash("sha256").update(stableJson(value)).digest("hex");
71
+ }
72
+ function scopedKey(scope, id) {
73
+ return `${scope}\u0000${id}`;
74
+ }
75
+ function checkpointKey(kind, input) {
76
+ if (kind === "nodes") {
77
+ const node = input;
78
+ if (!node.id)
79
+ throw new Error("Runtime live sidecar requires imported node ids");
80
+ return scopedKey(node.scope, node.id);
81
+ }
82
+ if (kind === "relations") {
83
+ const relation = input;
84
+ if (!relation.id)
85
+ throw new Error("Runtime live sidecar requires imported relation ids");
86
+ return scopedKey(relation.scope, relation.id);
87
+ }
88
+ if (kind === "feedback") {
89
+ const feedback = input;
90
+ if (!feedback.id)
91
+ throw new Error("Runtime live sidecar requires imported feedback ids");
92
+ return scopedKey(feedback.scope, feedback.id);
93
+ }
94
+ const decision = input;
95
+ if (!decision.id)
96
+ throw new Error("Runtime live sidecar requires imported decision ids");
97
+ return scopedKey(decision.scope, decision.id);
98
+ }
99
+ async function loadCheckpoint(path, sourcePath, scope) {
100
+ try {
101
+ const parsed = JSON.parse(await readFile(path, "utf8"));
102
+ if (parsed.contract_version !== "aionis_runtime_live_sidecar_checkpoint_v1") {
103
+ throw new Error(`unsupported checkpoint contract: ${parsed.contract_version}`);
104
+ }
105
+ if (parsed.source_path !== sourcePath || parsed.scope !== scope) {
106
+ throw new Error("checkpoint source_path/scope does not match the requested Runtime source");
107
+ }
108
+ return { present: true, checkpoint: parsed };
109
+ }
110
+ catch (err) {
111
+ if (err.code === "ENOENT") {
112
+ return { present: false, checkpoint: emptyCheckpoint(sourcePath, scope) };
113
+ }
114
+ throw err;
115
+ }
116
+ }
117
+ async function writeCheckpoint(path, checkpoint) {
118
+ await mkdir(dirname(path), { recursive: true });
119
+ const tempPath = `${path}.tmp-${process.pid}-${randomUUID()}`;
120
+ await writeFile(tempPath, `${JSON.stringify(checkpoint, null, 2)}\n`, "utf8");
121
+ await rename(tempPath, path);
122
+ }
123
+ async function acquireLock(path, metadata) {
124
+ await mkdir(dirname(path), { recursive: true });
125
+ let handle;
126
+ try {
127
+ handle = await open(path, "wx");
128
+ }
129
+ catch (err) {
130
+ if (err.code === "EEXIST") {
131
+ throw new Error(`Runtime live sidecar lock already exists: ${path}`);
132
+ }
133
+ throw err;
134
+ }
135
+ try {
136
+ await handle.writeFile(`${JSON.stringify({
137
+ contract_version: "aionis_runtime_live_sidecar_lock_v1",
138
+ pid: process.pid,
139
+ acquired_at: new Date().toISOString(),
140
+ ...metadata,
141
+ }, null, 2)}\n`, "utf8");
142
+ }
143
+ finally {
144
+ await handle.close();
145
+ }
146
+ let released = false;
147
+ return {
148
+ path,
149
+ async release() {
150
+ if (released)
151
+ return;
152
+ released = true;
153
+ await rm(path, { force: true });
154
+ },
155
+ };
156
+ }
157
+ function makeUnchangedNode(input, existing) {
158
+ if (existing)
159
+ return existing;
160
+ return {
161
+ id: input.id,
162
+ scope: input.scope,
163
+ kind: input.kind,
164
+ title: input.title ?? null,
165
+ summary: input.summary,
166
+ lifecycle: input.lifecycle ?? "candidate",
167
+ authority: input.authority ?? "unknown",
168
+ confidence: input.confidence ?? 0.5,
169
+ targetFiles: input.targetFiles ?? [],
170
+ payloadRef: input.payloadRef ?? null,
171
+ agentId: input.agentId ?? null,
172
+ teamId: input.teamId ?? null,
173
+ metadata: input.metadata ?? {},
174
+ createdAt: input.createdAt ?? new Date(0).toISOString(),
175
+ updatedAt: input.updatedAt ?? input.createdAt ?? new Date(0).toISOString(),
176
+ };
177
+ }
178
+ function makeUnchangedRelation(input) {
179
+ return {
180
+ id: input.id,
181
+ scope: input.scope,
182
+ kind: input.kind,
183
+ sourceId: input.sourceId,
184
+ targetId: input.targetId,
185
+ confidence: input.confidence ?? 0.7,
186
+ reasons: input.reasons ?? [],
187
+ metadata: input.metadata ?? {},
188
+ createdAt: input.createdAt ?? new Date(0).toISOString(),
189
+ };
190
+ }
191
+ function makeUnchangedFeedback(input) {
192
+ return {
193
+ id: input.id,
194
+ scope: input.scope,
195
+ memoryId: input.memoryId,
196
+ outcome: input.outcome,
197
+ strength: input.strength,
198
+ runId: input.runId ?? null,
199
+ evidenceRef: input.evidenceRef ?? null,
200
+ createdAt: input.createdAt ?? new Date(0).toISOString(),
201
+ };
202
+ }
203
+ function makeUnchangedDecision(input) {
204
+ return {
205
+ id: input.id,
206
+ scope: input.scope,
207
+ query: input.query ?? null,
208
+ decisions: input.decisions,
209
+ createdAt: input.createdAt ?? new Date(0).toISOString(),
210
+ };
211
+ }
212
+ function decorateTarget(target, checkpoint, nextCheckpoint, stats, dryRun) {
213
+ async function shouldApply(kind, key, value, stat, forceApply = false) {
214
+ stat.attempted += 1;
215
+ const hash = fingerprint(value);
216
+ if (checkpoint.fingerprints[kind][key] === hash && !forceApply) {
217
+ stat.unchanged += 1;
218
+ nextCheckpoint.fingerprints[kind][key] = hash;
219
+ return false;
220
+ }
221
+ stat.applied += 1;
222
+ nextCheckpoint.fingerprints[kind][key] = hash;
223
+ return !dryRun;
224
+ }
225
+ return {
226
+ ...target,
227
+ async putNode(input) {
228
+ const key = checkpointKey("nodes", input);
229
+ const existing = await target.getNode(input.scope, input.id);
230
+ const apply = await shouldApply("nodes", key, input, stats.nodes, existing === null);
231
+ if (!apply)
232
+ return makeUnchangedNode(input, existing);
233
+ return await target.putNode(input);
234
+ },
235
+ async putRelation(input) {
236
+ const key = checkpointKey("relations", input);
237
+ const existing = (await target.listRelations(input.scope)).some((relation) => relation.id === input.id);
238
+ const apply = await shouldApply("relations", key, input, stats.relations, !existing);
239
+ if (!apply)
240
+ return makeUnchangedRelation(input);
241
+ return await target.putRelation(input);
242
+ },
243
+ async recordFeedback(input) {
244
+ const key = checkpointKey("feedback", input);
245
+ const existing = (await target.listFeedback({ scope: input.scope, memoryId: input.memoryId }))
246
+ .some((feedback) => feedback.id === input.id);
247
+ const apply = await shouldApply("feedback", key, input, stats.feedback, !existing);
248
+ if (!apply)
249
+ return makeUnchangedFeedback(input);
250
+ return await target.recordFeedback(input);
251
+ },
252
+ async recordDecision(input) {
253
+ const key = checkpointKey("decisions", input);
254
+ const existing = (await target.listDecisions(input.scope)).some((decision) => decision.id === input.id);
255
+ const apply = await shouldApply("decisions", key, input, stats.decisions, !existing);
256
+ if (!apply)
257
+ return makeUnchangedDecision(input);
258
+ return await target.recordDecision(input);
259
+ },
260
+ };
261
+ }
262
+ export async function runRuntimeLiveSidecarOnce(options) {
263
+ const sourcePath = resolve(options.sourcePath);
264
+ const checkpointPath = resolve(options.checkpointPath);
265
+ const scope = options.scope?.trim() || null;
266
+ const checkpointResult = await loadCheckpoint(checkpointPath, sourcePath, scope);
267
+ const checkpointBeforeCounts = fingerprintCounts(checkpointResult.checkpoint);
268
+ const runId = randomUUID();
269
+ const generatedAt = new Date().toISOString();
270
+ const stats = {
271
+ nodes: emptyStats(),
272
+ relations: emptyStats(),
273
+ feedback: emptyStats(),
274
+ decisions: emptyStats(),
275
+ };
276
+ const storeBefore = await options.target.getStoreInfo();
277
+ const warnings = [];
278
+ let checkpoint = checkpointResult.checkpoint;
279
+ if (checkpointResult.present && storeBefore.eventCount === 0 && hasFingerprints(checkpoint)) {
280
+ warnings.push("checkpoint ignored because target store is empty; replaying Runtime snapshot into target");
281
+ checkpoint = emptyCheckpoint(sourcePath, scope);
282
+ }
283
+ const nextCheckpoint = JSON.parse(JSON.stringify(checkpoint));
284
+ const decorated = decorateTarget(options.target, checkpoint, nextCheckpoint, stats, Boolean(options.dryRun));
285
+ const importSummary = await importRuntimeLiteSnapshot({
286
+ sourcePath,
287
+ target: decorated,
288
+ scope: scope ?? undefined,
289
+ limit: options.limit,
290
+ });
291
+ nextCheckpoint.source_path = sourcePath;
292
+ nextCheckpoint.scope = scope;
293
+ nextCheckpoint.updated_at = generatedAt;
294
+ nextCheckpoint.last_run_id = runId;
295
+ if (!options.dryRun)
296
+ await writeCheckpoint(checkpointPath, nextCheckpoint);
297
+ const storeAfter = await options.target.getStoreInfo();
298
+ return {
299
+ contract_version: "aionis_runtime_live_sidecar_report_v1",
300
+ run_id: runId,
301
+ generated_at: generatedAt,
302
+ source_path: sourcePath,
303
+ scope,
304
+ checkpoint_path: checkpointPath,
305
+ dry_run: Boolean(options.dryRun),
306
+ import_summary: importSummary,
307
+ apply_summary: stats,
308
+ store_before: storeBefore,
309
+ store_after: storeAfter,
310
+ checkpoint_before: {
311
+ present: checkpointResult.present,
312
+ fingerprint_counts: checkpointBeforeCounts,
313
+ },
314
+ checkpoint_after: {
315
+ fingerprint_counts: fingerprintCounts(nextCheckpoint),
316
+ },
317
+ warnings: [...warnings, ...importSummary.warnings],
318
+ };
319
+ }
320
+ export async function runRuntimeLiveSidecarWatch(options) {
321
+ if (!Number.isInteger(options.iterations) || options.iterations < 1) {
322
+ throw new Error("Runtime live sidecar watch iterations must be a positive integer");
323
+ }
324
+ if (!Number.isInteger(options.intervalMs) || options.intervalMs < 0) {
325
+ throw new Error("Runtime live sidecar watch intervalMs must be a non-negative integer");
326
+ }
327
+ const sourcePath = resolve(options.sourcePath);
328
+ const checkpointPath = resolve(options.checkpointPath);
329
+ const lockPath = options.lockPath === null ? null : resolve(options.lockPath ?? `${checkpointPath}.lock`);
330
+ const scope = options.scope?.trim() || null;
331
+ const runId = randomUUID();
332
+ const startedAt = new Date().toISOString();
333
+ const reports = [];
334
+ let lock = null;
335
+ try {
336
+ if (lockPath) {
337
+ lock = await acquireLock(lockPath, {
338
+ run_id: runId,
339
+ source_path: sourcePath,
340
+ checkpoint_path: checkpointPath,
341
+ scope,
342
+ iterations: options.iterations,
343
+ interval_ms: options.intervalMs,
344
+ dry_run: Boolean(options.dryRun),
345
+ });
346
+ }
347
+ for (let index = 0; index < options.iterations; index += 1) {
348
+ reports.push(await runRuntimeLiveSidecarOnce({
349
+ sourcePath,
350
+ target: options.target,
351
+ checkpointPath,
352
+ scope: scope ?? undefined,
353
+ limit: options.limit,
354
+ dryRun: options.dryRun,
355
+ }));
356
+ if (index < options.iterations - 1 && options.intervalMs > 0)
357
+ await sleep(options.intervalMs);
358
+ }
359
+ }
360
+ finally {
361
+ await lock?.release();
362
+ }
363
+ const applySummary = reports.reduce((summary, report) => addApplySummary(summary, report.apply_summary), emptyApplySummary());
364
+ return {
365
+ contract_version: "aionis_runtime_live_sidecar_watch_report_v1",
366
+ run_id: runId,
367
+ started_at: startedAt,
368
+ finished_at: new Date().toISOString(),
369
+ source_path: sourcePath,
370
+ scope,
371
+ checkpoint_path: checkpointPath,
372
+ lock_path: lockPath,
373
+ dry_run: Boolean(options.dryRun),
374
+ interval_ms: options.intervalMs,
375
+ iterations_requested: options.iterations,
376
+ iterations_completed: reports.length,
377
+ reports,
378
+ apply_summary: applySummary,
379
+ warnings: reports.flatMap((report) => report.warnings),
380
+ };
381
+ }
382
+ //# sourceMappingURL=runtime-live-sidecar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-live-sidecar.js","sourceRoot":"","sources":["../src/runtime-live-sidecar.ts"],"names":[],"mappings":"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"}
package/docs/CLI.md CHANGED
@@ -6,6 +6,7 @@ It is intentionally narrow:
6
6
 
7
7
  - it inspects, previews, backs up, restores, and compacts Substrate stores;
8
8
  - it imports Runtime Lite SQLite snapshots into separate Substrate stores;
9
+ - it incrementally mirrors Runtime Lite evidence into separate Substrate stores with an explicit checkpoint;
9
10
  - it runs read-only checks over existing Runtime evidence;
10
11
  - it writes reports to local files;
11
12
  - it does not start Aionis Runtime unless you explicitly use the separate repository script `check:runtime-dual-write`;
@@ -123,6 +124,56 @@ The JSON output includes imported/skipped counts plus structured `diagnostics.so
123
124
  `diagnostics.skipReasons`, and `diagnostics.jsonIssues` so bridge failures can be classified
124
125
  without scraping warning strings.
125
126
 
127
+ ## Runtime Live Sidecar
128
+
129
+ Use `live-sidecar` to keep a separate Substrate store in sync with Runtime Lite evidence without replaying unchanged rows:
130
+
131
+ ```bash
132
+ npx aionis-substrate live-sidecar \
133
+ --source /path/to/aionis-runtime-lite.sqlite \
134
+ --target ./substrate.sqlite \
135
+ --adapter sqlite \
136
+ --checkpoint ./runtime-live-checkpoint.json \
137
+ --scope repo-a
138
+ ```
139
+
140
+ The Runtime source is opened read-only. The target is a Substrate store owned by this command.
141
+ The checkpoint file records stable fingerprints for mapped Runtime nodes, relations, feedback,
142
+ and decisions. Re-running the command applies only new or changed evidence.
143
+
144
+ Use `--dry-run` to inspect the apply plan without writing the target or checkpoint:
145
+
146
+ ```bash
147
+ npx aionis-substrate live-sidecar \
148
+ --source /path/to/aionis-runtime-lite.sqlite \
149
+ --target ./substrate.sqlite \
150
+ --adapter sqlite \
151
+ --checkpoint ./runtime-live-checkpoint.json \
152
+ --scope repo-a \
153
+ --dry-run
154
+ ```
155
+
156
+ Use `--watch` for a bounded polling loop with a single-instance lock:
157
+
158
+ ```bash
159
+ npx aionis-substrate live-sidecar \
160
+ --source /path/to/aionis-runtime-lite.sqlite \
161
+ --target ./substrate.sqlite \
162
+ --adapter sqlite \
163
+ --checkpoint ./runtime-live-checkpoint.json \
164
+ --scope repo-a \
165
+ --watch \
166
+ --iterations 20 \
167
+ --interval-ms 5000
168
+ ```
169
+
170
+ The default lock path is `<checkpoint>.lock`. Override it with `--lock <path>`.
171
+ Use `--no-lock` only for controlled tests. The watch report contract is
172
+ `aionis_runtime_live_sidecar_watch_report_v1`.
173
+
174
+ The report contract is `aionis_runtime_live_sidecar_report_v1`. Read `import_summary` as source coverage
175
+ and `apply_summary` as the checkpointed sidecar result.
176
+
126
177
  ## Sidecar Check
127
178
 
128
179
  Use `sidecar` when you already have Runtime Lite SQLite evidence and want to check whether Substrate can mirror the governed context surface from outside the Runtime boundary.
@@ -181,6 +232,10 @@ The reference files were scanned, but none of their memory ids overlap the disco
181
232
 
182
233
  The imported Substrate buckets do not match the supplied Runtime guide/measure surface. Inspect the generated `summary.json` before changing code; the mismatch may be a scope, reference, or fixture problem.
183
234
 
235
+ `checkpoint ignored because target store is empty`
236
+
237
+ The live sidecar found an existing checkpoint, but the target store had no events. It replayed the Runtime snapshot into the target so the checkpoint cannot hide a missing or newly created target.
238
+
184
239
  `ExperimentalWarning: SQLite is an experimental feature`
185
240
 
186
241
  Node 24 currently marks `node:sqlite` as experimental. This is expected for the current embedded SQLite adapter.
@@ -0,0 +1,142 @@
1
+ # Runtime Live Sidecar
2
+
3
+ The Runtime live sidecar is an external, one-way bridge from an Aionis Runtime Lite SQLite database into an independent Aionis Substrate store.
4
+
5
+ It exists for a narrow productization step:
6
+
7
+ - Runtime remains the source of execution memory writes.
8
+ - Substrate mirrors Runtime evidence into a durable substrate store.
9
+ - A checkpoint prevents replaying unchanged Runtime rows on every poll.
10
+ - No Runtime table, source file, policy, or guide path is mutated.
11
+
12
+ This is not a replacement for Runtime policy. It is a sidecar substrate sync primitive.
13
+
14
+ ## Command
15
+
16
+ ```bash
17
+ npx aionis-substrate live-sidecar \
18
+ --source /path/to/aionis-runtime-lite.sqlite \
19
+ --target ./substrate.sqlite \
20
+ --adapter sqlite \
21
+ --checkpoint ./runtime-live-checkpoint.json \
22
+ --scope repo-a
23
+ ```
24
+
25
+ Run the command repeatedly from a scheduler or host process. Each run:
26
+
27
+ 1. opens the Runtime SQLite source read-only;
28
+ 2. maps Runtime memory nodes, relations, feedback, and decisions through the snapshot importer;
29
+ 3. fingerprints each mapped Substrate write;
30
+ 4. writes only new or changed evidence into the target store;
31
+ 5. atomically updates the checkpoint file.
32
+
33
+ Use `--adapter file` when the target is a file-backed Substrate directory.
34
+
35
+ Use `--dry-run` to report what would be applied without writing the target or checkpoint:
36
+
37
+ ```bash
38
+ npx aionis-substrate live-sidecar \
39
+ --source /path/to/aionis-runtime-lite.sqlite \
40
+ --target ./substrate.sqlite \
41
+ --adapter sqlite \
42
+ --checkpoint ./runtime-live-checkpoint.json \
43
+ --scope repo-a \
44
+ --dry-run
45
+ ```
46
+
47
+ ## Bounded Watch Loop
48
+
49
+ Use `--watch` when a host wants Substrate to poll Runtime Lite repeatedly in one process:
50
+
51
+ ```bash
52
+ npx aionis-substrate live-sidecar \
53
+ --source /path/to/aionis-runtime-lite.sqlite \
54
+ --target ./substrate.sqlite \
55
+ --adapter sqlite \
56
+ --checkpoint ./runtime-live-checkpoint.json \
57
+ --scope repo-a \
58
+ --watch \
59
+ --iterations 20 \
60
+ --interval-ms 5000
61
+ ```
62
+
63
+ `--watch` is intentionally bounded in this package version. The host chooses the number
64
+ of iterations and can restart the command through cron, launchd, systemd, a supervisor,
65
+ or its own Agent host process.
66
+
67
+ The watch command creates a single-instance lock by default at:
68
+
69
+ ```text
70
+ <checkpoint>.lock
71
+ ```
72
+
73
+ Override it with `--lock <path>`. Use `--no-lock` only for controlled tests.
74
+
75
+ The watch report contract is `aionis_runtime_live_sidecar_watch_report_v1`.
76
+ It contains:
77
+
78
+ - `reports`: every per-iteration `aionis_runtime_live_sidecar_report_v1`;
79
+ - `apply_summary`: aggregate attempted/applied/unchanged counts across all iterations;
80
+ - `lock_path`: the lock used for this run;
81
+ - `iterations_requested` and `iterations_completed`.
82
+
83
+ ## Soak Check
84
+
85
+ Use the soak check before release or before embedding the sidecar in a long-running host:
86
+
87
+ ```bash
88
+ npm run check:runtime-live-sidecar-soak
89
+ ```
90
+
91
+ The check creates a real Runtime Lite SQLite fixture, appends evidence in batches,
92
+ and runs bounded watch loops against a separate real Substrate SQLite target. It
93
+ verifies:
94
+
95
+ - every newly appended Runtime row is applied exactly once;
96
+ - unchanged rows remain checkpoint-skipped on later polls;
97
+ - the checkpoint fingerprint count matches the mirrored target;
98
+ - the lock file is released after every watch loop;
99
+ - the target store can be reopened with the same node and event counts.
100
+
101
+ The report contract is `aionis_runtime_live_sidecar_soak_report_v1`.
102
+
103
+ ## Report
104
+
105
+ The report contract is `aionis_runtime_live_sidecar_report_v1`.
106
+
107
+ Important fields:
108
+
109
+ - `import_summary`: the Runtime snapshot importer coverage for this scan.
110
+ - `apply_summary`: what the live sidecar actually applied or skipped through the checkpoint.
111
+ - `checkpoint_before`: whether a checkpoint existed and how many fingerprints it contained.
112
+ - `checkpoint_after`: fingerprint counts after the run.
113
+ - `store_before` / `store_after`: target store event counters.
114
+ - `warnings`: importer warnings plus sidecar consistency warnings.
115
+
116
+ `import_summary.nodesImported` can be larger than `apply_summary.nodes.applied`. That is expected: the importer reports what it mapped from Runtime; the live sidecar reports what was new or changed after checkpoint comparison.
117
+
118
+ ## Checkpoint Behavior
119
+
120
+ The checkpoint is scoped to:
121
+
122
+ - Runtime source path;
123
+ - optional Runtime scope;
124
+ - mapped Substrate object fingerprints.
125
+
126
+ If the checkpoint path points to a different Runtime source or scope, the command fails. This prevents accidental cross-source reuse.
127
+
128
+ If the checkpoint contains fingerprints but the target store is empty, the sidecar ignores the checkpoint and replays the Runtime snapshot into the target. This prevents a stale checkpoint from hiding a lost or newly created target store.
129
+
130
+ If an individual node, relation, feedback row, or decision is missing from the target even though the checkpoint says it is unchanged, the sidecar re-applies that object.
131
+
132
+ ## Product Boundary
133
+
134
+ The live sidecar is external infrastructure:
135
+
136
+ - it does not replace Runtime Lite;
137
+ - it does not install dual-write inside Runtime;
138
+ - it does not change Runtime guide/admission policy;
139
+ - it does not encode benchmark-specific rules;
140
+ - it does not make Substrate the full Runtime policy engine.
141
+
142
+ Use it when you want a live Substrate mirror for inspection, backup, product experiments, or external host integration without touching Runtime core.
@@ -14,6 +14,9 @@ The importer exists to answer one engineering question:
14
14
 
15
15
  > Can the Substrate contract represent Runtime memory evidence, relations, feedback, and decision traces without polluting the focused Runtime?
16
16
 
17
+ For repeated checkpointed mirroring, use the separate Runtime live sidecar documented in
18
+ [RUNTIME_LIVE_SIDECAR.md](RUNTIME_LIVE_SIDECAR.md). Snapshot import is a one-shot copy path.
19
+
17
20
  ## Source Tables
18
21
 
19
22
  The importer currently understands the focused Runtime Lite write-store tables:
@@ -54,7 +54,7 @@ Keep Runtime experiments isolated:
54
54
  - dual-write sidecar continues to write into a separate Substrate store;
55
55
  - no replacement of Aionis Runtime storage in v0.2.
56
56
 
57
- Initial implementation status: `check:runtime-sidecar` now combines read-only Runtime snapshot parity and same-source reference corpus parity into a single report contract. Real Runtime dual-write remains an explicit separate gate through `check:runtime-dual-write` because it starts focused Runtime.
57
+ Initial implementation status: `check:runtime-sidecar` now combines read-only Runtime snapshot parity and same-source reference corpus parity into a single report contract. `live-sidecar` adds a checkpointed external mirror from Runtime Lite SQLite into a separate Substrate target for repeated host-managed sync, including bounded watch polling and a checkpoint lock. Real Runtime dual-write remains an explicit separate gate through `check:runtime-dual-write` because it starts focused Runtime.
58
58
 
59
59
  ### 5. Product CLI and Docs
60
60
 
@@ -64,7 +64,7 @@ Make the substrate boundary easier to consume without widening policy scope:
64
64
  - document install, minimal API usage, and sidecar reports separately;
65
65
  - keep repository-only Runtime process experiments explicit and separate.
66
66
 
67
- Initial implementation status: the package exposes `aionis-substrate sidecar` for read-only snapshot/reference checks and store commands for inspect, preview-context, backup, restore, compact, and Runtime snapshot import. These commands do not start Runtime, mutate Runtime storage, or implement Runtime admission policy.
67
+ Initial implementation status: the package exposes `aionis-substrate sidecar` for read-only snapshot/reference checks, `aionis-substrate live-sidecar` for checkpointed external mirroring, and store commands for inspect, preview-context, backup, restore, compact, and Runtime snapshot import. These commands do not start Runtime, mutate Runtime storage, or implement Runtime admission policy.
68
68
 
69
69
  ## Excluded
70
70
 
@@ -82,6 +82,7 @@ Before v0.2 can be tagged:
82
82
  - `npm run typecheck`
83
83
  - `npm test`
84
84
  - `npm run bench:contract`
85
+ - `npm run check:runtime-live-sidecar-soak`
85
86
  - `npm run check:release`
86
87
  - `npm run check:scale -- --nodes 10000 --scopes 10 --relations 2000 --feedback 1000`
87
88
  - adapter parity tests for every new public API;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aionis/substrate",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Durable governed memory substrate for Aionis execution state.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -34,6 +34,7 @@
34
34
  "check:runtime-corpus": "node scripts/runtime-snapshot-corpus.ts",
35
35
  "check:runtime-reference-corpus": "node scripts/runtime-reference-corpus.ts",
36
36
  "check:runtime-sidecar": "node scripts/runtime-sidecar-check.ts",
37
+ "check:runtime-live-sidecar-soak": "node scripts/runtime-live-sidecar-soak.ts",
37
38
  "make:runtime-product-reference": "node scripts/runtime-product-reference-fixture.ts",
38
39
  "check:external-admission-parity": "node scripts/external-admission-parity.ts",
39
40
  "check:runtime-dual-write": "node scripts/runtime-dual-write-experiment.ts",
@@ -43,7 +44,7 @@
43
44
  "check:published-runtime-smoke": "node scripts/published-runtime-smoke.ts",
44
45
  "check:scale": "node scripts/scale-test.ts",
45
46
  "example:basic": "npm run build && node examples/basic/index.mjs",
46
- "check:release": "npm run typecheck && npm test && npm run bench:contract && npm run example:basic && npm run check:pack && npm run check:install-smoke"
47
+ "check:release": "npm run typecheck && npm test && npm run bench:contract && npm run example:basic && npm run check:runtime-live-sidecar-soak && npm run check:pack && npm run check:install-smoke"
47
48
  },
48
49
  "repository": {
49
50
  "type": "git",