@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 +9 -0
- package/README.md +26 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +160 -2
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime-live-sidecar.d.ts +79 -0
- package/dist/runtime-live-sidecar.d.ts.map +1 -0
- package/dist/runtime-live-sidecar.js +382 -0
- package/dist/runtime-live-sidecar.js.map +1 -0
- package/docs/CLI.md +55 -0
- package/docs/RUNTIME_LIVE_SIDECAR.md +142 -0
- package/docs/RUNTIME_SNAPSHOT_IMPORT.md +3 -0
- package/docs/V0_2_ROADMAP.md +3 -2
- package/package.json +3 -2
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.
|
|
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":";
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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:
|
package/docs/V0_2_ROADMAP.md
CHANGED
|
@@ -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
|
+
"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",
|