omnius 1.0.772 → 1.0.773
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/py-embed.js +11 -0
- package/dist/index.js +2 -2
- package/dist/library.js +79 -9
- package/dist/update-worker.js +112 -28
- package/docs/DISCOVERY.json +40 -1
- package/docs/DISCOVERY.md +2 -1
- package/docs/work-orders/runtime-health-remediation/TRACKER.md +5 -1
- package/docs/work-orders/runtime-health-remediation/WO-56-evidence-driven-objective-loop.md +770 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/dist/api/py-embed.js
CHANGED
|
@@ -244743,6 +244743,9 @@ var OCR_JETSON_NATIVE_PROVIDERS = Object.freeze({
|
|
|
244743
244743
|
"python3-opencv": ["python3-opencv", "libopencv-python"]
|
|
244744
244744
|
});
|
|
244745
244745
|
|
|
244746
|
+
// packages/execution/dist/python-cuda-runtime-async.js
|
|
244747
|
+
init_process_async();
|
|
244748
|
+
|
|
244746
244749
|
// packages/execution/dist/broker-mediated-backend.js
|
|
244747
244750
|
init_model_broker();
|
|
244748
244751
|
|
|
@@ -294774,6 +294777,7 @@ init_camera_capture();
|
|
|
294774
294777
|
init_process_async();
|
|
294775
294778
|
|
|
294776
294779
|
// packages/execution/dist/tools/audio-playback.js
|
|
294780
|
+
init_process_async();
|
|
294777
294781
|
init_hf_media_models();
|
|
294778
294782
|
init_cuda_device_filter();
|
|
294779
294783
|
init_model_store();
|
|
@@ -294893,7 +294897,11 @@ for line in sys.stdin:
|
|
|
294893
294897
|
print(json.dumps({"type": "error", "id": rid, "error": str(exc), "trace": traceback.format_exc(limit=3)}), flush=True)
|
|
294894
294898
|
`;
|
|
294895
294899
|
|
|
294900
|
+
// packages/execution/dist/tools/sdr-scan.js
|
|
294901
|
+
init_process_async();
|
|
294902
|
+
|
|
294896
294903
|
// packages/execution/dist/tools/meshtastic-tool.js
|
|
294904
|
+
init_process_async();
|
|
294897
294905
|
var MESH_VENV = "/tmp/mesh-venv";
|
|
294898
294906
|
var MESH_CLI = `${MESH_VENV}/bin/meshtastic`;
|
|
294899
294907
|
|
|
@@ -294905,6 +294913,9 @@ init_process_async();
|
|
|
294905
294913
|
var VENV_DIR = join5(homedir5(), ".omnius", "audio-ml-venv");
|
|
294906
294914
|
var VENV_PYTHON = join5(VENV_DIR, "bin", "python3");
|
|
294907
294915
|
|
|
294916
|
+
// packages/execution/dist/tools/gps-location.js
|
|
294917
|
+
init_process_async();
|
|
294918
|
+
|
|
294908
294919
|
// packages/execution/dist/tools/visual-memory.js
|
|
294909
294920
|
init_cuda_device_filter();
|
|
294910
294921
|
import { join as join6 } from "node:path";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/dist/index.js
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 38953449 bytes
|
|
4
|
+
sha256: cdafe820a43c103386e6e308c55edaa038ee9b0addfa377183c0576113c4596f
|
package/dist/library.js
CHANGED
|
@@ -139,6 +139,13 @@ var init_audio_input_conditioning = __esm({
|
|
|
139
139
|
}
|
|
140
140
|
});
|
|
141
141
|
|
|
142
|
+
// packages/execution/dist/shell-objective-evidence.js
|
|
143
|
+
var init_shell_objective_evidence = __esm({
|
|
144
|
+
"packages/execution/dist/shell-objective-evidence.js"() {
|
|
145
|
+
"use strict";
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
|
|
142
149
|
// packages/execution/dist/speaker-diarization-runtime.js
|
|
143
150
|
var init_speaker_diarization_runtime = __esm({
|
|
144
151
|
"packages/execution/dist/speaker-diarization-runtime.js"() {
|
|
@@ -224,6 +231,14 @@ var init_ocr_advanced_runtime = __esm({
|
|
|
224
231
|
}
|
|
225
232
|
});
|
|
226
233
|
|
|
234
|
+
// packages/execution/dist/python-cuda-runtime-async.js
|
|
235
|
+
var init_python_cuda_runtime_async = __esm({
|
|
236
|
+
"packages/execution/dist/python-cuda-runtime-async.js"() {
|
|
237
|
+
"use strict";
|
|
238
|
+
init_process_async();
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
|
|
227
242
|
// packages/execution/dist/luxtts-runtime-contract.js
|
|
228
243
|
var init_luxtts_runtime_contract = __esm({
|
|
229
244
|
"packages/execution/dist/luxtts-runtime-contract.js"() {
|
|
@@ -306,13 +321,6 @@ var init_network_egress_policy = __esm({
|
|
|
306
321
|
}
|
|
307
322
|
});
|
|
308
323
|
|
|
309
|
-
// packages/execution/dist/system-auth.js
|
|
310
|
-
var init_system_auth = __esm({
|
|
311
|
-
"packages/execution/dist/system-auth.js"() {
|
|
312
|
-
"use strict";
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
|
|
316
324
|
// packages/execution/dist/tools/log-packet.js
|
|
317
325
|
var init_log_packet = __esm({
|
|
318
326
|
"packages/execution/dist/tools/log-packet.js"() {
|
|
@@ -357,17 +365,25 @@ var init_verificationInvocation = __esm({
|
|
|
357
365
|
}
|
|
358
366
|
});
|
|
359
367
|
|
|
368
|
+
// packages/execution/dist/system-auth.js
|
|
369
|
+
var init_system_auth = __esm({
|
|
370
|
+
"packages/execution/dist/system-auth.js"() {
|
|
371
|
+
"use strict";
|
|
372
|
+
}
|
|
373
|
+
});
|
|
374
|
+
|
|
360
375
|
// packages/execution/dist/tools/shell.js
|
|
361
376
|
var init_shell = __esm({
|
|
362
377
|
"packages/execution/dist/tools/shell.js"() {
|
|
363
378
|
"use strict";
|
|
364
379
|
init_process_kill();
|
|
365
380
|
init_process_lifecycle();
|
|
366
|
-
init_system_auth();
|
|
367
381
|
init_log_packet();
|
|
368
382
|
init_desktop_control();
|
|
369
383
|
init_shell_authority();
|
|
370
384
|
init_verificationInvocation();
|
|
385
|
+
init_system_auth();
|
|
386
|
+
init_shell_objective_evidence();
|
|
371
387
|
}
|
|
372
388
|
});
|
|
373
389
|
|
|
@@ -296248,11 +296264,13 @@ var SUPERTONIC_INFER_PY, LUXTTS_DAEMON_PY, MISO_DAEMON_PY;
|
|
|
296248
296264
|
var init_audio_playback = __esm({
|
|
296249
296265
|
"packages/execution/dist/tools/audio-playback.js"() {
|
|
296250
296266
|
"use strict";
|
|
296267
|
+
init_process_async();
|
|
296251
296268
|
init_hf_media_models();
|
|
296252
296269
|
init_cuda_device_filter();
|
|
296253
296270
|
init_model_store();
|
|
296254
296271
|
init_luxtts_runtime_contract();
|
|
296255
296272
|
init_python_cuda_runtime();
|
|
296273
|
+
init_python_cuda_runtime_async();
|
|
296256
296274
|
SUPERTONIC_INFER_PY = String.raw`
|
|
296257
296275
|
import json, sys, traceback
|
|
296258
296276
|
try:
|
|
@@ -296390,6 +296408,7 @@ var init_sdr_scan = __esm({
|
|
|
296390
296408
|
"packages/execution/dist/tools/sdr-scan.js"() {
|
|
296391
296409
|
"use strict";
|
|
296392
296410
|
init_system_auth();
|
|
296411
|
+
init_process_async();
|
|
296393
296412
|
}
|
|
296394
296413
|
});
|
|
296395
296414
|
|
|
@@ -296405,6 +296424,7 @@ var MESH_VENV, MESH_CLI;
|
|
|
296405
296424
|
var init_meshtastic_tool = __esm({
|
|
296406
296425
|
"packages/execution/dist/tools/meshtastic-tool.js"() {
|
|
296407
296426
|
"use strict";
|
|
296427
|
+
init_process_async();
|
|
296408
296428
|
init_system_auth();
|
|
296409
296429
|
MESH_VENV = "/tmp/mesh-venv";
|
|
296410
296430
|
MESH_CLI = `${MESH_VENV}/bin/meshtastic`;
|
|
@@ -296439,6 +296459,7 @@ var init_gps_location = __esm({
|
|
|
296439
296459
|
"packages/execution/dist/tools/gps-location.js"() {
|
|
296440
296460
|
"use strict";
|
|
296441
296461
|
init_system_auth();
|
|
296462
|
+
init_process_async();
|
|
296442
296463
|
}
|
|
296443
296464
|
});
|
|
296444
296465
|
|
|
@@ -297149,12 +297170,14 @@ var init_dist3 = __esm({
|
|
|
297149
297170
|
init_jetson_monitor();
|
|
297150
297171
|
init_audio_classifier_runtime();
|
|
297151
297172
|
init_audio_input_conditioning();
|
|
297173
|
+
init_shell_objective_evidence();
|
|
297152
297174
|
init_speaker_diarization_runtime();
|
|
297153
297175
|
init_audio_semantic_embedding_runtime();
|
|
297154
297176
|
init_openclip_memory_admission();
|
|
297155
297177
|
init_speaker_embedding_runtime();
|
|
297156
297178
|
init_ocr_advanced_runtime();
|
|
297157
297179
|
init_python_cuda_runtime();
|
|
297180
|
+
init_python_cuda_runtime_async();
|
|
297158
297181
|
init_luxtts_runtime_contract();
|
|
297159
297182
|
init_broker_mediated_backend();
|
|
297160
297183
|
init_evidence();
|
|
@@ -300557,6 +300580,48 @@ var deliveryReceiptSchema = z19.object({
|
|
|
300557
300580
|
deliveredAtIso: timestamp2,
|
|
300558
300581
|
artifactPaths: paths.optional()
|
|
300559
300582
|
}).strict();
|
|
300583
|
+
var objectiveEvidenceKindSchema = z19.enum([
|
|
300584
|
+
"visible_response",
|
|
300585
|
+
"observation",
|
|
300586
|
+
"mutation",
|
|
300587
|
+
"verification",
|
|
300588
|
+
"delivery",
|
|
300589
|
+
"external_effect",
|
|
300590
|
+
"provider_registration",
|
|
300591
|
+
"transport",
|
|
300592
|
+
"authenticated_session",
|
|
300593
|
+
"human_input"
|
|
300594
|
+
]);
|
|
300595
|
+
var externalEffectReceiptSchema = z19.object({
|
|
300596
|
+
schema: z19.literal("omnius.external-effect-receipt.v1"),
|
|
300597
|
+
effectKind: token2,
|
|
300598
|
+
semanticTarget: token2,
|
|
300599
|
+
idempotencyKey: token2,
|
|
300600
|
+
effectState: z19.enum(["pending", "applied", "absent", "unknown"]),
|
|
300601
|
+
artifactRevision: token2.optional(),
|
|
300602
|
+
evidenceId: token2,
|
|
300603
|
+
criterionIds: z19.array(token2),
|
|
300604
|
+
evidenceKinds: z19.array(objectiveEvidenceKindSchema).optional(),
|
|
300605
|
+
destination: z19.object({ url: z19.string().url(), provider: token2 }).strict().optional()
|
|
300606
|
+
}).strict();
|
|
300607
|
+
var verificationReceiptSchema = z19.object({
|
|
300608
|
+
schema: z19.literal("omnius.verification-receipt.v1"),
|
|
300609
|
+
evidenceId: token2,
|
|
300610
|
+
criterionId: token2,
|
|
300611
|
+
artifactEvidenceId: token2,
|
|
300612
|
+
artifactRevision: token2.optional(),
|
|
300613
|
+
verifierMethod: token2,
|
|
300614
|
+
outcome: z19.enum(["passed", "artifact_failed", "verifier_invalid", "downstream_auth_required", "inconclusive"]),
|
|
300615
|
+
evidenceIds: z19.array(token2),
|
|
300616
|
+
evidenceKinds: z19.array(objectiveEvidenceKindSchema).optional()
|
|
300617
|
+
}).strict();
|
|
300618
|
+
var externalBlockerSchema = z19.object({
|
|
300619
|
+
schema: z19.literal("omnius.objective-external-blocker.v1"),
|
|
300620
|
+
criterionIds: z19.array(token2),
|
|
300621
|
+
evidenceId: token2,
|
|
300622
|
+
blockerKind: token2,
|
|
300623
|
+
retryable: z19.boolean()
|
|
300624
|
+
}).strict();
|
|
300560
300625
|
var evidenceSchema = z19.object({
|
|
300561
300626
|
id: token2,
|
|
300562
300627
|
kind: z19.literal("tool_result"),
|
|
@@ -300572,7 +300637,12 @@ var evidenceSchema = z19.object({
|
|
|
300572
300637
|
metrics: z19.record(z19.string(), z19.unknown()).optional(),
|
|
300573
300638
|
receipt: CommandEvidenceReceiptSchema.optional(),
|
|
300574
300639
|
deliveryReceipt: deliveryReceiptSchema.optional(),
|
|
300575
|
-
progressClass: z19.enum(["work_product", "control_bookkeeping", "observation", "blocker"]).optional()
|
|
300640
|
+
progressClass: z19.enum(["work_product", "control_bookkeeping", "observation", "blocker"]).optional(),
|
|
300641
|
+
criterionIds: z19.array(token2).optional(),
|
|
300642
|
+
objectiveEvidenceKinds: z19.array(objectiveEvidenceKindSchema).optional(),
|
|
300643
|
+
externalEffectReceipt: externalEffectReceiptSchema.optional(),
|
|
300644
|
+
verificationReceipt: verificationReceiptSchema.optional(),
|
|
300645
|
+
externalBlocker: externalBlockerSchema.optional()
|
|
300576
300646
|
}).strict();
|
|
300577
300647
|
var chunkSchema = z19.object({
|
|
300578
300648
|
schema: z19.literal(SCHEMA),
|
package/dist/update-worker.js
CHANGED
|
@@ -245268,6 +245268,9 @@ var OCR_JETSON_NATIVE_PROVIDERS = Object.freeze({
|
|
|
245268
245268
|
"python3-opencv": ["python3-opencv", "libopencv-python"]
|
|
245269
245269
|
});
|
|
245270
245270
|
|
|
245271
|
+
// packages/execution/dist/python-cuda-runtime-async.js
|
|
245272
|
+
init_process_async();
|
|
245273
|
+
|
|
245271
245274
|
// packages/execution/dist/broker-mediated-backend.js
|
|
245272
245275
|
init_model_broker();
|
|
245273
245276
|
|
|
@@ -295208,6 +295211,7 @@ init_camera_capture();
|
|
|
295208
295211
|
init_process_async();
|
|
295209
295212
|
|
|
295210
295213
|
// packages/execution/dist/tools/audio-playback.js
|
|
295214
|
+
init_process_async();
|
|
295211
295215
|
init_hf_media_models();
|
|
295212
295216
|
init_cuda_device_filter();
|
|
295213
295217
|
init_model_store();
|
|
@@ -295327,7 +295331,11 @@ for line in sys.stdin:
|
|
|
295327
295331
|
print(json.dumps({"type": "error", "id": rid, "error": str(exc), "trace": traceback.format_exc(limit=3)}), flush=True)
|
|
295328
295332
|
`;
|
|
295329
295333
|
|
|
295334
|
+
// packages/execution/dist/tools/sdr-scan.js
|
|
295335
|
+
init_process_async();
|
|
295336
|
+
|
|
295330
295337
|
// packages/execution/dist/tools/meshtastic-tool.js
|
|
295338
|
+
init_process_async();
|
|
295331
295339
|
var MESH_VENV = "/tmp/mesh-venv";
|
|
295332
295340
|
var MESH_CLI = `${MESH_VENV}/bin/meshtastic`;
|
|
295333
295341
|
|
|
@@ -295339,6 +295347,9 @@ init_process_async();
|
|
|
295339
295347
|
var VENV_DIR = join6(homedir6(), ".omnius", "audio-ml-venv");
|
|
295340
295348
|
var VENV_PYTHON = join6(VENV_DIR, "bin", "python3");
|
|
295341
295349
|
|
|
295350
|
+
// packages/execution/dist/tools/gps-location.js
|
|
295351
|
+
init_process_async();
|
|
295352
|
+
|
|
295342
295353
|
// packages/execution/dist/tools/visual-memory.js
|
|
295343
295354
|
init_cuda_device_filter();
|
|
295344
295355
|
import { join as join7 } from "node:path";
|
|
@@ -296449,7 +296460,7 @@ async function quiesceDaemonForUpdate(port = getDaemonPort()) {
|
|
|
296449
296460
|
}
|
|
296450
296461
|
|
|
296451
296462
|
// packages/cli/src/update-service.ts
|
|
296452
|
-
import { spawn as spawn2
|
|
296463
|
+
import { spawn as spawn2 } from "node:child_process";
|
|
296453
296464
|
import { createHash as createHash2, randomUUID as randomUUID2 } from "node:crypto";
|
|
296454
296465
|
import {
|
|
296455
296466
|
chmodSync,
|
|
@@ -296627,13 +296638,68 @@ function commandVersion(value) {
|
|
|
296627
296638
|
const match2 = value.match(/(?:^|\s)v?(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?)(?:\s|$)/);
|
|
296628
296639
|
return match2?.[1] ?? null;
|
|
296629
296640
|
}
|
|
296630
|
-
function
|
|
296631
|
-
|
|
296632
|
-
|
|
296633
|
-
|
|
296634
|
-
|
|
296635
|
-
|
|
296636
|
-
|
|
296641
|
+
async function runCommand(command, args, options = {}) {
|
|
296642
|
+
if (options.signal?.aborted) {
|
|
296643
|
+
return { status: null, stdout: "", stderr: "command cancelled", signal: null, error: new Error("command cancelled") };
|
|
296644
|
+
}
|
|
296645
|
+
return await new Promise((resolve10) => {
|
|
296646
|
+
const child = spawn2(command, args, {
|
|
296647
|
+
env: options.env ?? process.env,
|
|
296648
|
+
stdio: options.inherit ? ["ignore", "inherit", "inherit"] : ["ignore", "pipe", "pipe"],
|
|
296649
|
+
windowsHide: true,
|
|
296650
|
+
detached: process.platform !== "win32"
|
|
296651
|
+
});
|
|
296652
|
+
let stdout = "";
|
|
296653
|
+
let stderr = "";
|
|
296654
|
+
let settled = false;
|
|
296655
|
+
let stopError;
|
|
296656
|
+
let stopping = false;
|
|
296657
|
+
let timer;
|
|
296658
|
+
let forceTimer;
|
|
296659
|
+
let settlementTimer;
|
|
296660
|
+
const capture = (current, chunk) => `${current}${chunk.toString()}`.slice(-256 * 1024);
|
|
296661
|
+
const signalChild = (signal) => {
|
|
296662
|
+
try {
|
|
296663
|
+
if (child.pid && process.platform !== "win32") process.kill(-child.pid, signal);
|
|
296664
|
+
else child.kill(signal);
|
|
296665
|
+
} catch {
|
|
296666
|
+
}
|
|
296667
|
+
};
|
|
296668
|
+
const terminate = (error) => {
|
|
296669
|
+
if (stopping) return;
|
|
296670
|
+
stopping = true;
|
|
296671
|
+
stopError = error;
|
|
296672
|
+
signalChild("SIGTERM");
|
|
296673
|
+
forceTimer = setTimeout(() => signalChild("SIGKILL"), 1e3);
|
|
296674
|
+
forceTimer.unref?.();
|
|
296675
|
+
settlementTimer = setTimeout(() => finish({ status: null, stdout, stderr, signal: null, error }), 2e3);
|
|
296676
|
+
settlementTimer.unref?.();
|
|
296677
|
+
};
|
|
296678
|
+
const finish = (result) => {
|
|
296679
|
+
if (settled) return;
|
|
296680
|
+
settled = true;
|
|
296681
|
+
clearTimeout(timer);
|
|
296682
|
+
if (forceTimer) clearTimeout(forceTimer);
|
|
296683
|
+
if (settlementTimer) clearTimeout(settlementTimer);
|
|
296684
|
+
options.signal?.removeEventListener("abort", onAbort);
|
|
296685
|
+
resolve10(result);
|
|
296686
|
+
};
|
|
296687
|
+
const onAbort = () => {
|
|
296688
|
+
terminate(new Error("command cancelled"));
|
|
296689
|
+
};
|
|
296690
|
+
options.signal?.addEventListener("abort", onAbort, { once: true });
|
|
296691
|
+
child.stdout?.on("data", (chunk) => {
|
|
296692
|
+
stdout = capture(stdout, chunk);
|
|
296693
|
+
});
|
|
296694
|
+
child.stderr?.on("data", (chunk) => {
|
|
296695
|
+
stderr = capture(stderr, chunk);
|
|
296696
|
+
});
|
|
296697
|
+
child.once("error", (error) => finish({ status: null, stdout, stderr, signal: null, error }));
|
|
296698
|
+
child.once("close", (status, signal) => finish({ status, stdout, stderr, signal, ...stopError ? { error: stopError } : {} }));
|
|
296699
|
+
timer = setTimeout(() => {
|
|
296700
|
+
terminate(new Error(`command timed out after ${options.timeout ?? 15e3}ms`));
|
|
296701
|
+
}, options.timeout ?? 15e3);
|
|
296702
|
+
timer.unref?.();
|
|
296637
296703
|
});
|
|
296638
296704
|
}
|
|
296639
296705
|
function globalPackageCandidates(prefix) {
|
|
@@ -296642,9 +296708,9 @@ function globalPackageCandidates(prefix) {
|
|
|
296642
296708
|
function globalExecutableCandidates(prefix) {
|
|
296643
296709
|
return process.platform === "win32" ? [join15(prefix, "omnius.cmd"), join15(prefix, "omnius.exe"), join15(prefix, "bin", "omnius.cmd")] : [join15(prefix, "bin", "omnius")];
|
|
296644
296710
|
}
|
|
296645
|
-
function inspectGlobalOmniusInstall(expectedVersion, options = {}) {
|
|
296711
|
+
async function inspectGlobalOmniusInstall(expectedVersion, options = {}) {
|
|
296646
296712
|
const npmPath = options.npmPath ?? resolveNpmPath();
|
|
296647
|
-
const prefixResult =
|
|
296713
|
+
const prefixResult = await runCommand(npmPath, ["prefix", "-g"], { env: options.env, timeout: 1e4 });
|
|
296648
296714
|
if (prefixResult.status !== 0 || !prefixResult.stdout.trim()) {
|
|
296649
296715
|
throw new Error(`Could not resolve npm global prefix: ${prefixResult.stderr.trim() || "npm prefix -g failed"}`);
|
|
296650
296716
|
}
|
|
@@ -296658,7 +296724,7 @@ function inspectGlobalOmniusInstall(expectedVersion, options = {}) {
|
|
|
296658
296724
|
}
|
|
296659
296725
|
const executablePath = globalExecutableCandidates(npmPrefix).find(existsSync6);
|
|
296660
296726
|
if (!executablePath) throw new Error(`Global Omnius executable not found under ${npmPrefix}`);
|
|
296661
|
-
const versionResult =
|
|
296727
|
+
const versionResult = await runCommand(executablePath, ["--version"], { env: options.env, timeout: 1e4 });
|
|
296662
296728
|
const executableVersion = commandVersion(`${versionResult.stdout}
|
|
296663
296729
|
${versionResult.stderr}`) ?? "";
|
|
296664
296730
|
if (versionResult.status !== 0 || executableVersion !== expectedVersion) {
|
|
@@ -296782,7 +296848,7 @@ async function runVerifiedUpdateTransaction(initial, dependencies, paths = resol
|
|
|
296782
296848
|
}
|
|
296783
296849
|
daemonQuiesced = true;
|
|
296784
296850
|
}
|
|
296785
|
-
const prefixProbe =
|
|
296851
|
+
const prefixProbe = await runCommand(npmPath, ["prefix", "-g"], { env, timeout: 1e4 });
|
|
296786
296852
|
state = transition(state, {
|
|
296787
296853
|
phase: "installing",
|
|
296788
296854
|
npm_path: npmPath,
|
|
@@ -296794,7 +296860,7 @@ async function runVerifiedUpdateTransaction(initial, dependencies, paths = resol
|
|
|
296794
296860
|
if (installResult.exitCode !== 0) {
|
|
296795
296861
|
throw new Error(installResult.error || `npm install exited with code ${installResult.exitCode}`);
|
|
296796
296862
|
}
|
|
296797
|
-
const evidence = dependencies.inspectInstall ? await dependencies.inspectInstall(target, npmPath, env) : inspectGlobalOmniusInstall(target, { npmPath, env });
|
|
296863
|
+
const evidence = dependencies.inspectInstall ? await dependencies.inspectInstall(target, npmPath, env) : await inspectGlobalOmniusInstall(target, { npmPath, env });
|
|
296798
296864
|
state = transition(state, {
|
|
296799
296865
|
phase: "package_verified",
|
|
296800
296866
|
npm_prefix: evidence.npmPrefix,
|
|
@@ -296876,7 +296942,7 @@ async function runVerifiedUpdateTransaction(initial, dependencies, paths = resol
|
|
|
296876
296942
|
}
|
|
296877
296943
|
|
|
296878
296944
|
// packages/cli/src/tray.ts
|
|
296879
|
-
import { spawn as spawn3
|
|
296945
|
+
import { spawn as spawn3 } from "node:child_process";
|
|
296880
296946
|
import {
|
|
296881
296947
|
closeSync as closeSync4,
|
|
296882
296948
|
chmodSync as chmodSync2,
|
|
@@ -296891,7 +296957,7 @@ import {
|
|
|
296891
296957
|
writeSync as writeSync3
|
|
296892
296958
|
} from "node:fs";
|
|
296893
296959
|
import { homedir as homedir16, tmpdir as tmpdir6 } from "node:os";
|
|
296894
|
-
import { basename as basename8, dirname as dirname9, join as join17 } from "node:path";
|
|
296960
|
+
import { basename as basename8, delimiter, dirname as dirname9, join as join17 } from "node:path";
|
|
296895
296961
|
|
|
296896
296962
|
// packages/cli/src/updater.ts
|
|
296897
296963
|
import { join as join16 } from "node:path";
|
|
@@ -297004,23 +297070,41 @@ function readProcessState(path2) {
|
|
|
297004
297070
|
return null;
|
|
297005
297071
|
}
|
|
297006
297072
|
}
|
|
297007
|
-
function
|
|
297073
|
+
async function commandOutput(command, args, timeout = 2e3) {
|
|
297074
|
+
return await new Promise((resolve10) => {
|
|
297075
|
+
const child = spawn3(command, args, { stdio: ["ignore", "pipe", "ignore"], windowsHide: true });
|
|
297076
|
+
let stdout = "";
|
|
297077
|
+
let settled = false;
|
|
297078
|
+
const finish = () => {
|
|
297079
|
+
if (settled) return;
|
|
297080
|
+
settled = true;
|
|
297081
|
+
clearTimeout(timer);
|
|
297082
|
+
resolve10(stdout);
|
|
297083
|
+
};
|
|
297084
|
+
child.stdout?.on("data", (chunk) => {
|
|
297085
|
+
stdout = `${stdout}${chunk.toString()}`.slice(-64 * 1024);
|
|
297086
|
+
});
|
|
297087
|
+
child.once("error", finish);
|
|
297088
|
+
child.once("close", finish);
|
|
297089
|
+
const timer = setTimeout(() => {
|
|
297090
|
+
try {
|
|
297091
|
+
child.kill("SIGTERM");
|
|
297092
|
+
} catch {
|
|
297093
|
+
}
|
|
297094
|
+
finish();
|
|
297095
|
+
}, timeout);
|
|
297096
|
+
timer.unref?.();
|
|
297097
|
+
});
|
|
297098
|
+
}
|
|
297099
|
+
async function processCommandLine(pid) {
|
|
297008
297100
|
try {
|
|
297009
297101
|
if (process.platform === "linux") {
|
|
297010
297102
|
return readFileSync7(`/proc/${pid}/cmdline`, "utf8").replace(/\0/g, " ");
|
|
297011
297103
|
}
|
|
297012
297104
|
if (process.platform !== "win32") {
|
|
297013
|
-
return
|
|
297014
|
-
encoding: "utf8",
|
|
297015
|
-
stdio: ["ignore", "pipe", "ignore"],
|
|
297016
|
-
timeout: 2e3
|
|
297017
|
-
}).stdout.trim();
|
|
297105
|
+
return (await commandOutput("ps", ["-p", String(pid), "-o", "command="])).trim();
|
|
297018
297106
|
}
|
|
297019
|
-
return
|
|
297020
|
-
encoding: "utf8",
|
|
297021
|
-
stdio: ["ignore", "pipe", "ignore"],
|
|
297022
|
-
timeout: 2e3
|
|
297023
|
-
}).stdout;
|
|
297107
|
+
return await commandOutput("wmic", ["process", "where", `ProcessId=${pid}`, "get", "CommandLine", "/value"]);
|
|
297024
297108
|
} catch {
|
|
297025
297109
|
return "";
|
|
297026
297110
|
}
|
|
@@ -297072,7 +297156,7 @@ async function stopTray() {
|
|
|
297072
297156
|
return false;
|
|
297073
297157
|
}
|
|
297074
297158
|
const state = readProcessState(paths.stateFile);
|
|
297075
|
-
if (state?.pid !== pid || !trayProcessCommandLooksOwned(processCommandLine(pid))) {
|
|
297159
|
+
if (state?.pid !== pid || !trayProcessCommandLooksOwned(await processCommandLine(pid))) {
|
|
297076
297160
|
return false;
|
|
297077
297161
|
}
|
|
297078
297162
|
try {
|
|
@@ -297094,7 +297178,7 @@ async function stopTray() {
|
|
|
297094
297178
|
}
|
|
297095
297179
|
await new Promise((resolve10) => setTimeout(resolve10, 100));
|
|
297096
297180
|
}
|
|
297097
|
-
if (!trayProcessCommandLooksOwned(processCommandLine(pid))) return false;
|
|
297181
|
+
if (!trayProcessCommandLooksOwned(await processCommandLine(pid))) return false;
|
|
297098
297182
|
try {
|
|
297099
297183
|
process.kill(pid, "SIGKILL");
|
|
297100
297184
|
} catch {
|
package/docs/DISCOVERY.json
CHANGED
|
@@ -33419,7 +33419,7 @@
|
|
|
33419
33419
|
"id": "guide.work-orders-runtime-health-remediation-tracker-uppercase",
|
|
33420
33420
|
"kind": "guide",
|
|
33421
33421
|
"title": "Runtime Health Remediation Master Tracker",
|
|
33422
|
-
"summary": "Authority: canonical granular tracker for RHR-2026-09-02 Checked-item rule: code, focused tests, and named evidence must all exist Last reconciled: 2026-09-
|
|
33422
|
+
"summary": "Authority: canonical granular tracker for RHR-2026-09-02 Checked-item rule: code, focused tests, and named evidence must all exist Last reconciled: 2026-09-27",
|
|
33423
33423
|
"keywords": [
|
|
33424
33424
|
"work",
|
|
33425
33425
|
"orders",
|
|
@@ -35789,6 +35789,45 @@
|
|
|
35789
35789
|
}
|
|
35790
35790
|
]
|
|
35791
35791
|
},
|
|
35792
|
+
{
|
|
35793
|
+
"id": "guide.work-orders-runtime-health-remediation-wo-56-evidence-driven-objective-loop-uppercase",
|
|
35794
|
+
"kind": "guide",
|
|
35795
|
+
"title": "WO-56: Evidence-driven objective loop and nonblocking execution",
|
|
35796
|
+
"summary": "Status: repository implementation complete; live Telegram acceptance remains an external gate Priority: P0 Incident: September 27, 2026, Telegram SSH-over-Cloudflare task spiral and TUI freeze Owner: Omnius orchestration, execution, and Telegram runtime Depends on: WO-05, WO-21, WO-27, WO-41, WO-44, WO-49, WO-54, WO-55 Completion rule: A checkbox may be mark",
|
|
35797
|
+
"keywords": [
|
|
35798
|
+
"work",
|
|
35799
|
+
"orders",
|
|
35800
|
+
"runtime",
|
|
35801
|
+
"health",
|
|
35802
|
+
"remediation",
|
|
35803
|
+
"WO",
|
|
35804
|
+
"56",
|
|
35805
|
+
"evidence",
|
|
35806
|
+
"driven",
|
|
35807
|
+
"objective",
|
|
35808
|
+
"loop",
|
|
35809
|
+
"md"
|
|
35810
|
+
],
|
|
35811
|
+
"maturity": "internal",
|
|
35812
|
+
"audiences": [
|
|
35813
|
+
"maintainer",
|
|
35814
|
+
"large-context-agent"
|
|
35815
|
+
],
|
|
35816
|
+
"layer": "documentation",
|
|
35817
|
+
"interfaces": [
|
|
35818
|
+
{
|
|
35819
|
+
"type": "file",
|
|
35820
|
+
"target": "docs/work-orders/runtime-health-remediation/WO-56-evidence-driven-objective-loop.md"
|
|
35821
|
+
}
|
|
35822
|
+
],
|
|
35823
|
+
"references": [
|
|
35824
|
+
{
|
|
35825
|
+
"type": "documentation",
|
|
35826
|
+
"target": "docs/work-orders/runtime-health-remediation/WO-56-evidence-driven-objective-loop.md",
|
|
35827
|
+
"relation": "canonical-artifact"
|
|
35828
|
+
}
|
|
35829
|
+
]
|
|
35830
|
+
},
|
|
35792
35831
|
{
|
|
35793
35832
|
"id": "guide.work-orders-telegram-dmn-wo-22-dmn-outreach-and-learning-uppercase",
|
|
35794
35833
|
"kind": "guide",
|
package/docs/DISCOVERY.md
CHANGED
|
@@ -545,7 +545,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
545
545
|
| `guide.work-orders-runtime-health-remediation-telegram-longhaul-2026-09-04-uppercase` | September 4 Telegram long-haul remediation | Status: complete; all five root repairs verified and delivered to origin/main Baseline: Omnius main 69c4a160; installed package 1.0.694 Incident run: telegram-64ac9937dc7647a8-1788572475259-1 Observation window: 2026-09-04 18:41–20:43 PDT Owner: repository repair; user owns publication and subsequent live testing |
|
|
546
546
|
| `guide.work-orders-runtime-health-remediation-tool-quality-2026-09-05-uppercase` | September 5 tool-quality and live-behavior follow-up | Status: WO-30 through WO-42 complete in repository; full verification passed; delivered to origin/main for user publication Repository baseline: 501e8394 on origin/main Verified source head: 7005aa41; subsequent closure changes are documentation only Observed running package: 1.0.695, verified from its actual executable/package path User scope: monitor live |
|
|
547
547
|
| `guide.work-orders-runtime-health-remediation-traceability-uppercase` | Runtime Health Remediation Traceability Matrix | Every completed row links to a deterministic test or operational receipt. A commit hash alone is not proof. A model statement is not proof. Live logs may support a canary only after the hermetic and deterministic gates pass. A status that names pending rollout or live work is intentionally not a completion claim. |
|
|
548
|
-
| `guide.work-orders-runtime-health-remediation-tracker-uppercase` | Runtime Health Remediation Master Tracker | Authority: canonical granular tracker for RHR-2026-09-02 Checked-item rule: code, focused tests, and named evidence must all exist Last reconciled: 2026-09-
|
|
548
|
+
| `guide.work-orders-runtime-health-remediation-tracker-uppercase` | Runtime Health Remediation Master Tracker | Authority: canonical granular tracker for RHR-2026-09-02 Checked-item rule: code, focused tests, and named evidence must all exist Last reconciled: 2026-09-27 |
|
|
549
549
|
| `guide.work-orders-runtime-health-remediation-wo-00-hermetic-test-boundary-uppercase` | WO-00: Hermetic Test Boundary | Status: deterministic acceptance complete Evidence: inference network inventory and audit receipt for commit 8708e449 Risk: high, because current unit tests can contact the live broker Depends on: none |
|
|
550
550
|
| `guide.work-orders-runtime-health-remediation-wo-00-inference-network-inventory-uppercase` | WO-00 Inference Network Inventory | This document describes the machine-checked boundary for production inference clients. The canonical inventory is test-support/inference-network-registry.ts. |
|
|
551
551
|
| `guide.work-orders-runtime-health-remediation-wo-01-inference-pressure-scheduler-uppercase` | WO-01: Foreground and Background Inference Pressure Scheduler | Status: deterministic acceptance complete Evidence: production Telegram cognition integration and controlled-load foreground exclusion Risk: critical, because background work currently competes with user work Depends on: WO-00 |
|
|
@@ -607,6 +607,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
607
607
|
| `guide.work-orders-runtime-health-remediation-wo-53-deferred-reflection-churn-uppercase` | WO-53: Stop duplicate deferred reflection writes | Status: scoped source repair verified; publication remains with the operator. Issue: https://github.com/robit-man/open-agents/issues/3 |
|
|
608
608
|
| `guide.work-orders-runtime-health-remediation-wo-54-case-theory-router-deferral-recovery-uppercase` | WO-54: Case Theory router deferral recovery | Status: complete Priority: P0 Incident: September 26, 2026, Case Theory messages 455–456 Runtime observed: globally installed Omnius 1.0.764 Owner: current implementation session |
|
|
609
609
|
| `guide.work-orders-runtime-health-remediation-wo-55-telegram-pressure-recovery-uppercase` | WO-55: Telegram pressure recovery without silent terminal states | Status: complete Priority: P0 Incident: September 26, 2026, Case Theory messages 458-461 Owner: current implementation session |
|
|
610
|
+
| `guide.work-orders-runtime-health-remediation-wo-56-evidence-driven-objective-loop-uppercase` | WO-56: Evidence-driven objective loop and nonblocking execution | Status: repository implementation complete; live Telegram acceptance remains an external gate Priority: P0 Incident: September 27, 2026, Telegram SSH-over-Cloudflare task spiral and TUI freeze Owner: Omnius orchestration, execution, and Telegram runtime Depends on: WO-05, WO-21, WO-27, WO-41, WO-44, WO-49, WO-54, WO-55 Completion rule: A checkbox may be mark |
|
|
610
611
|
| `guide.work-orders-telegram-dmn-wo-22-dmn-outreach-and-learning-uppercase` | WO-22: DMN outreach, DM sharing, and outcome learning | On 2026-09-03 at 17:07 PDT the bot posted in the OMNIUS group without being addressed. The operator asked whether this was self-induced reflection. |
|
|
611
612
|
| `guide.work-orders-telegram-dropbear-context-rca-workorder` | Telegram Dropbear Context Engineering RCA Work Order | Observed run: /home/roko/Documents/Projects/Adjacent/telegramtest/.omnius, run id 1782873796963-i5r7mv. |
|
|
612
613
|
| `guide.work-orders-wo-am-gaps-uppercase` | Associative Memory Gap Work Orders | Generated: 2026-04-13 Source: Deep audit of multimodal associative memory systems Status: READY FOR IMPLEMENTATION |
|
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
**Authority:** canonical granular tracker for RHR-2026-09-02
|
|
4
4
|
**Checked-item rule:** code, focused tests, and named evidence must all exist
|
|
5
|
-
**Last reconciled:** 2026-09-
|
|
5
|
+
**Last reconciled:** 2026-09-27
|
|
6
|
+
|
|
7
|
+
## September 27 evidence-driven objective loop and TUI responsiveness
|
|
8
|
+
|
|
9
|
+
- [ ] [WO-56: Evidence-driven objective loop and nonblocking execution](WO-56-evidence-driven-objective-loop.md): reconcile every tool result against an immutable request-specific objective, prevent duplicate successful external effects, distinguish verifier failure from artifact failure, suspend and resume natural clarification durably, preserve verified Telegram delivery, and remove blocking privilege execution from the TUI event loop.
|
|
6
10
|
|
|
7
11
|
## September 26 Case Theory pressure recovery
|
|
8
12
|
|