omnius 1.0.797 → 1.0.799

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: 39269568 bytes
4
- sha256: addd7fca63e49ee84b631e268135c959c4c4c475228b4e649fc2dd20eb3382ca
3
+ size: 39315083 bytes
4
+ sha256: f3bb752f92745a0ae0dedb58da465a3598d0e01ecf2d9da38cbcc78e43f2be25
@@ -35906,7 +35906,7 @@
35906
35906
  "id": "guide.work-orders-runtime-health-remediation-wo-57-telegram-delivery-truth-and-recovery-uppercase",
35907
35907
  "kind": "guide",
35908
35908
  "title": "WO-57: Telegram delivery truth, reminder authority, and bounded recovery",
35909
- "summary": "Status: 1.0.796 Case Theory continuation regression confirmed live; REQ-TDT-014 implementation and validation in progress; full-suite, repository-delivery, and live acceptance gates remain open Priority: P0 Incident: October 1, 2026, live Telegram reminder and illegal-logging non-responses Owner: Omnius orchestrator and Telegram runtime Depends on: WO-41, WO",
35909
+ "summary": "Status: 1.0.798 live acceptance failed on Case Theory message 650; REQ-TDT-018 delivery-commit convergence and complete batch-scope repair are in progress; full-suite, redeployment, and live-acceptance gates remain open Priority: P0 Incident: October 1, 2026, live Telegram reminder and illegal-logging non-responses Owner: Omnius orchestrator and Telegram run",
35910
35910
  "keywords": [
35911
35911
  "work",
35912
35912
  "orders",
package/docs/DISCOVERY.md CHANGED
@@ -609,7 +609,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
609
609
  | `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 |
610
610
  | `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 |
611
611
  | `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 |
612
- | `guide.work-orders-runtime-health-remediation-wo-57-telegram-delivery-truth-and-recovery-uppercase` | WO-57: Telegram delivery truth, reminder authority, and bounded recovery | Status: 1.0.796 Case Theory continuation regression confirmed live; REQ-TDT-014 implementation and validation in progress; full-suite, repository-delivery, and live acceptance gates remain open Priority: P0 Incident: October 1, 2026, live Telegram reminder and illegal-logging non-responses Owner: Omnius orchestrator and Telegram runtime Depends on: WO-41, WO |
612
+ | `guide.work-orders-runtime-health-remediation-wo-57-telegram-delivery-truth-and-recovery-uppercase` | WO-57: Telegram delivery truth, reminder authority, and bounded recovery | Status: 1.0.798 live acceptance failed on Case Theory message 650; REQ-TDT-018 delivery-commit convergence and complete batch-scope repair are in progress; full-suite, redeployment, and live-acceptance gates remain open Priority: P0 Incident: October 1, 2026, live Telegram reminder and illegal-logging non-responses Owner: Omnius orchestrator and Telegram run |
613
613
  | `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. |
614
614
  | `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. |
615
615
  | `guide.work-orders-telegram-reliability-consolidation-2026-09-28` | Telegram Reliability Consolidation — 2026-09-28 | Rule: check a box only after the named behavior is implemented and its listed verification passes. A parent box stays open until every child box is checked. |
@@ -1,8 +1,8 @@
1
1
  # WO-57: Telegram delivery truth, reminder authority, and bounded recovery
2
2
 
3
- **Status:** 1.0.796 Case Theory continuation regression confirmed live;
4
- REQ-TDT-014 implementation and validation in progress; full-suite,
5
- repository-delivery, and live acceptance gates remain open
3
+ **Status:** 1.0.798 live acceptance failed on Case Theory message 650;
4
+ REQ-TDT-018 delivery-commit convergence and complete batch-scope repair are in
5
+ progress; full-suite, redeployment, and live-acceptance gates remain open
6
6
  **Priority:** P0
7
7
  **Incident:** October 1, 2026, live Telegram reminder and illegal-logging non-responses
8
8
  **Owner:** Omnius orchestrator and Telegram runtime
@@ -19,7 +19,10 @@ a mutation may be claimed only after its typed tool receipt; inline research mus
19
19
  not require an impossible external-provider receipt; recovery must reuse current
20
20
  verified evidence instead of replaying the full reasoning loop. A scoped
21
21
  reminder tool must never read or mutate reminders owned by another chat, topic,
22
- surface, or unscoped/global context.
22
+ surface, or unscoped/global context. A response admitted from a Telegram forum
23
+ topic must keep that exact topic on every text, media, menu, callback, and
24
+ autonomous-follow-up delivery; replying to a message is not a substitute for
25
+ the native `message_thread_id` destination.
23
26
 
24
27
  ## Baseline and live evidence
25
28
 
@@ -87,10 +90,52 @@ logging data now.`, and was marked consumed without a retrieval run.
87
90
  was unavailable.
88
91
  - [x] Anchor the exact 1.0.796 follow-up failure: message 644 directly
89
92
  mentioned the bot and said `confirm you can see all of the above files,
90
- please follow her instructions`, but the explicit-continuation grammar
93
+ please follow her instructions`, but the explicit-continuation grammar
91
94
  did not recognize delegated task continuation. The same router decision
92
95
  was retried three times and the intake was marked failed without an
93
96
  action run or public reply.
97
+ - [x] Anchor the 1.0.797 scope-binding failure: message 645's otherwise valid
98
+ live action decision cited `active-task:tgtask-3f98bf45a97a892330ae`
99
+ while declaring `continuity:"new"` and the chat session key as
100
+ `activeScopeId`. The bridge admitted a replacement root task for 645,
101
+ discarded the original 642 objective/23-file scope, inspected only four
102
+ files, and marked coarse `effect:observation` ready for delivery.
103
+ - [x] Anchor the 1.0.797 batch-cadence failure: after enumerating all 23 PDFs
104
+ and each bounded OCR batch, the runner synchronously repeated
105
+ `virtual_memory_plan`, `virtual_memory_rerank`,
106
+ `virtual_memory_sufficiency`, and `memory_compilation_plan_v2`. Exact
107
+ request fingerprints and retrieval corpus/query keys changed after every
108
+ successful tool transaction, so each iteration was guaranteed to miss
109
+ both caches even with 20-33% exact request headroom remaining.
110
+ - [x] Anchor the false per-file evidence transition: successful structural
111
+ `document inspect` calls for messages 636-639 returned
112
+ `textCharacters:0` plus `visual review may be required`, but the generic
113
+ Telegram adapter still attached observation evidence and satisfied the
114
+ file criteria.
115
+ - [x] Anchor the capability-authority mismatch: Telegram's durable policy
116
+ classified `ocr_pdf` as read-only while the registered execution tool
117
+ correctly classified it as mutating, and stale generic tools were
118
+ ordered ahead of the manifest-specific `pdf_to_text` reader.
119
+ - [x] Anchor the forum-topic transport breach: the OMNIUS intake for message
120
+ 5725 retained `messageThreadId:5719` and exact input identity
121
+ `telegram:chat:-1003888256865:5719:5725`, while the shared final-reply,
122
+ command-reply, blocking-question, generation, and artifact paths called
123
+ Telegram without `message_thread_id`. Telegram therefore placed scoped
124
+ output at the forum root/All surface instead of General/topic 5719.
125
+ - [x] Anchor the 1.0.798 false-terminal regression: run
126
+ `telegram-84e4e6e5411c9753-1790980997771-1` committed `completed` at
127
+ `2026-10-02T22:50:33.197Z` while its durable objective frontier still
128
+ listed `effect:visible_response` as open, its claim remained unverified,
129
+ and no Telegram assistant message or provider delivery receipt existed.
130
+ - [x] Anchor the 1.0.798 manifest regression: messages 620 through 642 contain
131
+ 23 ordered PDF time cards, while the recovered task OCRed/inspected only
132
+ messages 634 through 642 and authored a nine-card answer despite message
133
+ 650 explicitly retaining prior time cards.
134
+ - [x] Anchor the 1.0.798 recovery livelock: checkpoint
135
+ `tgtrc-943243df3fbb01e2377b73b16275f3c9` reached at least retry 10;
136
+ every retry reported `object work remains frozen`, no runner artifact
137
+ changed after the false terminal commit, and typing ceased while the
138
+ Telegram poller remained healthy.
94
139
 
95
140
  Runtime evidence:
96
141
 
@@ -111,6 +156,8 @@ Runtime evidence:
111
156
  - `/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/telegram-intake/f39b2cf564299c28fc81.jsonl`
112
157
  - `/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/telegram-social-events/f39b2cf564299c28fc81b388.jsonl`
113
158
  - `/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/telegram-runner-state/84e4e6e5411c97531047/tool-results/d1601e4c.txt`
159
+ - `/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/telegram-intake/0c499aca482c61832afa.jsonl`
160
+ - `/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/telegram-conversations/c34a3d7d53728329c081.events.jsonl`
114
161
 
115
162
  ## Requirements and implementation checklist
116
163
 
@@ -294,6 +341,32 @@ Primary anchors:
294
341
  review.
295
342
  - `packages/cli/tests/telegram-objective-resume.test.ts`
296
343
  - `packages/cli/tests/telegram-bot-api-10.test.ts`
344
+
345
+ ### REQ-TDT-016 — event-owned cadence and renewable runner lease
346
+
347
+ - [x] Make AgenticRunner's typed objective/frontier events the sole owner of
348
+ live object-work cadence. Do not start an independent semantic model
349
+ review from elapsed time or from an intermediate tool-result callback.
350
+ - [x] Renew the Telegram runner lease on every routed AgenticRunner lifecycle
351
+ event, while excluding Telegram typing/UI timers that could otherwise
352
+ keep an orphan alive indefinitely.
353
+ - [x] Suppress lease expiry while an exact-session inference is admitted; the
354
+ inference operation retains its own bounded deadline.
355
+ - [x] On genuine event silence past the configured TTL, fence the generation,
356
+ abort its runner/controller, release its session ownership, and requeue
357
+ the exact retained intake through the existing durable recovery path.
358
+ - [x] Keep independent metacognitive review at the settled terminal boundary,
359
+ where it can validate delivery without racing or steering live OCR/read
360
+ batches.
361
+ - [x] Cover recent-event lease renewal, event-silent expiry, no competing
362
+ semantic review, generation fencing, and retained-intake recovery.
363
+
364
+ Primary anchors:
365
+
366
+ - `packages/cli/src/tui/telegram-bridge.ts` — event lease renewal/expiry and
367
+ removal of live sidecar-review triggers.
368
+ - `packages/cli/tests/telegram-lifecycle-leak.test.ts`
369
+ - `packages/cli/tests/telegram-steering-finalization.test.ts`
297
370
  - `packages/orchestrator/tests/agenticRunner-objective-control.test.ts`
298
371
 
299
372
  ### REQ-TDT-010 — authoritative continuation and control-plane convergence
@@ -395,56 +468,206 @@ Primary anchors:
395
468
 
396
469
  ### REQ-TDT-014 — durable arbitrary-depth intake, batch objectives, and terminal handoff
397
470
 
398
- - [ ] Treat a native direct mention/reply/private delivery as host-owned intake
471
+ - [x] Treat a native direct mention/reply/private delivery as host-owned intake
399
472
  authority. Invalid attention-router or action-plan JSON may not discard
400
473
  that exact input; semantic interpretation belongs to the capable runner,
401
474
  with ambient group traffic still using the attention router.
402
- - [ ] Present every exact-scope durable open objective to that runner as
475
+ - [x] Present every exact-scope durable open objective to that runner as
403
476
  structured state, so ordinary language can continue, delegate, amend,
404
477
  replace, or query it without a host phrase dictionary. Any model-selected
405
478
  continuation must cite one unambiguous task and preserve its boundaries.
406
- - [ ] Preserve the original task owner, task ID, objective, evidence, media
479
+ - [x] Preserve the original task owner, task ID, objective, evidence, media
407
480
  scope, and remaining work while binding the newer input as response
408
481
  authority; do not create a second root task or silently replace the
409
482
  original file-analysis objective.
410
- - [ ] Require explicit current-turn bot address plus a read-only retained task
483
+ - [x] Require explicit current-turn bot address plus a read-only retained task
411
484
  for cross-actor delegation. Keep mutation tasks, ambiguous multiple
412
485
  tasks, foreign chats/topics, unaddressed talk, and wait/defer language
413
486
  outside deterministic repair.
414
- - [ ] Resume the retained objective without restoring a stale partial reply as
487
+ - [x] Resume the retained objective without restoring a stale partial reply as
415
488
  proof that the full batch is complete. A partial candidate may be used
416
489
  only as evidence already gathered and must remain labelled partial until
417
490
  every required file has been processed or a truthful blocker is sent.
418
- - [ ] When object work reaches a current, verified candidate and the only
491
+ - [x] When object work reaches a current, verified candidate and the only
419
492
  missing effect is Telegram visibility, make the terminal handoff durable
420
493
  across review failure without restarting completed file reads or losing
421
494
  the response owner.
422
- - [ ] Persist the scoped action plan/capability set and terminal-review
495
+ - [x] Persist the scoped action plan/capability set and terminal-review
423
496
  checkpoint with the objective. Recovery must resume the last incomplete
424
497
  state transition; it must not restart attention, planning, or completed
425
498
  object work.
426
- - [ ] Derive itemized completion criteria for a selected attachment set. One
499
+ - [x] Derive itemized completion criteria for a selected attachment set. One
427
500
  generic observation cannot satisfy a multi-document request, and
428
501
  advisory no-delta review cannot turn a partial checklist into
429
502
  `deliver_due`.
430
- - [ ] Prove all admitted attachments are durably enumerable and resolvable
503
+ - [x] Prove all admitted attachments are durably enumerable and resolvable
431
504
  from Telegram `file_id` metadata after process restart or local byte-cache
432
505
  expiry. Enumeration must paginate beyond one bounded page, and each
433
506
  successful inspection must receipt the exact message/file criterion.
434
- - [ ] Replay the exact 642 -> 644 Case Theory topology, including Mariana as
507
+ - [x] Give every retained task, resource manifest, continuation plan, and
508
+ terminal-review checkpoint a finite default TTL, bounded explicit TTL,
509
+ activity/manual renewal where applicable, and natural expiry that cannot
510
+ resurrect stale authority.
511
+ - [x] Replay the exact 642 -> 644 Case Theory topology, including Mariana as
435
512
  task owner and robitman as the directly addressing delegator, and assert
436
513
  one continued action task, no quick-chat acknowledgement, no router-only
437
514
  exhaustion, and one final exact-scope response.
515
+ - [x] Enforce continuity/scope coherence at the typed action-plan boundary:
516
+ `new` is allowed only when no active task exists and has no active scope,
517
+ while `continue_active`, `status_probe`, and `replace` must name and cite
518
+ an exact host-supplied active task. A chat session key cannot masquerade
519
+ as a task ID or silently overwrite durable work.
520
+ - [x] Keep a narrow admission-side compatibility guard for a queued decision
521
+ trusted by an older validator; repair only the exact single-task,
522
+ chat-key-as-scope contradiction and never infer continuation from prose.
523
+ - [x] Replay the valid-live-router contradiction through the complete Telegram
524
+ admission pipeline and prove the original task, objective, epoch, plan
525
+ ID, and plan tools survive with no second root task.
438
526
 
439
527
  Primary anchors:
440
528
 
441
529
  - `packages/cli/src/tui/telegram-bridge.ts` — delegated-continuation shape,
442
530
  retained-task handoff, candidate/evidence restoration, and terminal recovery.
531
+ - `packages/cli/src/tui/telegram-durable-continuation-policy.ts`
532
+ - `packages/cli/src/tui/telegram-resource-manifest.ts`
533
+ - `packages/cli/src/tui/telegram-terminal-review-checkpoint.ts`
443
534
  - `packages/cli/tests/telegram-steering-finalization.test.ts`
444
535
  - `packages/cli/tests/telegram-objective-resume.test.ts`
536
+ - `packages/cli/tests/telegram-durable-continuation-policy.test.ts`
537
+ - `packages/cli/tests/telegram-resource-manifest.test.ts`
538
+ - `packages/cli/tests/telegram-terminal-review-checkpoint.test.ts`
445
539
  - `packages/cli/tests/telegram-terminal-delivery.test.ts`
446
540
  - `packages/cli/tests/telegram-terminal-metacognition.test.ts`
447
- - `packages/cli/tests/telegram-media-admission.test.ts`
541
+ - `packages/cli/tests/telegram-media-cache.test.ts`
542
+ - `packages/cli/tests/telegram-update-spool.test.ts`
543
+
544
+ ### REQ-TDT-015 — scope-bound batch cadence and truthful resource evidence
545
+
546
+ - [x] Define a typed objective-read-batch continuation with exact session,
547
+ task epoch, objective ref/hash/revision, ordered criterion IDs, and
548
+ finite expiry. Never infer batch authority from user/model prose or a
549
+ generic read-only tool name.
550
+ - [x] Renew the fast path for one request only after a successful registered
551
+ read-only tool produces accepted observation evidence for an exact batch
552
+ criterion and the frontier still has another batch criterion open.
553
+ - [x] Invalidate immediately on scope/objective/epoch/frontier mismatch,
554
+ expiry, steering/preemption, failed or mutating work, non-observation,
555
+ batch exit, or lack of another exact criterion.
556
+ - [x] Reuse the validated scope-bound virtual-memory projection while the new
557
+ exact tool result remains resident in the current transcript. Recompute
558
+ pinned structured state on every request and rerun semantic retrieval at
559
+ synthesis/batch exit.
560
+ - [x] Preserve the exact request without compiler inference while the one-shot
561
+ lease is valid and at least 20% of the physical model window remains
562
+ free after input, output reservation, and safety margin. At lower
563
+ headroom, run the normal compiler; never discard or summarize the newly
564
+ observed resource to keep the fast path alive.
565
+ - [x] Treat structural success with zero extracted text as capability feedback,
566
+ not attachment observation. Accept PDF resource evidence only from typed
567
+ text extraction (or a complete typed query-negative observation), and
568
+ leave zero-text files open for OCR/visual processing.
569
+ - [x] Remove mutating `ocr_pdf` from durable read-only authority. When a PDF
570
+ resource manifest is active, place `telegram_media_recent` and
571
+ `pdf_to_text` ahead of stale generic plan tools, and replace rather than
572
+ renew a non-matching plan.
573
+ - [x] Cover scope-bound projection reuse/batch exit, safe-headroom compiler
574
+ hold, one-shot read-result admission, zero-text evidence rejection,
575
+ mutating OCR-plan rejection, stale-plan replacement, and the complete
576
+ Case Theory Telegram admission file.
577
+
578
+ Primary anchors:
579
+
580
+ - `packages/orchestrator/src/agenticRunner.ts` — typed batch lease, objective
581
+ admission, virtual-memory cadence, and compiler pressure boundary.
582
+ - `packages/orchestrator/tests/live-virtual-context.test.ts`
583
+ - `packages/orchestrator/tests/unified-memory-compilation.test.ts`
584
+ - `packages/cli/src/tui/telegram-resource-manifest.ts`
585
+ - `packages/cli/src/tui/telegram-durable-continuation-policy.ts`
586
+ - `packages/cli/src/tui/telegram-bridge.ts`
587
+ - `packages/cli/tests/telegram-resource-manifest.test.ts`
588
+ - `packages/cli/tests/telegram-durable-continuation-policy.test.ts`
589
+ - `packages/cli/tests/telegram-objective-resume.test.ts`
590
+ - `packages/cli/tests/telegram-bot-api-10.test.ts`
591
+
592
+ ### REQ-TDT-017 — exact Telegram forum-topic delivery
593
+
594
+ - [x] Resolve one immutable outbound topic from the admitted Telegram message
595
+ or its native reply context; never infer a destination from prose or a
596
+ chat-wide "last topic" value.
597
+ - [x] Attach `message_thread_id` to every chunk of the shared final-delivery
598
+ path, including HTML-to-plaintext fallback and parsed-media delivery.
599
+ - [x] Bind the topic into the exact-payload delivery ledger so a receipt from
600
+ one topic cannot authorize replay or completion in another.
601
+ - [x] Preserve the topic on public progress creation/fallbacks, command replies,
602
+ terminal blocking questions, help/stats/menu output, generation
603
+ status/results, generated artifacts, screenshots, and same-chat
604
+ `telegram_send_file` effects.
605
+ - [x] Scope callback-driven generation intent by chat, topic, and actor so a
606
+ prompt in one topic cannot consume pending state created in another.
607
+ - [x] Require autonomous follow-up evidence to resolve to one topic; suppress
608
+ cross-topic proposals instead of posting them at the chat root.
609
+ - [x] Prove a multi-chunk final answer sends every chunk to topic 5719 while
610
+ only the first chunk replies to source message 5725.
611
+ - [x] Prove command-style replies and generated artifact uploads keep topic
612
+ 5719, while root/private controls remain unchanged.
613
+ - [x] Pass CLI typecheck/build, focused transport/Bot API regressions,
614
+ formatting, and `git diff --check`.
615
+ - [ ] Publish/install/restart, then prove a fresh message in Telegram General
616
+ receives its reply in General and not only in the All view.
617
+
618
+ Primary anchors:
619
+
620
+ - `packages/cli/src/tui/telegram-bridge.ts` — immutable topic resolution and
621
+ all outbound text/media delivery paths.
622
+ - `packages/cli/src/tui/telegram-command-menu.ts` — topic-bound callback state.
623
+ - `packages/cli/tests/telegram-transport-contract.test.ts`
624
+ - `packages/cli/tests/telegram-bot-api-10.test.ts`
625
+
626
+ ### REQ-TDT-018 — delivery-commit convergence and complete batch recovery
627
+
628
+ - [x] Induct primary operational guidance for transactional outbox delivery,
629
+ idempotent exact-request retries, durable history replay, bounded retry
630
+ exhaustion, and Telegram provider/typing semantics into
631
+ `.aiwg/research/terminal-metacognitive-control/`.
632
+ - [ ] Represent an accepted Telegram `user_reply` as durable pending delivery,
633
+ not as a completed visible-response effect. A terminal success may not
634
+ clear the task until the exact destination/payload receives a Telegram
635
+ provider receipt.
636
+ - [ ] Bind delivery retries to one task/input/epoch/topic/payload hash and
637
+ reconcile exactly once. A process restart resumes pending delivery from
638
+ durable state without rerunning completed document/OCR work.
639
+ - [ ] Make terminal semantic review a bounded decision activity. Review
640
+ unavailability cannot dispatch indefinitely: after the configured
641
+ attempt/elapsed budget, a complete evidence-bound candidate follows the
642
+ deterministic delivery path; a partial candidate retains a truthful
643
+ blocked/needs-input state.
644
+ - [ ] Preserve the complete host-enumerated 23-file resource manifest across
645
+ delegated continuation and restart. No prefix/suffix window, model prose,
646
+ or generic observation may reduce or satisfy the itemized batch.
647
+ - [ ] Keep typing as an event-driven ephemeral projection while work or pending
648
+ delivery is genuinely active. Typing never owns the runner lease and
649
+ stops on provider receipt, cancellation, expiry, or terminal failure.
650
+ - [ ] Add deterministic regressions reproducing message 650: 23 admitted PDFs,
651
+ nine previously processed files, restart, unavailable reviewer, bounded
652
+ retry, exact candidate delivery, provider receipt, one public reply, and
653
+ no repeated OCR or unbounded dispatch.
654
+ - [ ] Pass affected CLI/orchestrator focused suites, typechecks/builds,
655
+ formatting, `git diff --check`, independent review, scoped commit, and
656
+ push. Publication/restart/live acceptance remain separate user-owned
657
+ gates unless explicitly requested.
658
+
659
+ Primary anchors:
660
+
661
+ - `packages/cli/src/tui/telegram-bridge.ts`
662
+ - `packages/cli/src/tui/telegram-terminal-review-checkpoint.ts`
663
+ - `packages/cli/src/tui/telegram-resource-manifest.ts`
664
+ - `packages/cli/src/tui/telegram-durable-continuation-policy.ts`
665
+ - `packages/cli/tests/telegram-terminal-review-checkpoint.test.ts`
666
+ - `packages/cli/tests/telegram-terminal-delivery.test.ts`
667
+ - `packages/cli/tests/telegram-resource-manifest.test.ts`
668
+ - `packages/cli/tests/telegram-objective-resume.test.ts`
669
+ - `packages/cli/tests/telegram-lifecycle-leak.test.ts`
670
+ - `packages/cli/tests/telegram-bot-api-10.test.ts`
448
671
 
449
672
  ## Cross-surface validation gates
450
673
 
@@ -461,7 +684,7 @@ Primary anchors:
461
684
  - [x] Independent review finds no path that can claim a mutation without its
462
685
  typed receipt or bind a Telegram response without exact current reply or
463
686
  provider-delivery authority.
464
- - [ ] Changes are committed in scoped, verified commits and pushed to the
687
+ - [x] Changes are committed in scoped, verified commits and pushed to the
465
688
  tracked branch.
466
689
  - [ ] Live Telegram acceptance remains unchecked unless the exact deployed
467
690
  runtime is rebuilt/restarted and validated under the hardware and service
@@ -469,22 +692,26 @@ Primary anchors:
469
692
 
470
693
  ## Traceability matrix
471
694
 
472
- | Requirement | Production anchors | Regression anchors | Status |
473
- | ----------- | ------------------------------------------------ | -------------------------------------------------- | ------------- |
474
- | REQ-TDT-001 | orchestrator expected effects/readiness | terminal finalization + runner | focused green |
475
- | REQ-TDT-002 | Telegram task completion/delivery | public/private/no-reply | focused green |
476
- | REQ-TDT-003 | Telegram routing + reminder receipt | 5652/5653/5698/607 replay | focused green |
477
- | REQ-TDT-004 | expected-outcome normalization | PNG inline research | focused green |
478
- | REQ-TDT-005 | steering projection/ownership | PNG to Borneo steering | focused green |
479
- | REQ-TDT-006 | safe-delivery receipt parser | wrappers + redirects | focused green |
480
- | REQ-TDT-007 | terminal recovery/memory eligibility | retained-candidate recovery | focused green |
481
- | REQ-TDT-008 | capability admission + unavailable ownership | 5712/610 + recovery ordering | focused green |
482
- | REQ-TDT-009 | recovered-contract migration + convergence gates | exact recovery + synthesis timing + bounded review | focused green |
483
- | REQ-TDT-010 | continuation + control-plane convergence | 5717/612 + exact review contract | focused green |
484
- | REQ-TDT-011 | reminder read/write scope authorization | group/DM/topic/foreign-ID isolation | focused green |
485
- | REQ-TDT-012 | typed direct-turn action continuation | exact OMNIUS 5719 + ambient controls | focused green |
486
- | REQ-TDT-013 | elided cross-thread task continuation | exact OMNIUS 5721/5723 + scope controls | focused green |
487
- | REQ-TDT-014 | delegated batch continuation + terminal handoff | Case Theory 642/644 + scope/batch controls | in progress |
695
+ | Requirement | Production anchors | Regression anchors | Status |
696
+ | ----------- | ------------------------------------------------- | -------------------------------------------------- | ------------------------------- |
697
+ | REQ-TDT-001 | orchestrator expected effects/readiness | terminal finalization + runner | focused green |
698
+ | REQ-TDT-002 | Telegram task completion/delivery | public/private/no-reply | focused green |
699
+ | REQ-TDT-003 | Telegram routing + reminder receipt | 5652/5653/5698/607 replay | focused green |
700
+ | REQ-TDT-004 | expected-outcome normalization | PNG inline research | focused green |
701
+ | REQ-TDT-005 | steering projection/ownership | PNG to Borneo steering | focused green |
702
+ | REQ-TDT-006 | safe-delivery receipt parser | wrappers + redirects | focused green |
703
+ | REQ-TDT-007 | terminal recovery/memory eligibility | retained-candidate recovery | focused green |
704
+ | REQ-TDT-008 | capability admission + unavailable ownership | 5712/610 + recovery ordering | focused green |
705
+ | REQ-TDT-009 | recovered-contract migration + convergence gates | exact recovery + synthesis timing + bounded review | focused green |
706
+ | REQ-TDT-010 | continuation + control-plane convergence | 5717/612 + exact review contract | focused green |
707
+ | REQ-TDT-011 | reminder read/write scope authorization | group/DM/topic/foreign-ID isolation | focused green |
708
+ | REQ-TDT-012 | typed direct-turn action continuation | exact OMNIUS 5719 + ambient controls | focused green |
709
+ | REQ-TDT-013 | elided cross-thread task continuation | exact OMNIUS 5721/5723 + scope controls | focused green |
710
+ | REQ-TDT-014 | delegated batch continuation + terminal handoff | Case Theory 642/644/645 + scope/batch controls | focused green; redeploy pending |
711
+ | REQ-TDT-015 | scoped batch cadence + truthful resource evidence | batch projection/compiler + media evidence/plan | focused green; redeploy pending |
712
+ | REQ-TDT-016 | event cadence + renewable runner lease | lifecycle leak + steering/finalization | delivered; redeploy pending |
713
+ | REQ-TDT-017 | exact Telegram forum-topic delivery | final chunks + commands + artifacts | focused green; redeploy pending |
714
+ | REQ-TDT-018 | delivery commit + full batch recovery | exact 23-file message-650 replay | implementation in progress |
488
715
 
489
716
  ## Evidence log
490
717
 
@@ -760,3 +987,152 @@ one sec.`) without an action run or data result.
760
987
  passed.
