omnius 1.0.854 → 1.0.855

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/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/dist/index.js
3
- size: 37284680 bytes
4
- sha256: 1c385603d694ff5ca04edf20af158b1f75895e96b900e603a9063112fe2a257c
3
+ size: 37300551 bytes
4
+ sha256: 1c51f6f647513d3b3f43c2ed42d9aa3ea3bb56eeb0a27aab4daf63cdd85e5625
package/dist/library.js CHANGED
@@ -408185,6 +408185,7 @@ ${dynamicProjectContext}`
408185
408185
  let completed = false;
408186
408186
  let summary = "";
408187
408187
  let acceptedCompletionReply;
408188
+ let retainedWorkCompletionReply;
408188
408189
  const completionReplyOwners = /* @__PURE__ */ new Map();
408189
408190
  const sameResponseTelegramCompletionReplies = /* @__PURE__ */ new Map();
408190
408191
  const telegramOnlyCompletionCallIds = /* @__PURE__ */ new Set();
@@ -408193,6 +408194,13 @@ ${dynamicProjectContext}`
408193
408194
  const currentTelegramCompletionObjectiveScope = () => {
408194
408195
  return this._telegramCompletionObjectiveScope();
408195
408196
  };
408197
+ const currentTelegramCompletionNativePolicy = () => taskExecutionDigest({
408198
+ nativeScope: this.options.taskNativeScope ?? null,
408199
+ objective: this._taskObjectiveContract ? {
408200
+ ...this._taskObjectiveContract,
408201
+ criteria: this._taskObjectiveContract.criteria.map(({ status: _status, ...criterion }) => criterion)
408202
+ } : null
408203
+ });
408196
408204
  const acceptedTaskCompleteArgs = (tc, result, completionTurn) => {
408197
408205
  const restored = result.completionRestoredPayload;
408198
408206
  const owner = completionReplyOwners.get(tc.id);
@@ -408207,12 +408215,10 @@ ${dynamicProjectContext}`
408207
408215
  ...restored.missingCriterionIds !== void 0 ? { missing_criterion_ids: [...restored.missingCriterionIds] } : {}
408208
408216
  };
408209
408217
  };
408210
- const captureAcceptedCompletionReply = (toolCallId, args, completionTurn) => {
408218
+ const currentCompletionReplyCandidate = (toolCallId, args, completionTurn) => {
408211
408219
  const owner = completionReplyOwners.get(toolCallId);
408212
- if (this._isTelegramSurface() && (!owner || owner.runId !== this.currentArtifactRunId() || owner.taskEpoch !== this._taskEpoch || owner.turn !== completionTurn || owner.objectiveScope !== currentTelegramCompletionObjectiveScope())) {
408213
- acceptedCompletionReply = void 0;
408214
- acceptedVisibleConversationResponse = false;
408215
- return;
408220
+ if (this._isTelegramSurface() && (!owner || owner.runId !== this.currentArtifactRunId() || owner.taskEpoch !== this._taskEpoch || owner.turn !== completionTurn || owner.objectiveScope !== currentTelegramCompletionObjectiveScope() || owner.nativePolicy !== currentTelegramCompletionNativePolicy())) {
408221
+ return void 0;
408216
408222
  }
408217
408223
  const rawUserReply = typeof args["user_reply"] === "string" ? args["user_reply"].trim() : "";
408218
408224
  const sameResponseBinding = sameResponseTelegramCompletionReplies.get(toolCallId);
@@ -408220,7 +408226,8 @@ ${dynamicProjectContext}`
408220
408226
  const explicitText = sameResponseBinding && rawUserReply === sameResponseBinding.text ? "" : rawUserReply;
408221
408227
  const modelText = this._isTelegramSurface() ? void 0 : this._latestModelVisibleAssistantText;
408222
408228
  const text12 = explicitText || sameResponseText || (modelText?.runId === this.currentArtifactRunId() && modelText.taskEpoch === this._taskEpoch ? modelText.text : "");
408223
- acceptedCompletionReply = text12 ? {
408229
+ return text12 ? {
408230
+ nativePolicy: currentTelegramCompletionNativePolicy(),
408224
408231
  text: text12,
408225
408232
  toolCallId,
408226
408233
  runId: this.currentArtifactRunId(),
@@ -408229,7 +408236,10 @@ ${dynamicProjectContext}`
408229
408236
  ...owner?.objectiveFingerprint ? { objectiveFingerprint: owner.objectiveFingerprint } : {},
408230
408237
  source: explicitText ? "task_complete_user_reply" : sameResponseText ? sameResponseBinding.source : "model_visible_text"
408231
408238
  } : void 0;
408232
- acceptedVisibleConversationResponse = Boolean(text12);
408239
+ };
408240
+ const captureAcceptedCompletionReply = (toolCallId, args, completionTurn) => {
408241
+ acceptedCompletionReply = currentCompletionReplyCandidate(toolCallId, args, completionTurn);
408242
+ acceptedVisibleConversationResponse = Boolean(acceptedCompletionReply);
408233
408243
  };
408234
408244
  let acceptedTaskCompleteStatus;
408235
408245
  let acceptedTaskCompleteOverride;
@@ -408890,7 +408900,7 @@ ${lastCompletionGateFeedback.trim().slice(0, 4e3)}` : ""
408890
408900
  }
408891
408901
  return true;
408892
408902
  };
408893
- const holdTaskCompleteGates = (args, turn) => {
408903
+ const holdTaskCompleteGates = (args, turn, acceptedToolCallId) => {
408894
408904
  acceptedTaskCompleteStatus = completionStatusFromTaskCompleteArgs(args);
408895
408905
  const overrideReason = typeof args["override_reason"] === "string" ? args["override_reason"].trim() : "";
408896
408906
  acceptedTaskCompleteOverride = {
@@ -408922,8 +408932,30 @@ ${lastCompletionGateFeedback.trim().slice(0, 4e3)}` : ""
408922
408932
  this._completionLedger = reconcileClaimsWithEvidence(this._completionLedger);
408923
408933
  this._refreshIntegrationClosure();
408924
408934
  }
408925
- if (this.options.expectedOutcomeContract)
408935
+ if (this.options.expectedOutcomeContract) {
408936
+ if (!["blocked", "incomplete", "needs_input"].includes(acceptedTaskCompleteStatus ?? "")) {
408937
+ const assessment = this._currentExpectedOutcomeAssessment();
408938
+ const missingWork = assessment?.missingEffects.filter((effect) => effect !== "visible_response" && effect !== "delivery") ?? [];
408939
+ if (missingWork.length > 0) {
408940
+ if (acceptedToolCallId)
408941
+ retainedWorkCompletionReply = currentCompletionReplyCandidate(acceptedToolCallId, args, turn);
408942
+ const open4 = this._objectiveFrontier?.criteria.filter((criterion) => criterion.status !== "satisfied").map((criterion) => criterion.id) ?? [];
408943
+ return holdAuthoritativeCompletionDeficit({
408944
+ code: "expected_outcome_work",
408945
+ reason: `Missing required work evidence: ${missingWork.join(", ")}`,
408946
+ feedback: [
408947
+ "[COMPLETION BLOCKED — required work evidence]",
408948
+ `Missing required work effects: ${missingWork.join(", ")}.`,
408949
+ ...open4.length ? [`Current unresolved criteria: ${open4.join(", ")}.`] : [],
408950
+ "The adapter accepted the exact answer draft, not proof that the missing work occurred or that Telegram received it.",
408951
+ "Keep this same task, runner, workspace and exact user_reply. Use the admitted tools to gather only the missing evidence, then retry task_complete with the same answer unless the actual findings require a correction.",
408952
+ "Do not redraft merely to satisfy this gate, repeat successful source acquisition, restart planning, or fabricate an observation or provider acknowledgement. If genuinely blocked, report an honest incomplete status or one concrete needs_input question."
408953
+ ].join("\n")
408954
+ }, args, turn);
408955
+ }
408956
+ }
408926
408957
  return false;
408958
+ }
408927
408959
  const authoritativeDeficit = authoritativeCompletionDeficit(turn);
408928
408960
  if (authoritativeDeficit) {
408929
408961
  return holdAuthoritativeCompletionDeficit(authoritativeDeficit, args, turn);
@@ -409049,6 +409081,7 @@ ${lastCompletionGateFeedback.trim().slice(0, 4e3)}` : ""
409049
409081
  const evidenceCallId = `${tc.id}:${crypto.randomUUID()}`;
409050
409082
  if (tc.name === "task_complete") {
409051
409083
  completionReplyOwners.set(tc.id, {
409084
+ nativePolicy: currentTelegramCompletionNativePolicy(),
409052
409085
  runId: evidenceScope.runId,
409053
409086
  taskEpoch: evidenceScope.taskEpoch,
409054
409087
  turn,
@@ -414663,7 +414696,7 @@ ${transportFailure2}` : transportFailure2;
414663
414696
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
414664
414697
  });
414665
414698
  } else {
414666
- if (holdTaskCompleteGates(taskCompleteArgs, turn)) {
414699
+ if (holdTaskCompleteGates(taskCompleteArgs, turn, sr.result.completionAdmission === "accepted" ? matchTc.id : void 0)) {
414667
414700
  if (this._completionIncompleteVerification)
414668
414701
  break;
414669
414702
  continue;
@@ -414737,7 +414770,7 @@ ${transportFailure2}` : transportFailure2;
414737
414770
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
414738
414771
  });
414739
414772
  } else {
414740
- if (holdTaskCompleteGates(taskCompleteArgs, turn)) {
414773
+ if (holdTaskCompleteGates(taskCompleteArgs, turn, r.completionAdmission === "accepted" ? r.tc.id : void 0)) {
414741
414774
  if (this._completionIncompleteVerification)
414742
414775
  break;
414743
414776
  continue;
@@ -414856,7 +414889,7 @@ ${transportFailure2}` : transportFailure2;
414856
414889
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
414857
414890
  });
414858
414891
  } else {
414859
- if (holdTaskCompleteGates(taskCompleteArgs, turn)) {
414892
+ if (holdTaskCompleteGates(taskCompleteArgs, turn, r.completionAdmission === "accepted" ? r.tc.id : void 0)) {
414860
414893
  if (this._completionIncompleteVerification)
414861
414894
  break;
414862
414895
  continue;
@@ -415801,7 +415834,7 @@ ${diagnosis}` : diagnosis;
415801
415834
  timestamp: (/* @__PURE__ */ new Date()).toISOString()
415802
415835
  });
415803
415836
  } else {
415804
- if (holdTaskCompleteGates(taskCompleteArgs, turn)) {
415837
+ if (holdTaskCompleteGates(taskCompleteArgs, turn, r.completionAdmission === "accepted" ? r.tc.id : void 0)) {
415805
415838
  if (this._completionIncompleteVerification)
415806
415839
  break;
415807
415840
  continue;
@@ -417227,6 +417260,8 @@ Result: ${summary.slice(0, 330)}`,
417227
417260
  await this._deferredMemoryQueue;
417228
417261
  } catch {
417229
417262
  }
417263
+ const missingRetainedWorkEffects = expectedOutcomeAssessment?.missingEffects.filter((effect) => effect !== "visible_response" && effect !== "delivery") ?? [];
417264
+ const retainedWorkReplyIsCurrent = Boolean(this._isTelegramSurface() && retainedWorkCompletionReply && terminalReceipt && !completed && !this.aborted && !this._pendingSteeringPreemption && !terminalReceipt.runtimeFailure && !this.taskRequirementInterpretationPending && !this._hasUnresolvedCurrentSteeringInputs() && !declaredDegradedCompletion && missingRetainedWorkEffects.length > 0 && retainedWorkCompletionReply.runId === this.currentArtifactRunId() && retainedWorkCompletionReply.taskEpoch === this._taskEpoch && retainedWorkCompletionReply.taskEpoch === terminalReceipt.taskEpoch && retainedWorkCompletionReply.objectiveScope === currentTelegramCompletionObjectiveScope() && retainedWorkCompletionReply.nativePolicy === currentTelegramCompletionNativePolicy());
417230
417265
  const declaredIncompleteReplyIsCurrent = Boolean(acceptedTaskCompleteStatus === "incomplete" && runStatus === "incomplete" && !this.aborted && !terminalReceipt?.runtimeFailure && terminalReceipt?.status === "incomplete" && acceptedCompletionReply?.source === "task_complete_user_reply" && acceptedCompletionReply.runId === this.currentArtifactRunId() && acceptedCompletionReply.taskEpoch === this._taskEpoch && acceptedCompletionReply.objectiveScope === currentTelegramCompletionObjectiveScope());
417231
417266
  return {
417232
417267
  status: runStatus,
@@ -417254,6 +417289,19 @@ Result: ${summary.slice(0, 330)}`,
417254
417289
  terminalReceiptId: terminalReceipt.id,
417255
417290
  authority: declaredIncompleteReplyIsCurrent ? "declared_incomplete" : providerDeliveryIsOnlyRemainingEffect || providerDeliveryEffectsArePending ? "provider_delivery_pending" : "router_expected_effect_mismatch"
417256
417291
  } : void 0,
417292
+ ...retainedWorkReplyIsCurrent && retainedWorkCompletionReply && terminalReceipt ? {
417293
+ retainedCompletionReply: {
417294
+ schema: "omnius.retained-completion-reply.v1",
417295
+ authority: "pending_work_evidence",
417296
+ text: retainedWorkCompletionReply.text,
417297
+ toolCallId: retainedWorkCompletionReply.toolCallId,
417298
+ runId: terminalReceipt.runId,
417299
+ taskEpoch: retainedWorkCompletionReply.taskEpoch,
417300
+ terminalReceiptId: terminalReceipt.id,
417301
+ objectiveScope: retainedWorkCompletionReply.objectiveScope,
417302
+ missingEffects: missingRetainedWorkEffects
417303
+ }
417304
+ } : {},
417257
417305
  durationMs,
417258
417306
  filesEdited,
417259
417307
  testsRun,
@@ -33442,6 +33442,43 @@
33442
33442
  }
33443
33443
  ]
33444
33444
  },
33445
+ {
33446
+ "id": "guide.work-orders-evidence-telegram-retained-source-handoff-live-20261013",
33447
+ "kind": "guide",
33448
+ "title": "Telegram Retained Source Handoff Live 20261013",
33449
+ "summary": "Bundled Omnius documentation artifact: docs/work-orders/evidence/telegram-retained-source-handoff-live-20261013.json.",
33450
+ "keywords": [
33451
+ "work",
33452
+ "orders",
33453
+ "evidence",
33454
+ "telegram",
33455
+ "retained",
33456
+ "source",
33457
+ "handoff",
33458
+ "live",
33459
+ "20261013",
33460
+ "json"
33461
+ ],
33462
+ "maturity": "internal",
33463
+ "audiences": [
33464
+ "maintainer",
33465
+ "large-context-agent"
33466
+ ],
33467
+ "layer": "documentation",
33468
+ "interfaces": [
33469
+ {
33470
+ "type": "file",
33471
+ "target": "docs/work-orders/evidence/telegram-retained-source-handoff-live-20261013.json"
33472
+ }
33473
+ ],
33474
+ "references": [
33475
+ {
33476
+ "type": "documentation",
33477
+ "target": "docs/work-orders/evidence/telegram-retained-source-handoff-live-20261013.json",
33478
+ "relation": "canonical-artifact"
33479
+ }
33480
+ ]
33481
+ },
33445
33482
  {
33446
33483
  "id": "guide.work-orders-evidence-terminal-review-contract-probe-20261012",
33447
33484
  "kind": "guide",
@@ -38792,6 +38829,42 @@
38792
38829
  }
38793
38830
  ]
38794
38831
  },
38832
+ {
38833
+ "id": "guide.work-orders-wo-telegram-retained-source-handoff-20261013-uppercase",
38834
+ "kind": "guide",
38835
+ "title": "Recover accepted Telegram drafts without restarting completed work",
38836
+ "summary": "Status: implementation and installed-package live verification complete. Follow-up to the Case Theory stall on installed Omnius 1.0.854, PID 161677, running from telegramtest. Publication and bot restart remain operator-owned.",
38837
+ "keywords": [
38838
+ "work",
38839
+ "orders",
38840
+ "WO",
38841
+ "telegram",
38842
+ "retained",
38843
+ "source",
38844
+ "handoff",
38845
+ "20261013",
38846
+ "md"
38847
+ ],
38848
+ "maturity": "internal",
38849
+ "audiences": [
38850
+ "maintainer",
38851
+ "large-context-agent"
38852
+ ],
38853
+ "layer": "documentation",
38854
+ "interfaces": [
38855
+ {
38856
+ "type": "file",
38857
+ "target": "docs/work-orders/WO-telegram-retained-source-handoff-20261013.md"
38858
+ }
38859
+ ],
38860
+ "references": [
38861
+ {
38862
+ "type": "documentation",
38863
+ "target": "docs/work-orders/WO-telegram-retained-source-handoff-20261013.md",
38864
+ "relation": "canonical-artifact"
38865
+ }
38866
+ ]
38867
+ },
38795
38868
  {
38796
38869
  "id": "guide.work-orders-wo-telegram-unavailable-review-presentation-20261012-uppercase",
38797
38870
  "kind": "guide",
package/docs/DISCOVERY.md CHANGED
@@ -546,6 +546,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
546
546
  | `guide.work-orders-evidence-telegram-all-free-live-20261013` | Telegram All Free Live 20261013 | Bundled Omnius documentation artifact: docs/work-orders/evidence/telegram-all-free-live-20261013.json. |
547
547
  | `guide.work-orders-evidence-telegram-completion-review-live-20261013` | Telegram Completion Review Live 20261013 | Bundled Omnius documentation artifact: docs/work-orders/evidence/telegram-completion-review-live-20261013.json. |
548
548
  | `guide.work-orders-evidence-telegram-native-planning-live-20261013` | Telegram Native Planning Live 20261013 | Bundled Omnius documentation artifact: docs/work-orders/evidence/telegram-native-planning-live-20261013.json. |
549
+ | `guide.work-orders-evidence-telegram-retained-source-handoff-live-20261013` | Telegram Retained Source Handoff Live 20261013 | Bundled Omnius documentation artifact: docs/work-orders/evidence/telegram-retained-source-handoff-live-20261013.json. |
549
550
  | `guide.work-orders-evidence-terminal-review-contract-probe-20261012` | Terminal Review Contract Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/terminal-review-contract-probe-20261012.json. |
550
551
  | `guide.work-orders-evidence-terminal-review-error-probe-20261012` | Terminal Review Error Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/terminal-review-error-probe-20261012.json. |
551
552
  | `guide.work-orders-evidence-terminal-review-schema-repair-probe-20261012` | Terminal Review Schema Repair Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/terminal-review-schema-repair-probe-20261012.json. |
@@ -688,6 +689,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
688
689
  | `guide.work-orders-wo-telegram-plain-answer-and-provider-catalog-20261012-uppercase` | Preserve native Telegram answers and use compatible free inference routes | Status: implemented and verified. The user owns publication and runtime replacement. |
689
690
  | `guide.work-orders-wo-telegram-progress-presentation-20261012-uppercase` | Telegram progress presentation | Status: implemented and verified, resumed by the user with instructions to complete, commit and push. The evidenced OpenCode compatibility failure is handled in the current repair order. |
690
691
  | `guide.work-orders-wo-telegram-reply-lifecycle-20261013-uppercase` | Telegram reply lifecycle | Status: implemented and verified. The built-in-model/startup and multi-model live acceptance work continues under WO-built-in-free-model-startup-20261012.md. |
692
+ | `guide.work-orders-wo-telegram-retained-source-handoff-20261013-uppercase` | Recover accepted Telegram drafts without restarting completed work | Status: implementation and installed-package live verification complete. Follow-up to the Case Theory stall on installed Omnius 1.0.854, PID 161677, running from telegramtest. Publication and bot restart remain operator-owned. |
691
693
  | `guide.work-orders-wo-telegram-unavailable-review-presentation-20261012-uppercase` | Telegram reply presentation when an auxiliary review is unavailable | Status: implemented and verified. Publication and runtime replacement remain with the user. |
692
694
  | `guide.work-orders-world-class-memory-compiler-readme-uppercase` | World-Class Memory Compiler Program | Status: active implementation program Owner: Omnius orchestration and memory packages Last updated: 2026-07-13 |
693
695
  | `guide.work-orders-world-class-memory-compiler-tracker-uppercase` | Memory Compiler Implementation Tracker | Last reconciled: 2026-07-13 Authority: This file is the granular program tracker. The work-order documents define the contract and acceptance criteria; neither test output nor a model claim may check an item without the named evidence. |
@@ -0,0 +1,111 @@
1
+ # Recover accepted Telegram drafts without restarting completed work
2
+
3
+ Status: implementation and installed-package live verification complete.
4
+ Follow-up to the Case Theory stall on installed Omnius 1.0.854, PID 161677,
5
+ running from `telegram_test`. Publication and bot restart remain operator-owned.
6
+
7
+ ## Incident anchors
8
+
9
+ The original input is `telegram:chat:-1003960149435:0:1083`; task
10
+ `tgtask-2d2fee541b8304db4568`, bridge run `telegram:2a5a22214cf84400`,
11
+ actor run `telegram-84e4e6e5411c9753-1791918893130-1`.
12
+ The input explicitly addresses the bot while replying to an independently
13
+ adopted message 1081 by another participant. Private source and draft text are
14
+ not copied here or sent to the synthetic live test.
15
+
16
+ - 19:15:01Z: Telegram progress delivery succeeds.
17
+ - 19:15:39Z: `task_complete` accepts a full answer for deferred Telegram
18
+ delivery. The actor did draft an answer; this was not a generation failure.
19
+ - Finalization `terminal-3e4feb48f9f23fd29a87` records
20
+ `incomplete_verification`: required observation and visible response have no
21
+ canonical receipts. The source-answer review's support verdict is separate
22
+ from actual observation or provider delivery evidence.
23
+ - The old runner exits immediately on the accepted completion despite missing
24
+ work, filters the full answer from its return, and gives terminal review an
25
+ empty candidate. Review requests another action run.
26
+ - Continuation reopens the unchanged source and falsely rejects it as
27
+ `original_native_source_changed`: it compares every adopted source's author
28
+ to the current task owner. Initial admission had correctly preserved the
29
+ independently adopted participant's author. Both native envelopes and text
30
+ hashes still match their immutable spool/requirement bases.
31
+ - At 19:22:02Z the exhausted planning transition becomes
32
+ `reconciliation_required`. `missing_action_tool_names` is the generic
33
+ diagnostic after the host removes a rejected plan, not evidence that the
34
+ model independently omitted tools. Public chat gets no paused status.
35
+ - A later human follow-up 1086 obtains assistant reply 1089 at 19:30:36Z. The
36
+ original request required another prompt to recover; it was not deliberately
37
+ ignored by the attention router.
38
+
39
+ The installed incident bundle SHA256 is
40
+ `1c385603d694ff5ca04edf20af158b1f75895e96b900e603a9063112fe2a257c`.
41
+
42
+ ## Ordered repairs
43
+
44
+ 1. Validate retained adopted sources against each source's admitted actor,
45
+ envelope, text basis, topic and immutable custody. The original task owner
46
+ still owns the task. Legacy actorless locators retain the owner-only rule.
47
+ 2. Before leaving an accepted completion, check required non-provider work
48
+ effects. Keep the same runner, tools, workspace and exact answer while
49
+ gathering only the missing evidence. Use the existing bounded completion
50
+ budget. Do not hold for visibility or provider delivery alone.
51
+ 3. On bounded exhaustion, retain the exact accepted draft as typed
52
+ `pending_work_evidence` metadata. It cannot become a deliverable, successful
53
+ observation, provider ACK or completed objective. Reopen the exact committed
54
+ terminal marker and native source custody before exposing it to review.
55
+ 4. For an already admitted public human task whose planning recovery stops,
56
+ send one brief paused status with the original issued reply grant/topic.
57
+ Preserve Stop, later-human preemption, native ownership, durable attempt
58
+ deduplication and physical ACK checks. Keep status separate from task result
59
+ and effect receipts; never broadcast ambient or peer-bot failures.
60
+ 5. Verify isolated source, full package rebuild, tarball and fresh install.
61
+ Run the installed production runner with real remote free-model responses
62
+ and a real source read on synthetic data. Make a scoped commit and push.
63
+
64
+ ## Source locations
65
+
66
+ - `packages/orchestrator/src/agenticRunner.ts`: completion reply ownership,
67
+ required-work hold, bounded retention and result handoff.
68
+ - `packages/cli/src/tui/telegram-bridge.ts`: retained native source validation,
69
+ terminal review draft context and public paused-task ownership/dispatch.
70
+ - `packages/cli/src/tui/telegram-planning-failure-notice.ts`: fixed public status
71
+ and existing durable exclusive attempt store.
72
+ - `scripts/live-telegram-retained-work-harness.mjs`: synthetic installed-runtime
73
+ live acceptance. It pins the eligible Muse endpoint, bounds requests, forbids
74
+ local inference and Telegram sends, and invents no model/catalog replies.
75
+
76
+ ## Verification
77
+
78
+ All 66 new regressions passed: 13 runner repair, 11 adopted-source custody,
79
+ 9 retained-draft Bridge custody, and 33 public paused-status cases. The isolated
80
+ orchestrator batch passed 62/62. The broader isolated CLI batch passed 199/201;
81
+ its two old source/owner guard final-state assertions fail identically on
82
+ untouched, fully compiled `ba291791`. An additional existing terminal-review
83
+ fixture fails on that same baseline (17 other cases pass). These are recorded
84
+ test limitations, not an assertion that the entire suite is green; no custody
85
+ guard or test assertion was relaxed to obtain success.
86
+
87
+ The full isolated workspace rebuild, 571-file tarball audit (zero warnings),
88
+ and compiler-free fresh npm installation passed. The installed candidate uses
89
+ the tracked test manifest version 1.0.790; it is identified by bundle SHA256
90
+ `c78a20f7d05ef313e2226211235fb57402a52249aa366b7274a8a1cc28479a5f`,
91
+ not an npm publication or replacement of the operator's runtime.
92
+
93
+ The real installed Muse run passed in 16.7 seconds, with three HTTP 200 streamed
94
+ Responses requests and the sequence `task_complete → file_read → task_complete`.
95
+ Exactly one bounded required-work hold preceded one actual production
96
+ `FileReadTool` read. Both completion submissions have the same exact answer
97
+ hash. Observation becomes satisfied; only visible response remains pending.
98
+ The runner returns `provider_delivery_pending`, no retained-only draft, no
99
+ accepted/completed result, and zero provider ACKs. Model/catalog replies were
100
+ not mocked; all source content was synthetic and no Telegram message was sent.
101
+
102
+ This live test covers the installed runner and real source tool with a
103
+ host-owned scratch acceptance adapter. It does not exercise real Telegram
104
+ ingress/reply grants, the Bridge source-answer critic, or Telegram API delivery.
105
+ Actual paused dispatch/source custody are covered by the focused synthetic
106
+ transport tests. Actual Telegram delivery and typing visibility require the
107
+ operator's updated publication/restart; no live conversation state is modified
108
+ by this repair or test. [Safe receipts](evidence/telegram-retained-source-handoff-live-20261013.json)
109
+ retain hashes and synthetic diagnostics without private source/draft text.
110
+
111
+ Architecture: [separate review, delivery and task states](../../.aiwg/architecture/adr-completion-review-delivery-states-20261013.md).
@@ -0,0 +1,335 @@
1
+ {
2
+ "schema": "omnius.telegram-retained-source-handoff-evidence.v1",
3
+ "incident": {
4
+ "installedVersion": "1.0.854",
5
+ "mainPid": 161677,
6
+ "session": "chat:-1003960149435",
7
+ "inputId": "telegram:chat:-1003960149435:0:1083",
8
+ "taskId": "tgtask-2d2fee541b8304db4568",
9
+ "bridgeRunId": "telegram:2a5a22214cf84400",
10
+ "actorRunId": "telegram-84e4e6e5411c9753-1791918893130-1",
11
+ "terminalReceiptId": "terminal-3e4feb48f9f23fd29a87",
12
+ "incidentBundleSha256": "1c385603d694ff5ca04edf20af158b1f75895e96b900e603a9063112fe2a257c",
13
+ "originalNativeEnvelopeSha256": "35570abf4e707f072a44125b8ca04408ba3a39ac96843e07cd0d72875927e19d",
14
+ "nativeSourcesUnchanged": true,
15
+ "sourceCustodyComparison": "SQL native envelope equals immutable spool envelope; requirement text basis hashes match",
16
+ "diagnosis": [
17
+ "accepted draft discarded after missing canonical observation",
18
+ "retained adopted source author compared to task owner instead of its own admitted author",
19
+ "public planning pause had no visible lifecycle status"
20
+ ],
21
+ "laterRecovery": {
22
+ "humanMessageId": 1086,
23
+ "assistantMessageId": 1089,
24
+ "assistantAt": "2026-10-13T19:30:36Z"
25
+ },
26
+ "privateContentIncluded": false
27
+ },
28
+ "candidate": {
29
+ "baseCommit": "44a23df1",
30
+ "stagedSourceTreeBeforeDocumentation": "bd5fc5410ca63f4bfc1b5aa70135b979253cb971",
31
+ "isolatedPackageVersion": "1.0.790",
32
+ "bundleSha256": "c78a20f7d05ef313e2226211235fb57402a52249aa366b7274a8a1cc28479a5f",
33
+ "published": false,
34
+ "operatorRuntimeReplaced": false,
35
+ "fullWorkspaceBuild": "passed",
36
+ "tarballAudit": {
37
+ "status": "passed",
38
+ "files": 571,
39
+ "warnings": 0
40
+ },
41
+ "compilerFreeFreshInstall": "passed"
42
+ },
43
+ "tests": {
44
+ "newRegressions": {
45
+ "passed": 66,
46
+ "failed": 0,
47
+ "groups": {
48
+ "runnerWorkRepair": 13,
49
+ "crossActorSourceCustody": 11,
50
+ "retainedDraftBridgeCustody": 9,
51
+ "publicPausedStatus": 33
52
+ }
53
+ },
54
+ "isolatedOrchestrator": {
55
+ "passed": 62,
56
+ "failed": 0
57
+ },
58
+ "isolatedCli": {
59
+ "passed": 199,
60
+ "failed": 2
61
+ },
62
+ "broaderTerminalMetacognition": {
63
+ "passed": 17,
64
+ "failed": 1
65
+ },
66
+ "baselineFailures": {
67
+ "baselineCommit": "ba2917915c3e60550522c1fc5844e43fd4a0b8ba",
68
+ "independentlyReproduced": true,
69
+ "cases": [
70
+ "production original_source guard final retained objective assertion",
71
+ "production owner_policy guard final retained objective assertion",
72
+ "terminal metacognition unrelated-task retention fixture"
73
+ ],
74
+ "scope": "Existing retained-task fixture assertions; guards and assertions not relaxed to pass"
75
+ }
76
+ },
77
+ "live": {
78
+ "schema": "omnius.live-telegram-retained-work.v1",
79
+ "startedAt": "2026-10-13T19:58:35.049Z",
80
+ "model": "muse-spark-1.3-contributor-free",
81
+ "syntheticOnly": true,
82
+ "mockedInferenceReplies": 0,
83
+ "mockedMetadataReplies": 0,
84
+ "localInferenceRequests": 0,
85
+ "telegramMessages": 0,
86
+ "coverage": {
87
+ "runtime": "AgenticRunner with canonical native work effects",
88
+ "sourceTool": "production FileReadTool",
89
+ "completion": "host-owned scratch acceptance adapter; no provider ACK",
90
+ "excludes": [
91
+ "Telegram ingress/reply authority",
92
+ "Bridge source-answer critic",
93
+ "Telegram API delivery",
94
+ "historical private source content"
95
+ ]
96
+ },
97
+ "bounds": {
98
+ "physicalGenerations": 10,
99
+ "runnerTurns": 6,
100
+ "lifecycleMs": 300000
101
+ },
102
+ "http": [
103
+ {
104
+ "number": 1,
105
+ "bodySha256": "e9c4a21e12fc26c346397b792f17adbe54761b9027ca76f32671f7dfa1b53741",
106
+ "apiShape": "responses",
107
+ "model": "muse-spark-1.3-contributor-free",
108
+ "tools": [
109
+ "read",
110
+ "task_complete",
111
+ "tool_search",
112
+ "shell"
113
+ ],
114
+ "stream": true,
115
+ "startedAt": "2026-10-13T19:58:37.678Z",
116
+ "status": 200
117
+ },
118
+ {
119
+ "number": 2,
120
+ "bodySha256": "bf3bab49acb4f9c381c947a89bf5b21c3023bb33576f72884b2ec73666a816fb",
121
+ "apiShape": "responses",
122
+ "model": "muse-spark-1.3-contributor-free",
123
+ "tools": [
124
+ "read",
125
+ "task_complete",
126
+ "tool_search",
127
+ "shell"
128
+ ],
129
+ "stream": true,
130
+ "startedAt": "2026-10-13T19:58:44.353Z",
131
+ "status": 200
132
+ },
133
+ {
134
+ "number": 3,
135
+ "bodySha256": "5816e03a1a23086621fd5c8e0c181a2b42544d4be1ce0f6ce84ebcae91673f74",
136
+ "apiShape": "responses",
137
+ "model": "muse-spark-1.3-contributor-free",
138
+ "tools": [
139
+ "read",
140
+ "task_complete",
141
+ "tool_search",
142
+ "shell"
143
+ ],
144
+ "stream": true,
145
+ "startedAt": "2026-10-13T19:58:47.745Z",
146
+ "status": 200
147
+ }
148
+ ],
149
+ "routes": [
150
+ {
151
+ "location": "remote",
152
+ "phase": "discovery",
153
+ "backendType": "vllm",
154
+ "providerId": "opencode",
155
+ "model": "nemotron-3.5-lightning-free",
156
+ "logicalRequestId": "retained-live-1791921516442-1:turn:0:primary",
157
+ "discovery": {
158
+ "stage": "catalog",
159
+ "outcome": "live",
160
+ "modelCount": 12
161
+ }
162
+ },
163
+ {
164
+ "location": "remote",
165
+ "phase": "discovery",
166
+ "backendType": "vllm",
167
+ "providerId": "opencode",
168
+ "model": "nemotron-3.5-lightning-free",
169
+ "logicalRequestId": "retained-live-1791921516442-1:turn:0:primary",
170
+ "discovery": {
171
+ "stage": "availability",
172
+ "outcome": "live",
173
+ "modelCount": 86
174
+ }
175
+ },
176
+ {
177
+ "location": "remote",
178
+ "phase": "selected",
179
+ "model": "muse-spark-1.3-contributor-free",
180
+ "providerId": "opencode",
181
+ "backendType": "vllm",
182
+ "logicalRequestId": "retained-live-1791921516442-1:turn:0:primary"
183
+ },
184
+ {
185
+ "location": "remote",
186
+ "phase": "succeeded",
187
+ "model": "muse-spark-1.3-contributor-free",
188
+ "providerId": "opencode",
189
+ "backendType": "vllm",
190
+ "logicalRequestId": "retained-live-1791921516442-1:turn:0:primary"
191
+ },
192
+ {
193
+ "location": "remote",
194
+ "phase": "discovery",
195
+ "backendType": "vllm",
196
+ "providerId": "opencode",
197
+ "model": "nemotron-3.5-lightning-free",
198
+ "logicalRequestId": "retained-live-1791921516442-1:turn:1:primary",
199
+ "discovery": {
200
+ "stage": "catalog",
201
+ "outcome": "cached",
202
+ "modelCount": 12
203
+ }
204
+ },
205
+ {
206
+ "location": "remote",
207
+ "phase": "discovery",
208
+ "backendType": "vllm",
209
+ "providerId": "opencode",
210
+ "model": "nemotron-3.5-lightning-free",
211
+ "logicalRequestId": "retained-live-1791921516442-1:turn:1:primary",
212
+ "discovery": {
213
+ "stage": "availability",
214
+ "outcome": "cached",
215
+ "modelCount": 86
216
+ }
217
+ },
218
+ {
219
+ "location": "remote",
220
+ "phase": "selected",
221
+ "model": "muse-spark-1.3-contributor-free",
222
+ "providerId": "opencode",
223
+ "backendType": "vllm",
224
+ "logicalRequestId": "retained-live-1791921516442-1:turn:1:primary"
225
+ },
226
+ {
227
+ "location": "remote",
228
+ "phase": "succeeded",
229
+ "model": "muse-spark-1.3-contributor-free",
230
+ "providerId": "opencode",
231
+ "backendType": "vllm",
232
+ "logicalRequestId": "retained-live-1791921516442-1:turn:1:primary"
233
+ },
234
+ {
235
+ "location": "remote",
236
+ "phase": "discovery",
237
+ "backendType": "vllm",
238
+ "providerId": "opencode",
239
+ "model": "nemotron-3.5-lightning-free",
240
+ "logicalRequestId": "retained-live-1791921516442-1:turn:2:primary",
241
+ "discovery": {
242
+ "stage": "catalog",
243
+ "outcome": "cached",
244
+ "modelCount": 12
245
+ }
246
+ },
247
+ {
248
+ "location": "remote",
249
+ "phase": "discovery",
250
+ "backendType": "vllm",
251
+ "providerId": "opencode",
252
+ "model": "nemotron-3.5-lightning-free",
253
+ "logicalRequestId": "retained-live-1791921516442-1:turn:2:primary",
254
+ "discovery": {
255
+ "stage": "availability",
256
+ "outcome": "cached",
257
+ "modelCount": 86
258
+ }
259
+ },
260
+ {
261
+ "location": "remote",
262
+ "phase": "selected",
263
+ "model": "muse-spark-1.3-contributor-free",
264
+ "providerId": "opencode",
265
+ "backendType": "vllm",
266
+ "logicalRequestId": "retained-live-1791921516442-1:turn:2:primary"
267
+ },
268
+ {
269
+ "location": "remote",
270
+ "phase": "succeeded",
271
+ "model": "muse-spark-1.3-contributor-free",
272
+ "providerId": "opencode",
273
+ "backendType": "vllm",
274
+ "logicalRequestId": "retained-live-1791921516442-1:turn:2:primary"
275
+ }
276
+ ],
277
+ "tools": [
278
+ "task_complete",
279
+ "file_read",
280
+ "task_complete"
281
+ ],
282
+ "holds": [
283
+ {
284
+ "turn": 0,
285
+ "text": "task_complete held by expected_outcome_work: Missing required work evidence: observation"
286
+ }
287
+ ],
288
+ "blocked": [],
289
+ "runtime": "installed_bundle",
290
+ "bundleSha256": "c78a20f7d05ef313e2226211235fb57402a52249aa366b7274a8a1cc28479a5f",
291
+ "catalogSha256": "e40322cd49337557410c36be58be868a6f10534977fa34ca0d50ff31efd1af91",
292
+ "availabilitySha256": "0d3d3d671cff8039cac51d4ddf049816180c983a505f5271bf0d38589f24d35d",
293
+ "result": {
294
+ "status": "incomplete_verification",
295
+ "completed": false,
296
+ "runId": "retained-live-1791921516442-1",
297
+ "taskEpoch": 1,
298
+ "turns": 3,
299
+ "deliverableAuthority": "provider_delivery_pending",
300
+ "replySha256": "389472f20b9daccc7d8796e3076d222f35f7eccd184f9068c84ce842a710c617",
301
+ "acceptedDraftHashes": [
302
+ "389472f20b9daccc7d8796e3076d222f35f7eccd184f9068c84ce842a710c617",
303
+ "389472f20b9daccc7d8796e3076d222f35f7eccd184f9068c84ce842a710c617"
304
+ ],
305
+ "retainedOnly": false,
306
+ "assessment": {
307
+ "schema": "omnius.expected-outcome-assessment.v1",
308
+ "outcome": "read_only",
309
+ "requiredEffects": [
310
+ "observation",
311
+ "visible_response"
312
+ ],
313
+ "observedEffects": [
314
+ "observation"
315
+ ],
316
+ "missingEffects": [
317
+ "visible_response"
318
+ ],
319
+ "satisfied": false
320
+ },
321
+ "deliveryReceiptCount": 0,
322
+ "observationStatus": "satisfied"
323
+ },
324
+ "passed": true,
325
+ "state": "passed",
326
+ "finishedAt": "2026-10-13T19:58:51.782Z",
327
+ "physicalGenerations": 3
328
+ },
329
+ "limits": [
330
+ "Synthetic live model + installed Runner + actual FileReadTool only; no Telegram API delivery or typing observation",
331
+ "Host-owned scratch completion adapter does not exercise Bridge source-answer critic or real intake reply grants",
332
+ "Actual public paused dispatch and source custody are tested with synthetic transport fixtures",
333
+ "Operator publication and bot restart remain required"
334
+ ]
335
+ }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.854",
3
+ "version": "1.0.855",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.854",
9
+ "version": "1.0.855",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.854",
3
+ "version": "1.0.855",
4
4
  "description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
5
5
  "type": "module",
6
6
  "main": "./dist/library.js",