omnius 1.0.800 → 1.0.802
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 +2 -2
- package/dist/library.js +9 -0
- package/docs/DISCOVERY.json +114 -1
- package/docs/DISCOVERY.md +4 -1
- package/docs/research/translation-model-routing-2026-10-03.md +87 -0
- package/docs/work-orders/runtime-health-remediation/WO-57-telegram-delivery-truth-and-recovery.md +186 -6
- package/docs/work-orders/runtime-health-remediation/WO-58-agent-scoped-footer-observability.md +69 -0
- package/docs/work-orders/runtime-health-remediation/WO-59-telegram-restart-edit-crash.md +112 -0
- package/npm-shrinkwrap.json +5 -5
- package/package.json +1 -1
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: 39394269 bytes
|
|
4
|
+
sha256: 500561a50f20213a692c6da7fb867a448f99617bec208c4b1ddb6492843b748e
|
package/dist/library.js
CHANGED
|
@@ -296769,6 +296769,13 @@ var init_asr_listen = __esm({
|
|
|
296769
296769
|
}
|
|
296770
296770
|
});
|
|
296771
296771
|
|
|
296772
|
+
// packages/execution/dist/full-sub-agent-events.js
|
|
296773
|
+
var init_full_sub_agent_events = __esm({
|
|
296774
|
+
"packages/execution/dist/full-sub-agent-events.js"() {
|
|
296775
|
+
"use strict";
|
|
296776
|
+
}
|
|
296777
|
+
});
|
|
296778
|
+
|
|
296772
296779
|
// packages/execution/dist/delegation-contract.js
|
|
296773
296780
|
var init_delegation_contract = __esm({
|
|
296774
296781
|
"packages/execution/dist/delegation-contract.js"() {
|
|
@@ -296782,6 +296789,7 @@ var init_full_sub_agent = __esm({
|
|
|
296782
296789
|
"use strict";
|
|
296783
296790
|
init_process_kill();
|
|
296784
296791
|
init_model_broker();
|
|
296792
|
+
init_full_sub_agent_events();
|
|
296785
296793
|
init_delegation_contract();
|
|
296786
296794
|
init_process_lifecycle();
|
|
296787
296795
|
}
|
|
@@ -297316,6 +297324,7 @@ var init_dist3 = __esm({
|
|
|
297316
297324
|
init_vibevoice_runtime();
|
|
297317
297325
|
init_pcm16_silence_gate();
|
|
297318
297326
|
init_system_auth();
|
|
297327
|
+
init_full_sub_agent_events();
|
|
297319
297328
|
init_full_sub_agent();
|
|
297320
297329
|
init_mutation_contract();
|
|
297321
297330
|
init_agent_tool();
|
package/docs/DISCOVERY.json
CHANGED
|
@@ -31168,6 +31168,41 @@
|
|
|
31168
31168
|
}
|
|
31169
31169
|
]
|
|
31170
31170
|
},
|
|
31171
|
+
{
|
|
31172
|
+
"id": "guide.research-translation-model-routing-2026-10-03",
|
|
31173
|
+
"kind": "guide",
|
|
31174
|
+
"title": "Translation model routing note — 2026-10-03",
|
|
31175
|
+
"summary": "Do not use the 9B general Omnius model as the unconditional translation lane. Keep it as the semantic fallback for translation requests that also require reasoning, terminology negotiation, long conversational context, or tool use. Route plain, typed translation requests to a smaller translation-specific model selected by language coverage and license.",
|
|
31176
|
+
"keywords": [
|
|
31177
|
+
"research",
|
|
31178
|
+
"translation",
|
|
31179
|
+
"model",
|
|
31180
|
+
"routing",
|
|
31181
|
+
"2026",
|
|
31182
|
+
"10",
|
|
31183
|
+
"03",
|
|
31184
|
+
"md"
|
|
31185
|
+
],
|
|
31186
|
+
"maturity": "internal",
|
|
31187
|
+
"audiences": [
|
|
31188
|
+
"maintainer",
|
|
31189
|
+
"large-context-agent"
|
|
31190
|
+
],
|
|
31191
|
+
"layer": "documentation",
|
|
31192
|
+
"interfaces": [
|
|
31193
|
+
{
|
|
31194
|
+
"type": "file",
|
|
31195
|
+
"target": "docs/research/translation-model-routing-2026-10-03.md"
|
|
31196
|
+
}
|
|
31197
|
+
],
|
|
31198
|
+
"references": [
|
|
31199
|
+
{
|
|
31200
|
+
"type": "documentation",
|
|
31201
|
+
"target": "docs/research/translation-model-routing-2026-10-03.md",
|
|
31202
|
+
"relation": "canonical-artifact"
|
|
31203
|
+
}
|
|
31204
|
+
]
|
|
31205
|
+
},
|
|
31171
31206
|
{
|
|
31172
31207
|
"id": "guide.rest-auth-and-scopes",
|
|
31173
31208
|
"kind": "guide",
|
|
@@ -35906,7 +35941,7 @@
|
|
|
35906
35941
|
"id": "guide.work-orders-runtime-health-remediation-wo-57-telegram-delivery-truth-and-recovery-uppercase",
|
|
35907
35942
|
"kind": "guide",
|
|
35908
35943
|
"title": "WO-57: Telegram delivery truth, reminder authority, and bounded recovery",
|
|
35909
|
-
"summary": "Status:
|
|
35944
|
+
"summary": "Status: REQ-TDT-019 and the REQ-TDT-016 lease correction were delivered in cdf81ffd; the 23-file Case Theory acceptance run then exposed the terminal same-response contract mismatch tracked by REQ-TDT-020. Its source repair was delivered in 1b451bc8; publication, redeployment, live acceptance, and the pre-existing full-suite debt recorded below remain open. ",
|
|
35910
35945
|
"keywords": [
|
|
35911
35946
|
"work",
|
|
35912
35947
|
"orders",
|
|
@@ -35942,6 +35977,84 @@
|
|
|
35942
35977
|
}
|
|
35943
35978
|
]
|
|
35944
35979
|
},
|
|
35980
|
+
{
|
|
35981
|
+
"id": "guide.work-orders-runtime-health-remediation-wo-58-agent-scoped-footer-observability-uppercase",
|
|
35982
|
+
"kind": "guide",
|
|
35983
|
+
"title": "WO-58 — Agent-scoped footer observability",
|
|
35984
|
+
"summary": "Status: source delivered in 8a81eab6; deployment acceptance pending",
|
|
35985
|
+
"keywords": [
|
|
35986
|
+
"work",
|
|
35987
|
+
"orders",
|
|
35988
|
+
"runtime",
|
|
35989
|
+
"health",
|
|
35990
|
+
"remediation",
|
|
35991
|
+
"WO",
|
|
35992
|
+
"58",
|
|
35993
|
+
"agent",
|
|
35994
|
+
"scoped",
|
|
35995
|
+
"footer",
|
|
35996
|
+
"observability",
|
|
35997
|
+
"md"
|
|
35998
|
+
],
|
|
35999
|
+
"maturity": "internal",
|
|
36000
|
+
"audiences": [
|
|
36001
|
+
"maintainer",
|
|
36002
|
+
"large-context-agent"
|
|
36003
|
+
],
|
|
36004
|
+
"layer": "documentation",
|
|
36005
|
+
"interfaces": [
|
|
36006
|
+
{
|
|
36007
|
+
"type": "file",
|
|
36008
|
+
"target": "docs/work-orders/runtime-health-remediation/WO-58-agent-scoped-footer-observability.md"
|
|
36009
|
+
}
|
|
36010
|
+
],
|
|
36011
|
+
"references": [
|
|
36012
|
+
{
|
|
36013
|
+
"type": "documentation",
|
|
36014
|
+
"target": "docs/work-orders/runtime-health-remediation/WO-58-agent-scoped-footer-observability.md",
|
|
36015
|
+
"relation": "canonical-artifact"
|
|
36016
|
+
}
|
|
36017
|
+
]
|
|
36018
|
+
},
|
|
36019
|
+
{
|
|
36020
|
+
"id": "guide.work-orders-runtime-health-remediation-wo-59-telegram-restart-edit-crash-uppercase",
|
|
36021
|
+
"kind": "guide",
|
|
36022
|
+
"title": "WO-59: Telegram restart edit crash and terminal-intake monotonicity",
|
|
36023
|
+
"summary": "Status: COMPLETE — implemented, verified, and pushed in 9fadef51 Priority: P0 Incident: October 3, 2026, telegramtest TUI exits immediately while loading the OMNIUS Telegram session Owner: Omnius Telegram durable-intake runtime Depends on: WO-57 Completion rule: Mark a checkbox complete only when its code anchor and deterministic evidence exist. Do not delet",
|
|
36024
|
+
"keywords": [
|
|
36025
|
+
"work",
|
|
36026
|
+
"orders",
|
|
36027
|
+
"runtime",
|
|
36028
|
+
"health",
|
|
36029
|
+
"remediation",
|
|
36030
|
+
"WO",
|
|
36031
|
+
"59",
|
|
36032
|
+
"telegram",
|
|
36033
|
+
"restart",
|
|
36034
|
+
"edit",
|
|
36035
|
+
"crash",
|
|
36036
|
+
"md"
|
|
36037
|
+
],
|
|
36038
|
+
"maturity": "internal",
|
|
36039
|
+
"audiences": [
|
|
36040
|
+
"maintainer",
|
|
36041
|
+
"large-context-agent"
|
|
36042
|
+
],
|
|
36043
|
+
"layer": "documentation",
|
|
36044
|
+
"interfaces": [
|
|
36045
|
+
{
|
|
36046
|
+
"type": "file",
|
|
36047
|
+
"target": "docs/work-orders/runtime-health-remediation/WO-59-telegram-restart-edit-crash.md"
|
|
36048
|
+
}
|
|
36049
|
+
],
|
|
36050
|
+
"references": [
|
|
36051
|
+
{
|
|
36052
|
+
"type": "documentation",
|
|
36053
|
+
"target": "docs/work-orders/runtime-health-remediation/WO-59-telegram-restart-edit-crash.md",
|
|
36054
|
+
"relation": "canonical-artifact"
|
|
36055
|
+
}
|
|
36056
|
+
]
|
|
36057
|
+
},
|
|
35945
36058
|
{
|
|
35946
36059
|
"id": "guide.work-orders-telegram-dmn-wo-22-dmn-outreach-and-learning-uppercase",
|
|
35947
36060
|
"kind": "guide",
|
package/docs/DISCOVERY.md
CHANGED
|
@@ -480,6 +480,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
480
480
|
| `guide.research-archived-readme-uppercase` | Archived design notes — unwired | Documents in this directory describe design proposals that were never wired into the runtime. They are kept for historical context only. |
|
|
481
481
|
| `guide.research-k-splanifolds` | K Splanifolds | Bundled Omnius documentation artifact: docs/research/k-splanifolds.pdf. |
|
|
482
482
|
| `guide.research-personality-verbosity-control` | LLM Personality Guidance & Verbosity Control: Research Synthesis | Date: 2026-03-13 Purpose: Literature review and integration strategy for transient personality/verbosity steering in the Omnius framework |
|
|
483
|
+
| `guide.research-translation-model-routing-2026-10-03` | Translation model routing note — 2026-10-03 | Do not use the 9B general Omnius model as the unconditional translation lane. Keep it as the semantic fallback for translation requests that also require reasoning, terminology negotiation, long conversational context, or tool use. Route plain, typed translation requests to a smaller translation-specific model selected by language coverage and license. |
|
|
483
484
|
| `guide.rest-auth-and-scopes` | Auth And Scopes | Omnius can run without auth for local development, but shared deployments should use bearer keys. |
|
|
484
485
|
| `guide.rest-endpoints-aims` | AIMS Governance Endpoints | Omnius exposes an ISO/IEC 42001-oriented AI Management System surface for audit-aligned deployments. |
|
|
485
486
|
| `guide.rest-endpoints-aiwg` | AIWG Cascade Endpoints | AIWG endpoints expose a discover-then-expand documentation and workflow model for small and large context agents. |
|
|
@@ -609,7 +610,9 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
609
610
|
| `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
611
|
| `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
612
|
| `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:
|
|
613
|
+
| `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: REQ-TDT-019 and the REQ-TDT-016 lease correction were delivered in cdf81ffd; the 23-file Case Theory acceptance run then exposed the terminal same-response contract mismatch tracked by REQ-TDT-020. Its source repair was delivered in 1b451bc8; publication, redeployment, live acceptance, and the pre-existing full-suite debt recorded below remain open. |
|
|
614
|
+
| `guide.work-orders-runtime-health-remediation-wo-58-agent-scoped-footer-observability-uppercase` | WO-58 — Agent-scoped footer observability | Status: source delivered in 8a81eab6; deployment acceptance pending |
|
|
615
|
+
| `guide.work-orders-runtime-health-remediation-wo-59-telegram-restart-edit-crash-uppercase` | WO-59: Telegram restart edit crash and terminal-intake monotonicity | Status: COMPLETE — implemented, verified, and pushed in 9fadef51 Priority: P0 Incident: October 3, 2026, telegramtest TUI exits immediately while loading the OMNIUS Telegram session Owner: Omnius Telegram durable-intake runtime Depends on: WO-57 Completion rule: Mark a checkbox complete only when its code anchor and deterministic evidence exist. Do not delet |
|
|
613
616
|
| `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
617
|
| `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
618
|
| `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. |
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Translation model routing note — 2026-10-03
|
|
2
|
+
|
|
3
|
+
## Decision
|
|
4
|
+
|
|
5
|
+
Do not use the 9B general Omnius model as the unconditional translation lane.
|
|
6
|
+
Keep it as the semantic fallback for translation requests that also require
|
|
7
|
+
reasoning, terminology negotiation, long conversational context, or tool use.
|
|
8
|
+
Route plain, typed translation requests to a smaller translation-specific
|
|
9
|
+
model selected by language coverage and license.
|
|
10
|
+
|
|
11
|
+
Recommended evaluation order:
|
|
12
|
+
|
|
13
|
+
1. **TranslateGemma 4B** for the supported 55-language set when quality is the
|
|
14
|
+
priority and the Gemma license is acceptable. Google reports that the 4B
|
|
15
|
+
translation-tuned model rivals its larger 12B Gemma baseline. It also
|
|
16
|
+
supports image-text translation and has published quantized deployment
|
|
17
|
+
paths. Its material constraint is a 2K-token input context and a strict
|
|
18
|
+
source/target-language template; it is not a drop-in conversational agent.
|
|
19
|
+
2. **MADLAD-400 3B MT** as the broad, permissively licensed multilingual lane.
|
|
20
|
+
The published model card lists 419 languages, Apache-2.0 licensing, a 3B T5
|
|
21
|
+
architecture, and a 1.65 GB Q4K artifact versus 11.8 GB original weights.
|
|
22
|
+
It is the strongest first candidate when Omnius needs broad language
|
|
23
|
+
coverage under a production-compatible license.
|
|
24
|
+
3. **OPUS-MT/Marian pair-specific models** for a small set of hot language
|
|
25
|
+
pairs where minimum residency and latency matter most. A representative
|
|
26
|
+
English-Maltese checkpoint is 294 MB and Apache-2.0. The tradeoff is model
|
|
27
|
+
and routing proliferation: every direction/pair needs explicit inventory,
|
|
28
|
+
health, and fallback management.
|
|
29
|
+
4. **NLLB-200 distilled 600M** only for research/non-commercial evaluation or
|
|
30
|
+
an explicitly compatible use. It covers 196 listed languages at 600M
|
|
31
|
+
parameters, but its CC-BY-NC license and model-card limitations make it a
|
|
32
|
+
poor default production choice. Meta describes it as research-oriented,
|
|
33
|
+
single-sentence translation, not production/document translation, with
|
|
34
|
+
training inputs capped at 512 tokens.
|
|
35
|
+
|
|
36
|
+
## Operational fit
|
|
37
|
+
|
|
38
|
+
| Candidate | Best fit | Important constraint | Recommendation |
|
|
39
|
+
| --- | --- | --- | --- |
|
|
40
|
+
| TranslateGemma 4B | High-quality text/image translation in 55 languages | Gemma license, strict language-coded template, 2K context | Primary quality candidate |
|
|
41
|
+
| MADLAD-400 3B MT | Very broad multilingual text under Apache-2.0 | General-domain research model; validate target pairs | Primary broad-production candidate |
|
|
42
|
+
| OPUS-MT/Marian | Fixed high-volume language pairs | Pair/direction-specific fleet complexity | Lowest-footprint specialist lane |
|
|
43
|
+
| NLLB-200 600M | Low-resource research and offline comparison | CC-BY-NC, 512-token training limit, not production/document use | Evaluation only |
|
|
44
|
+
| Qwen3.5 9B Omnius lane | Mixed translation + reasoning/tools/context | Higher residency and latency; generic rather than MT-specific | Semantic fallback, not default MT |
|
|
45
|
+
|
|
46
|
+
## Router contract
|
|
47
|
+
|
|
48
|
+
A translation lane should be selected only when the request has a closed,
|
|
49
|
+
typed contract:
|
|
50
|
+
|
|
51
|
+
- source language and target language are explicit or detection has a receipt;
|
|
52
|
+
- the requested operation is translation only—no hidden summarization,
|
|
53
|
+
extraction, browsing, or tool work;
|
|
54
|
+
- source text, markup policy, glossary version, and source hash are retained;
|
|
55
|
+
- chunking respects sentence/document boundaries and rejoins deterministically;
|
|
56
|
+
- the selected model supports the pair, input length, script, and license;
|
|
57
|
+
- terminology and protected tokens are validated after generation;
|
|
58
|
+
- low confidence, unsupported pairs, glossary violations, or mixed reasoning
|
|
59
|
+
requirements fall back to the general Omnius lane.
|
|
60
|
+
|
|
61
|
+
The lane lease should follow the same rule as the Telegram repair: a finite
|
|
62
|
+
TTL that renews on model events, expires naturally when stale, and never stays
|
|
63
|
+
resident merely because a request once existed.
|
|
64
|
+
|
|
65
|
+
## Evaluation gate
|
|
66
|
+
|
|
67
|
+
Before changing Mapsource or broker routing, build a representative corpus for
|
|
68
|
+
the actual language pairs and text types. Compare the current 9B lane with the
|
|
69
|
+
three license-compatible candidates on:
|
|
70
|
+
|
|
71
|
+
- adequacy and named-entity/number preservation;
|
|
72
|
+
- terminology and markup preservation;
|
|
73
|
+
- p50/p95 first-token and completion latency;
|
|
74
|
+
- peak/resident VRAM and cold-load time;
|
|
75
|
+
- empty, truncated, wrong-language, and hallucinated-output rates;
|
|
76
|
+
- long-input chunk/reassembly behavior.
|
|
77
|
+
|
|
78
|
+
No live benchmark was run during this repair. Local model loading requires the
|
|
79
|
+
repository's accelerator preflight and GPU lease protocol.
|
|
80
|
+
|
|
81
|
+
## Primary sources
|
|
82
|
+
|
|
83
|
+
- [Google TranslateGemma 4B model card](https://huggingface.co/google/translategemma-4b-it)
|
|
84
|
+
- [Google TranslateGemma announcement and WMT24++ summary](https://blog.google/innovation-and-ai/technology/developers-tools/translategemma/)
|
|
85
|
+
- [Google MADLAD-400 3B MT model card](https://huggingface.co/google/madlad400-3b-mt)
|
|
86
|
+
- [Meta NLLB-200 distilled 600M model card](https://huggingface.co/facebook/nllb-200-distilled-600M)
|
|
87
|
+
- [Helsinki-NLP OPUS-MT English-Maltese model inventory](https://huggingface.co/Helsinki-NLP/opus-mt-en-mt/tree/main)
|
package/docs/work-orders/runtime-health-remediation/WO-57-telegram-delivery-truth-and-recovery.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# WO-57: Telegram delivery truth, reminder authority, and bounded recovery
|
|
2
2
|
|
|
3
|
-
**Status:**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
**Status:** REQ-TDT-019 and the REQ-TDT-016 lease correction were delivered in
|
|
4
|
+
`cdf81ffd`; the 23-file Case Theory acceptance run then exposed the terminal
|
|
5
|
+
same-response contract mismatch tracked by REQ-TDT-020. Its source repair was
|
|
6
|
+
delivered in `1b451bc8`; publication, redeployment, live acceptance, and the
|
|
7
|
+
pre-existing full-suite debt recorded below remain open.
|
|
7
8
|
**Priority:** P0
|
|
8
9
|
**Incident:** October 1, 2026, live Telegram reminder and illegal-logging non-responses
|
|
9
10
|
**Owner:** Omnius orchestrator and Telegram runtime
|
|
@@ -138,6 +139,27 @@ please follow her instructions`, but the explicit-continuation grammar
|
|
|
138
139
|
every retry reported `object work remains frozen`, no runner artifact
|
|
139
140
|
changed after the false terminal commit, and typing ceased while the
|
|
140
141
|
Telegram poller remained healthy.
|
|
142
|
+
- [x] Anchor the 1.0.800 quick-chat commitment failure: OMNIUS message 5727 was
|
|
143
|
+
a native reply in topic 5712 saying `@omnius_agent_bot do it and provide
|
|
144
|
+
a report here`. The router understood the prior commitment but selected
|
|
145
|
+
zero-tool chat; message 5728 only promised to pull the Borneo data, the
|
|
146
|
+
intake was consumed, and no action task or retrieval run was created.
|
|
147
|
+
- [x] Anchor the 1.0.800 Case Theory liveness risk: message 651 correctly
|
|
148
|
+
retained all 23 PDF criteria and advanced through 19 successful native
|
|
149
|
+
PDF reads, but Telegram configured `requestTimeoutMs:0` while the runner
|
|
150
|
+
watchdog exempted admitted inference. A backend promise that stopped
|
|
151
|
+
producing events could therefore retain the session forever.
|
|
152
|
+
- [x] Anchor the message-651 terminal contract failure: all 23 PDFs were read,
|
|
153
|
+
the model authored the complete 23-row answer, and the objective frontier
|
|
154
|
+
reached `deliver_due` with only `effect:visible_response` open. The same
|
|
155
|
+
response called `task_complete(summary:...)` without duplicating that
|
|
156
|
+
long answer into `user_reply`; the bridge rejected it, no provider
|
|
157
|
+
delivery receipt was created, and the run ended
|
|
158
|
+
`incomplete_verification` at `2026-10-02T18:20:41-07:00`.
|
|
159
|
+
- [x] Anchor convergence contamination: the first current-run completion
|
|
160
|
+
admission miss inherited 26 persisted rounds from the generic
|
|
161
|
+
`1:task_complete:no-target` family and immediately triggered forced
|
|
162
|
+
replanning for an unrelated objective.
|
|
141
163
|
|
|
142
164
|
Runtime evidence:
|
|
143
165
|
|
|
@@ -352,8 +374,11 @@ Primary anchors:
|
|
|
352
374
|
- [x] Renew the Telegram runner lease on every routed AgenticRunner lifecycle
|
|
353
375
|
event, while excluding Telegram typing/UI timers that could otherwise
|
|
354
376
|
keep an orphan alive indefinitely.
|
|
355
|
-
- [x] Suppress lease
|
|
356
|
-
|
|
377
|
+
- [x] Suppress the outer runner lease only while an exact-session inference is
|
|
378
|
+
admitted and owns its own finite deadline. Telegram may not set
|
|
379
|
+
`requestTimeoutMs:0`; the configured/default inactivity lease is renewed
|
|
380
|
+
by every stream chunk, while unary auxiliary requests remain absolutely
|
|
381
|
+
bounded.
|
|
357
382
|
- [x] On genuine event silence past the configured TTL, fence the generation,
|
|
358
383
|
abort its runner/controller, release its session ownership, and requeue
|
|
359
384
|
the exact retained intake through the existing durable recovery path.
|
|
@@ -674,6 +699,92 @@ Primary anchors:
|
|
|
674
699
|
- `packages/cli/tests/telegram-lifecycle-leak.test.ts`
|
|
675
700
|
- `packages/cli/tests/telegram-bot-api-10.test.ts`
|
|
676
701
|
|
|
702
|
+
### REQ-TDT-019 — independent fulfillment and plan-before-promise transfer
|
|
703
|
+
|
|
704
|
+
- [x] Separate transport/latency eligibility from fulfillment authority. A
|
|
705
|
+
router-approved conversational route may use the fast transport, but it
|
|
706
|
+
cannot certify that the generated candidate fulfilled the request.
|
|
707
|
+
- [x] Run the independent typed fulfillment review for every quick-chat
|
|
708
|
+
candidate; remove the host branch that fabricated
|
|
709
|
+
`taskState:"fulfilled"` for low-risk group chat.
|
|
710
|
+
- [x] Withhold every candidate classified `taskState:"continue"` from native
|
|
711
|
+
draft and Telegram message delivery. A future-work promise is local
|
|
712
|
+
untrusted text, not a provider-visible terminal response.
|
|
713
|
+
- [x] Convert `continue` to action, obtain a complete input-bound plan with
|
|
714
|
+
nonempty scoped tool names, and only then create the durable open task and
|
|
715
|
+
action runner. Planning failure retains the exact intake for bounded
|
|
716
|
+
scheduler recovery without publishing the promise.
|
|
717
|
+
- [x] Preserve true fulfilled conversation behavior: one independently
|
|
718
|
+
reviewed reply, one provider receipt, no action runner.
|
|
719
|
+
- [x] Add the exact OMNIUS 5712 -> 5713 -> 5727 topology and assert that the
|
|
720
|
+
Borneo promise is withheld, action planning runs, and the open task exists
|
|
721
|
+
before object work begins.
|
|
722
|
+
- [x] Pass focused quick-chat, working-indicator, steering, lifecycle,
|
|
723
|
+
inference-timeout, intake, and terminal-delivery suites plus CLI
|
|
724
|
+
typecheck and formatting.
|
|
725
|
+
|
|
726
|
+
Primary anchors:
|
|
727
|
+
|
|
728
|
+
- `packages/cli/src/tui/telegram-bridge.ts` — quick-chat semantic admission,
|
|
729
|
+
withheld-draft transfer, validated action planning, and finite inference TTL.
|
|
730
|
+
- `packages/cli/tests/telegram-quick-chat-contract.test.ts`
|
|
731
|
+
- `packages/cli/tests/telegram-working-indicator.test.ts`
|
|
732
|
+
- `packages/cli/tests/telegram-stream-timeout.test.ts`
|
|
733
|
+
- `packages/cli/tests/telegram-terminal-delivery.test.ts`
|
|
734
|
+
|
|
735
|
+
### REQ-TDT-020 — same-response terminal binding and convergence isolation
|
|
736
|
+
|
|
737
|
+
- [x] Let a Telegram answer and its sole `task_complete` operation in the same
|
|
738
|
+
model response share one host-bound visible-response candidate; do not
|
|
739
|
+
require the model to duplicate a long answer inside tool arguments.
|
|
740
|
+
- [x] Bind that candidate only when run ID, task epoch, turn, objective scope,
|
|
741
|
+
and frontier fingerprint match and `visible_response` is the sole
|
|
742
|
+
remaining effect.
|
|
743
|
+
- [x] Reject prior-turn drafts, intermediate answers, stale objectives, and
|
|
744
|
+
responses containing any sibling operation.
|
|
745
|
+
- [x] When a visible candidate is followed by legitimate read-only refinement,
|
|
746
|
+
bind the exception to its exact run/task/response-turn identity, consume
|
|
747
|
+
it once, and fence any repeated operation unless a fresh candidate is
|
|
748
|
+
authored.
|
|
749
|
+
- [x] Keep `task_complete` admission feedback in the current run, but exclude
|
|
750
|
+
the generic control-tool failure family from persistent cross-objective
|
|
751
|
+
convergence state.
|
|
752
|
+
- [x] Add streaming/non-streaming positive controls plus stale-turn,
|
|
753
|
+
sibling-operation, repeated-read, and persistence-isolation regressions.
|
|
754
|
+
|
|
755
|
+
Primary anchors:
|
|
756
|
+
|
|
757
|
+
- `packages/orchestrator/src/agenticRunner.ts`
|
|
758
|
+
- `packages/orchestrator/src/focusSupervisor.ts`
|
|
759
|
+
- `packages/orchestrator/src/taskObjective.ts`
|
|
760
|
+
- `packages/orchestrator/tests/telegram-visible-response-authority.test.ts`
|
|
761
|
+
- `packages/orchestrator/tests/focusSupervisor.test.ts`
|
|
762
|
+
- `packages/orchestrator/tests/task-objective.test.ts`
|
|
763
|
+
- `packages/cli/tests/telegram-streamed-terminal-answer.test.ts`
|
|
764
|
+
|
|
765
|
+
### Residual full-suite authority debt (not introduced by REQ-TDT-020)
|
|
766
|
+
|
|
767
|
+
- [ ] Replace loop-detector `redirect` steering with an internal,
|
|
768
|
+
task-epoch/TTL-bound repetition directive. It may reject only the exact
|
|
769
|
+
repeated action fingerprint and must not impersonate new user authority.
|
|
770
|
+
- [ ] Preserve schema-first rejection while invoking a tool's custom
|
|
771
|
+
`validateInput` once so typed domain diagnostics replace generic schema
|
|
772
|
+
errors without allowing invalid input.
|
|
773
|
+
- [ ] Bring legacy Telegram conversation-evidence fixtures onto the selected
|
|
774
|
+
capability contract instead of asking a `route:"chat"` turn with no
|
|
775
|
+
`actionToolNames` to execute deferred `shell`/`diagnostic` tools.
|
|
776
|
+
- [ ] Rerun the complete orchestrator and CLI suites and close only when their
|
|
777
|
+
previously red baseline is green without weakening production gates.
|
|
778
|
+
|
|
779
|
+
Evidence anchors:
|
|
780
|
+
|
|
781
|
+
- `packages/orchestrator/tests/evidenceBranch-runner.test.ts` — internal
|
|
782
|
+
loop-detector steering blocks a materially different ranged read.
|
|
783
|
+
- `packages/cli/tests/diagnostic-boundary.test.ts` — generic schema rejection
|
|
784
|
+
currently bypasses the tool-specific validator.
|
|
785
|
+
- `packages/cli/tests/telegram-conversation-evidence.test.ts` — fixture omits
|
|
786
|
+
the selected tool capability and is correctly denied by production dispatch.
|
|
787
|
+
|
|
677
788
|
## Cross-surface validation gates
|
|
678
789
|
|
|
679
790
|
- [x] Orchestrator focused tests pass for visible-response evidence, completion
|
|
@@ -717,6 +828,8 @@ Primary anchors:
|
|
|
717
828
|
| REQ-TDT-016 | event cadence + renewable runner lease | lifecycle leak + steering/finalization | delivered; redeploy pending |
|
|
718
829
|
| REQ-TDT-017 | exact Telegram forum-topic delivery | final chunks + commands + artifacts | focused green; redeploy pending |
|
|
719
830
|
| REQ-TDT-018 | delivery commit + full batch recovery | exact 23-file message-650 replay | focused green; deploy pending |
|
|
831
|
+
| REQ-TDT-019 | fulfillment review + plan-before-promise transfer | exact OMNIUS 5727 + fulfilled-chat control | delivered in `cdf81ffd` |
|
|
832
|
+
| REQ-TDT-020 | same-response completion + convergence isolation | message 651 terminal answer + stale/sibling controls | delivered in `1b451bc8` |
|
|
720
833
|
|
|
721
834
|
## Evidence log
|
|
722
835
|
|
|
@@ -1185,3 +1298,70 @@ delivery controls`). Both scoped commits were pushed to tracked branch
|
|
|
1185
1298
|
- No live inference, Telegram send, publication, installation, or service
|
|
1186
1299
|
restart was performed. Deployment and live Case Theory/OMNIUS acceptance
|
|
1187
1300
|
remain open.
|
|
1301
|
+
|
|
1302
|
+
### 2026-10-03 — live 1.0.800 quick-chat transfer and inference-lease repair
|
|
1303
|
+
|
|
1304
|
+
- OMNIUS message 5727 proved that social reply authority and task fulfillment
|
|
1305
|
+
were still conflated. The router correctly understood the direct reply to a
|
|
1306
|
+
prior bot commitment, but quick chat skipped independent fulfillment review,
|
|
1307
|
+
fabricated `fulfilled`, delivered another promise as message 5728, and
|
|
1308
|
+
consumed the intake without an action task.
|
|
1309
|
+
- Fast-path eligibility is now only a transport decision. Every candidate is
|
|
1310
|
+
independently classified as fulfilled or continue. A continuation candidate
|
|
1311
|
+
is never streamed or sent; it is converted to action, receives a validated
|
|
1312
|
+
input-bound tool/outcome plan, and reaches durable task creation before any
|
|
1313
|
+
object work begins. Invalid planning uses the bounded exact-intake recovery
|
|
1314
|
+
path without exposing the promise.
|
|
1315
|
+
- Case Theory message 651 was progressing rather than file-I/O stalled: 19 of
|
|
1316
|
+
23 PDFs had successful native text extraction and the itemized frontier kept
|
|
1317
|
+
messages 639-642 plus visible response open. The remaining hard liveness gap
|
|
1318
|
+
was `requestTimeoutMs:0`: an admitted backend promise was exempt from the
|
|
1319
|
+
outer watchdog and had no deadline of its own.
|
|
1320
|
+
- Telegram action runners now use the existing configurable 300-second stream
|
|
1321
|
+
inactivity lease. Each response chunk renews it; unary/auxiliary calls are
|
|
1322
|
+
bounded by the same value; explicit stop remains immediate. This restores the
|
|
1323
|
+
REQ-TDT-016 invariant without imposing a blind whole-task timer.
|
|
1324
|
+
- Focused validation passed 230/230 across quick-chat, working-indicator,
|
|
1325
|
+
steering, intake, lifecycle, observability, inference-contract/timeout, and
|
|
1326
|
+
terminal-delivery suites. CLI typecheck and build passed; Prettier and
|
|
1327
|
+
`git diff --check` passed. Commit `cdf81ffd` was pushed to tracked branch
|
|
1328
|
+
`origin/main`. No live inference, Telegram send, publication, installation,
|
|
1329
|
+
or service restart was performed.
|
|
1330
|
+
|
|
1331
|
+
### 2026-10-03 — message-651 terminal convergence repair
|
|
1332
|
+
|
|
1333
|
+
- The live Case Theory runner successfully extracted all 23 PDFs and authored
|
|
1334
|
+
the complete 23-row answer. Its frontier contained 26 evidence records and
|
|
1335
|
+
reached `deliver_due`; `effect:visible_response` was the sole open criterion.
|
|
1336
|
+
The answer and a summary-only `task_complete` occurred in the same model
|
|
1337
|
+
response, but the adapter required `user_reply` even though the tool schema
|
|
1338
|
+
made it optional. The answer was discarded and the run ended
|
|
1339
|
+
`incomplete_verification` with no delivery receipt.
|
|
1340
|
+
- The runner now host-binds same-response visible text to a sole
|
|
1341
|
+
`task_complete` operation. Admission requires exact run, task epoch, turn,
|
|
1342
|
+
objective scope, frontier fingerprint, and a sole remaining
|
|
1343
|
+
`visible_response` effect. It cannot reuse an earlier draft or bind when any
|
|
1344
|
+
sibling operation remains.
|
|
1345
|
+
- A following read-only refinement can invalidate an exact buffered candidate
|
|
1346
|
+
through a one-shot run/task/response-turn lease. The lease is consumed on
|
|
1347
|
+
admission; a second read is fenced unless a new candidate is authored. This
|
|
1348
|
+
preserves bounded refinement without reopening the Case Theory runaway.
|
|
1349
|
+
- `task_complete` admission failures remain available to same-run focus
|
|
1350
|
+
guidance but no longer enter the persistent convergence breaker. This
|
|
1351
|
+
prevents the observed generic `1:task_complete:no-target` family from
|
|
1352
|
+
carrying 26 unrelated rounds into a new objective.
|
|
1353
|
+
- Focused validation passed 219/219: 72 orchestrator objective/authority/focus
|
|
1354
|
+
regressions and 147 CLI terminal-delivery, streamed-answer, lifecycle, and
|
|
1355
|
+
agent-observability regressions. Orchestrator and CLI typechecks/builds plus
|
|
1356
|
+
`git diff --check` passed. Source commit `1b451bc8` was pushed to tracked
|
|
1357
|
+
branch `origin/main`.
|
|
1358
|
+
- The complete CLI suite reached 3,136 passing and 19 failing tests. The
|
|
1359
|
+
failures reproduce outside this change and include stale capability fixtures,
|
|
1360
|
+
source-shape assertions, and older validation/authority-domain regressions.
|
|
1361
|
+
The complete orchestrator suite likewise exposed pre-existing deterministic
|
|
1362
|
+
reds and one long-lived worker, so it was stopped after the gate was already
|
|
1363
|
+
red. Those failures remain explicitly unchecked above; they were not hidden
|
|
1364
|
+
or converted into weaker assertions.
|
|
1365
|
+
- Publication, installation, restart, and a fresh provider delivery receipt
|
|
1366
|
+
remain open. The observed Case Theory 651 and OMNIUS 5727 runs predate this
|
|
1367
|
+
source deployment and are not acceptance evidence for the repair.
|
package/docs/work-orders/runtime-health-remediation/WO-58-agent-scoped-footer-observability.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# WO-58 — Agent-scoped footer observability
|
|
2
|
+
|
|
3
|
+
Status: source delivered in `8a81eab6`; deployment acceptance pending
|
|
4
|
+
|
|
5
|
+
## Problem
|
|
6
|
+
|
|
7
|
+
The TUI's agent selector changes the visible scrollback, but the stage block,
|
|
8
|
+
context gauge, token/model/SNR/cost pages, uptime, and activity signal continue
|
|
9
|
+
to describe the base session. Telegram child events also lose their view ID at
|
|
10
|
+
the bridge callback boundary, and completed views are immediately discarded.
|
|
11
|
+
This makes an active or stalled child look indistinguishable from the base
|
|
12
|
+
agent and removes the evidence needed to inspect a just-finished run.
|
|
13
|
+
|
|
14
|
+
## Invariants
|
|
15
|
+
|
|
16
|
+
- Selecting an agent selects one coherent observability scope: scrollback,
|
|
17
|
+
stage, context, token metrics, model/backend, SNR, cost, runtime, and status.
|
|
18
|
+
- Unknown child metrics render as `--`; base-session values must never leak into
|
|
19
|
+
a child view.
|
|
20
|
+
- The base agent remains a selectable scope.
|
|
21
|
+
- Agent indicators use terminal-cell widths, remain inside the footer, and do
|
|
22
|
+
not overlap other footer content on narrow terminals.
|
|
23
|
+
- Completed views remain inspectable for a bounded history and are pruned after
|
|
24
|
+
a 30-minute TTL or when the 12-view cap is exceeded.
|
|
25
|
+
- Structured telemetry is attributed by immutable view ID, never inferred from
|
|
26
|
+
display text or the currently selected view.
|
|
27
|
+
|
|
28
|
+
## Implementation checklist
|
|
29
|
+
|
|
30
|
+
- [x] Define a canonical per-view telemetry snapshot beside each agent view.
|
|
31
|
+
- [x] Preserve the existing global metrics as the explicit `main` scope.
|
|
32
|
+
- [x] Ingest structured token, context, tool, stream, and status events into the
|
|
33
|
+
matching view snapshot.
|
|
34
|
+
- [x] Forward Telegram runner events across the bridge with their view ID.
|
|
35
|
+
- [x] Drive the footer stage block and every metrics page from the selected
|
|
36
|
+
view.
|
|
37
|
+
- [x] Render honest `--` values when a child backend does not expose a metric.
|
|
38
|
+
- [x] Add stable, status-colored agent dots adjacent to the metrics page
|
|
39
|
+
indicator, including the base agent.
|
|
40
|
+
- [x] Make each visible dot a precise mouse hit target that selects its view.
|
|
41
|
+
- [x] Show the selected agent name beside the `[n/6]` page indicator.
|
|
42
|
+
- [x] Bound dot overflow with `+N`, cap the selected label, and verify narrow
|
|
43
|
+
terminal layout does not overlap.
|
|
44
|
+
- [x] Retain and prune a bounded set of completed/failed/stopped view snapshots.
|
|
45
|
+
- [x] Keep Ctrl-Left/Ctrl-Right and the agents command center synchronized with
|
|
46
|
+
the same selected view.
|
|
47
|
+
|
|
48
|
+
## Validation checklist
|
|
49
|
+
|
|
50
|
+
- [x] Unit-test per-agent metric isolation and unknown-value rendering.
|
|
51
|
+
- [x] Unit-test structured event attribution and Telegram callback forwarding.
|
|
52
|
+
- [x] Unit-test dot rendering, status changes, click selection, overflow, and
|
|
53
|
+
narrow-terminal width.
|
|
54
|
+
- [x] Unit-test completed-view retention and bounded pruning.
|
|
55
|
+
- [x] Run affected TUI and Telegram test suites.
|
|
56
|
+
- [x] Run CLI typecheck and build.
|
|
57
|
+
- [x] Run `git diff --check`.
|
|
58
|
+
- [x] Commit the scoped repair, fetch the tracked branch, and push it.
|
|
59
|
+
- [ ] Validate dot selection and per-agent footer pages in the published TUI.
|
|
60
|
+
|
|
61
|
+
## Delivery evidence
|
|
62
|
+
|
|
63
|
+
- Commit: `8a81eab6` (`feat(tui): scope footer telemetry by agent`)
|
|
64
|
+
- Remote branch: `origin/main`
|
|
65
|
+
- Tests: 108/108 focused TUI/Telegram observability tests; 147/147 when
|
|
66
|
+
combined with Telegram terminal and streamed-answer regressions; CLI
|
|
67
|
+
typecheck/build and `git diff --check` passed.
|
|
68
|
+
- Live acceptance: pending publication/installation; the currently running
|
|
69
|
+
`telegram_test` process predates this build.
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# WO-59: Telegram restart edit crash and terminal-intake monotonicity
|
|
2
|
+
|
|
3
|
+
**Status:** COMPLETE — implemented, verified, and pushed in `9fadef51`
|
|
4
|
+
**Priority:** P0
|
|
5
|
+
**Incident:** October 3, 2026, `telegram_test` TUI exits immediately while
|
|
6
|
+
loading the OMNIUS Telegram session
|
|
7
|
+
**Owner:** Omnius Telegram durable-intake runtime
|
|
8
|
+
**Depends on:** WO-57
|
|
9
|
+
**Completion rule:** Mark a checkbox complete only when its code anchor and
|
|
10
|
+
deterministic evidence exist. Do not delete or rewrite live Telegram state to
|
|
11
|
+
make startup appear healthy.
|
|
12
|
+
|
|
13
|
+
## Objective
|
|
14
|
+
|
|
15
|
+
Make edited Telegram messages retain one logical input identity across process
|
|
16
|
+
restart. A later `edited_message` envelope for a terminal input must be stored
|
|
17
|
+
as evidence and transport-terminalized without reopening cognition, scheduling
|
|
18
|
+
work, or allowing a stale nonterminal transition to terminate the TUI.
|
|
19
|
+
|
|
20
|
+
## Live failure anchors
|
|
21
|
+
|
|
22
|
+
- [x] Confirm the foreground TUI PID `2136726` exited while the independently
|
|
23
|
+
supervised `omnius-daemon.service` stayed healthy.
|
|
24
|
+
- [x] Correlate the exact exit at `2026-10-03T07:11:40.465Z` with
|
|
25
|
+
`TelegramUpdateConflictError: Telegram input
|
|
26
|
+
telegram:chat:-1003888256865:5719:5726 is already terminal as consumed`
|
|
27
|
+
in `~/.omnius/crash.log`.
|
|
28
|
+
- [x] Confirm the global `unhandledRejection` boundary converted the escaped
|
|
29
|
+
background lifecycle rejection into `process.exit(1)`.
|
|
30
|
+
- [x] Confirm conversation temp files owned by PID `2136726` were truncated
|
|
31
|
+
mid-write at the same timestamp; they are consequences of immediate
|
|
32
|
+
process exit, not malformed canonical conversation input.
|
|
33
|
+
- [x] Confirm durable spool identity: original update `666869361` and edited
|
|
34
|
+
update `666869375` bind to the same immutable input, message `5726`, and
|
|
35
|
+
topic `5719`; the logical intake was already `consumed`.
|
|
36
|
+
- [x] Locate the restart gap: the early edited-message gate checks only the
|
|
37
|
+
process-local `telegramIntakeRecords` map, so an edit arriving after
|
|
38
|
+
restart bypasses consolidation, rehydrates a terminal durable intake,
|
|
39
|
+
and attempts an illegal `consumed -> deferred` transition.
|
|
40
|
+
|
|
41
|
+
## Repair checklist
|
|
42
|
+
|
|
43
|
+
### REQ-TERC-001 — restart-safe edit identity
|
|
44
|
+
|
|
45
|
+
- [x] Consult the durable intake store when an edited message is absent from
|
|
46
|
+
process-local memory.
|
|
47
|
+
- [x] Rehydrate and consolidate the persisted logical intake without starting
|
|
48
|
+
a second cognition/reply run.
|
|
49
|
+
- [x] Keep the edited raw envelope transport-terminal and preserve the
|
|
50
|
+
original logical intake owner.
|
|
51
|
+
|
|
52
|
+
Primary anchors:
|
|
53
|
+
|
|
54
|
+
- `packages/cli/src/tui/telegram-bridge.ts` — edited-message ingress gate and
|
|
55
|
+
durable intake registration.
|
|
56
|
+
- `packages/cli/tests/telegram-durable-intake-integration.test.ts`
|
|
57
|
+
|
|
58
|
+
### REQ-TERC-002 — terminal intake monotonicity
|
|
59
|
+
|
|
60
|
+
- [x] Treat an exact-binding terminal durable state as authoritative when a
|
|
61
|
+
stale asynchronous nonterminal transition arrives.
|
|
62
|
+
- [x] Do not mutate the process-local record before the durable transition is
|
|
63
|
+
accepted.
|
|
64
|
+
- [x] Continue throwing immutable identity/binding conflicts; do not weaken
|
|
65
|
+
the spool contract or global crash handler.
|
|
66
|
+
- [x] Journal the rejected stale transition as reconciliation evidence.
|
|
67
|
+
|
|
68
|
+
Primary anchors:
|
|
69
|
+
|
|
70
|
+
- `packages/cli/src/tui/telegram-bridge.ts` — `transitionTelegramIntake()` and
|
|
71
|
+
`settleTelegramUpdateFromIntake()`.
|
|
72
|
+
- `packages/cli/tests/telegram-durable-intake-integration.test.ts`
|
|
73
|
+
|
|
74
|
+
### REQ-TERC-003 — validation and delivery
|
|
75
|
+
|
|
76
|
+
- [x] Regression: a terminal input followed by an edited envelope after
|
|
77
|
+
restart does not call `scheduleTelegramSessionWork()` and does not throw.
|
|
78
|
+
- [x] Regression: a stale nonterminal transition cannot regress a terminal
|
|
79
|
+
durable intake or its in-memory projection.
|
|
80
|
+
- [x] Run focused Telegram durable-intake and update-spool tests.
|
|
81
|
+
- [x] Run CLI typecheck and build.
|
|
82
|
+
- [x] Replay the exact live `telegram_test` WAL-backed spool snapshot and
|
|
83
|
+
edited envelope in an offline temporary project without model inference;
|
|
84
|
+
confirm terminal state, original owner, and zero scheduler calls.
|
|
85
|
+
- [x] Commit only WO-59-owned files, fetch the tracked branch, and push the
|
|
86
|
+
verified repair.
|
|
87
|
+
|
|
88
|
+
## Non-goals and safety constraints
|
|
89
|
+
|
|
90
|
+
- Do not delete or rewrite the 8.9 GB `.omnius` state tree.
|
|
91
|
+
- Do not discard the 3.3 GB deferred-memory spool; its TTL/rotation concern is
|
|
92
|
+
separate from this exact crash fingerprint.
|
|
93
|
+
- Do not catch every unhandled rejection globally or convert durable identity
|
|
94
|
+
conflicts into generic warnings.
|
|
95
|
+
- Do not send live inference while validating startup.
|
|
96
|
+
|
|
97
|
+
## Evidence log
|
|
98
|
+
|
|
99
|
+
- Runtime crash log: `/home/roko/.omnius/crash.log`
|
|
100
|
+
- Durable spool:
|
|
101
|
+
`/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/telegram-runner-state/bot-8929483195.updates.sqlite`
|
|
102
|
+
- Consequence temp files:
|
|
103
|
+
`/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/telegram-conversations/*.2136726.*.tmp`
|
|
104
|
+
and
|
|
105
|
+
`/home/roko/Documents/Projects/Adjacent/telegram_test/.omnius/telegram-runner-state/*.2136726.*.tmp`
|
|
106
|
+
- Focused validation: 7 test files, 162 tests passed; CLI typecheck and build
|
|
107
|
+
passed.
|
|
108
|
+
- Live-state offline replay: input
|
|
109
|
+
`telegram:chat:-1003888256865:5719:5726`, memory and durable lifecycle
|
|
110
|
+
`consumed`, owner update `666869361`, scheduler calls `0`.
|
|
111
|
+
- Delivery: implementation commit `9fadef51` pushed to `origin/main` after a
|
|
112
|
+
clean tracked-branch fetch (`origin/main...HEAD = 0/0`).
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnius",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.802",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "omnius",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.802",
|
|
10
10
|
"bundleDependencies": [
|
|
11
11
|
"image-to-ascii"
|
|
12
12
|
],
|
|
@@ -4893,9 +4893,9 @@
|
|
|
4893
4893
|
}
|
|
4894
4894
|
},
|
|
4895
4895
|
"node_modules/node-abi": {
|
|
4896
|
-
"version": "3.
|
|
4897
|
-
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.
|
|
4898
|
-
"integrity": "sha512-
|
|
4896
|
+
"version": "3.97.0",
|
|
4897
|
+
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.97.0.tgz",
|
|
4898
|
+
"integrity": "sha512-6Pu8F0eXGZlyz0EepPJrWgWDcBI8rKt2Wj8exOJU1tjVbu/VyZy5ZaLYS5N+Jp/Y3IP3sIRKcIOElTu7uC6KKA==",
|
|
4899
4899
|
"license": "MIT",
|
|
4900
4900
|
"dependencies": {
|
|
4901
4901
|
"semver": "^7.3.5"
|
package/package.json
CHANGED