761
988
  - No publish, install, service restart, Telegram send, or live inference was
762
989
  performed by this validation.
990
+
991
+ ### 2026-10-02 — Case Theory 642/644 durable batch root repair
992
+
993
+ - The retained batch now owns a durable per-attachment resource manifest. Each
994
+ Telegram message/file identity maps to its own objective criterion, so three
995
+ successful reads cannot satisfy a 23-file batch and coarse checklist
996
+ observation cannot force `deliver_due`.
997
+ - Durable media enumeration reads consumed update-spool and SQLite metadata in
998
+ exact chat/topic scope, paginates beyond the first 20 records, and
999
+ re-materializes expired local bytes from the retained Telegram `file_id`.
1000
+ Successful media tools attach the exact resource criterion and observation
1001
+ evidence to the objective result.
1002
+ - Native direct address can host-admit exactly one retained read-only task when
1003
+ typed routing is unavailable. The admission is task-, chat-, topic-, actor-,
1004
+ capability-, and TTL-bound; mutation, ambiguity, foreign scope, unaddressed
1005
+ traffic, and unauthorized cross-actor inheritance remain denied. The exact
1006
+ 642 -> 644 replay uses Mariana's retained task and robitman's authenticated
1007
+ group-admin delegation without any host phrase matching.
1008
+ - Terminal-review failure freezes a content-addressed checkpoint. Scheduler
1009
+ retries invoke only terminal review; they do not restart attention, action
1010
+ planning, or document processing. After runtime-state loss, the checkpoint
1011
+ rehydrates a non-runnable review snapshot from durable task/candidate/receipt
1012
+ state. A partial checkpoint is mechanically ineligible for delivery; only a
1013
+ fresh reviewer may authorize bounded object continuation.
1014
+ - Retained tasks, resource manifests, read-only continuation plans, and terminal
1015
+ checkpoints now have finite defaults, bounded renewal semantics, and natural
1016
+ expiry. Restart loading rejects stale task leases rather than renewing them.
1017
+ - Validation: CLI typecheck passed. Focused CLI validation passed 158/158 across
1018
+ terminal recovery, durable policy, resource manifests, objective resume,
1019
+ media cache, and update spool; the complete Bot API 10 integration file
1020
+ passed 163/163; the restart-style terminal rehydration suite passed 44/44;
1021
+ the exact delegated 642 -> 644 replay passed independently. Orchestrator
1022
+ checklist objective-control validation passed 8/8.
1023
+ - No publish, install, service restart, Telegram send, or live inference was
1024
+ performed by this repair validation. Repository delivery and live acceptance
1025
+ remain separate gates.
1026
+
1027
+ ### 2026-10-02 — live 1.0.797 active-scope contract failure and root repair
1028
+
1029
+ - The user-owned runtime is globally installed `omnius@1.0.797`, PID `2003867`,
1030
+ running from `telegram_test`. Polling and intake remained alive; the failure
1031
+ was task identity, not process or Telegram transport liveness.
1032
+ - Message 645 produced a valid live action envelope that cited the exact old
1033
+ task, but its expected-outcome contract simultaneously declared
1034
+ `continuity:"new"` and used `chat:-1003960149435` as `activeScopeId`.
1035
+ Because the validator did not relate continuity, scope, and active-task
1036
+ evidence, the admission boundary replaced task 642 with a new coarse task.
1037
+ - The resulting run inspected messages 636-639, marked generic observation
1038
+ satisfied, entered `deliver_due`, then continued with `tool_search` and
1039
+ paginated `telegram_media_recent`. This is direct live evidence that model
1040
+ diligence cannot substitute for an itemized objective frontier.
1041
+ - The typed validator now rejects incoherent scope before admission. `new` is
1042
+ allowed only when the chat/topic has no active task and forbids an active
1043
+ scope; continuation/status/replacement requires the exact ID of a cited host
1044
+ active-task entry. The action-planner prompt states the same invariant. A
1045
+ narrow legacy guard protects already queued decisions that contain the exact
1046
+ observed chat-key/single-cited-task contradiction.
1047
+ - Focused validation passed: 9/9 objective-resume tests, CLI typecheck, and the
1048
+ exact complete Bot API admission replay (1/1) all passed. That replay proves
1049
+ task 642's ID, input, epoch, objective, durable plan ID, and tool scope are
1050
+ retained and no task rooted at the follow-up input is created. Broader suite
1051
+ validation and redeployment remain open.
1052
+
1053
+ ### 2026-10-02 — live 1.0.797 batch-cadence and resource-evidence root repair
1054
+
1055
+ - The same user-owned message-645 run remained alive, but every changed tool
1056
+ transaction forced a new virtual-memory plan/rerank/sufficiency sequence and
1057
+ a new compilation plan. Observed cycles took roughly three minutes before
1058
+ the next main decision even though the exact request still had 15,681 free
1059
+ tokens (32.7% of a 48k window); inferred compaction was then rejected for
1060
+ falling outside the 45-52% target occupancy.
1061
+ - The old runtime eventually found `ocr_pdf` and extracted exact one-page
1062
+ timesheet text for messages 642, 641, 640, and 639, including typed totals,
1063
+ but immediately re-entered the same auxiliary pipeline after each batch.
1064
+ This proved backend/tool capability was healthy and the stall was runner
1065
+ cadence, not Telegram transport, GPU placement, or OCR dependency failure.
1066
+ - The orchestrator now accepts only a host-authored, TTL-bound objective read
1067
+ batch tied to one session, epoch, objective identity/revision, and exact
1068
+ resource criteria. One accepted read-only observation authorizes one reuse;
1069
+ all mismatches and batch boundaries return to ordinary auxiliary inference.
1070
+ Exact requests remain lossless above 20% free capacity; normal compaction is
1071
+ mandatory below that boundary.
1072
+ - Resource evidence is now content-sensitive. A successful document receipt
1073
+ with zero text does not satisfy an attachment criterion. Typed PDF extraction
1074
+ with actual characters (or a complete query-negative receipt) does. A bare
1075
+ artifact mutation without observed content does not.
1076
+ - Durable Telegram capability authority now agrees with execution semantics:
1077
+ `ocr_pdf` is no longer a durable read-only tool. Active PDF manifests mint
1078
+ `telegram_media_recent + pdf_to_text` ahead of stale generic tools, and an
1079
+ existing plan is replaced when its scoped tool set differs instead of being
1080
+ automatically renewed.
1081
+ - Validation passed: orchestrator virtual-context/compiler suites 25/25;
1082
+ Telegram durable-policy/objective/resource suites 34/34; focused Telegram
1083
+ objective/evidence suites 29/29; complete Telegram Bot API 10 suite 164/164;
1084
+ CLI and orchestrator typechecks; Prettier and `git diff --check` on the
1085
+ affected source. The installed 1.0.797 runtime does not contain these
1086
+ repairs, so post-publish restart and exact live acceptance remain open.
1087
+ - Delivery is split into scoped commits: `2bfbd875` (reminder scope and typed
1088
+ receipts), `718ad983` (objective truth and batch cadence), and `50cfde89`
1089
+ (Telegram task/resource scope). All were verified before delivery to the
1090
+ tracked `origin/main` branch; this work-order record is the final documentation
1091
+ commit in that delivery.
1092
+
1093
+ ### 2026-10-02 — live sidecar-review cadence root repair
1094
+
1095
+ - The continuing 1.0.797 Case Theory run extracted PDFs 642 through 634, but
1096
+ repeatedly launched `stalled-metacognitive-review-retry` while the parent
1097
+ runner was still producing OCR and lifecycle events. Its activity panel
1098
+ showed 898s, 1125s, and 1892s "quiet" epochs plus rejected review contracts;
1099
+ the parent task remained `running` with no Telegram delivery receipt.
1100
+ - Root cause: the watchdog measured time since the last material objective
1101
+ delta rather than time since the last typed runner event, while a second
1102
+ tool-result hook could launch the same sidecar review from intermediate
1103
+ frontier state. This gave live cadence to two model loops and misclassified
1104
+ active control/OCR work as semantic silence.
1105
+ - The watchdog now enforces a renewable event lease using `lastActivityMs`.
1106
+ It never starts model inference. Active exact-session inference suppresses
1107
+ expiry; a genuinely event-silent runner is generation-fenced, aborted, and
1108
+ requeued from its retained intake after the configured TTL. Intermediate
1109
+ tool results no longer launch a Telegram sidecar review.
1110
+ - Validation passed: CLI typecheck and build; 111/111 lifecycle, steering,
1111
+ terminal-review, checkpoint, and objective-resume tests; complete Telegram
1112
+ Bot API 10 suite 164/164; Prettier and `git diff --check`. Live acceptance
1113
+ remains pending publication, installation, and broker restart.
1114
+ - Source delivery commit: `54a0e681` (`fix(cli): drive Telegram cadence from
1115
+ runner events`) on tracked `origin/main`; this documentation update records
1116
+ that delivery and leaves only broader/full-suite and deployed-live gates
1117
+ open.
1118
+
1119
+ ### 2026-10-02 — Telegram General/topic delivery root repair
1120
+
1121
+ - Live intake already retained the exact forum destination: OMNIUS message
1122
+ 5725 was stored as `telegram:chat:-1003888256865:5719:5725` with
1123
+ `messageThreadId:5719`. The loss occurred only after admission: shared final
1124
+ delivery, public progress creation, command replies, and media delivery did
1125
+ not forward that destination to Telegram.
1126
+ - One native topic resolver now owns ephemeral typing and durable outbound
1127
+ delivery. Final text chunks, HTML/plain fallbacks, public progress, menus,
1128
+ terminal questions, generated artifacts, and same-chat file effects carry
1129
+ `message_thread_id`; exact-payload and artifact idempotency keys include the
1130
+ topic as destination identity.
1131
+ - Callback generation state is keyed by chat/topic/actor. Autonomous follow-up
1132
+ is withheld when its evidence crosses topics instead of falling back to the
1133
+ forum root/All view.
1134
+ - Validation passed on the completed patch: CLI typecheck and build; 14/14
1135
+ transport-contract tests; 7/7 command-menu tests; complete Telegram Bot API
1136
+ 10 suite 164/164; focused Prettier checks and `git diff --check`.
1137
+ - Publication, installation, broker restart, and a fresh General-topic live
1138
+ receipt remain separate deployment/acceptance gates.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.797",
3
+ "version": "1.0.799",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.797",
9
+ "version": "1.0.799",
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.797",
3
+ "version": "1.0.799",
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",