omnius 1.0.856 → 1.0.858
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/py-embed.js +34 -17
- package/dist/index.js +2 -2
- package/dist/library.js +4888 -2666
- package/dist/update-worker.js +34 -17
- package/docs/DISCOVERY.json +459 -57
- package/docs/DISCOVERY.md +12 -1
- package/docs/work-orders/WO-automatic-capacity-recovery-and-room-history-20261013.md +167 -0
- package/docs/work-orders/WO-computer-use-loop-reconciliation-20261013.md +104 -0
- package/docs/work-orders/WO-escape-crash-and-gpu-incident-20261013.md +79 -0
- package/docs/work-orders/WO-tui-escape-input-wait-20261014.md +28 -0
- package/docs/work-orders/evidence/automatic-capacity-before-source-route-20261013.json +72 -0
- package/docs/work-orders/evidence/automatic-capacity-eager-before-stream-fix-20261014.json +73 -0
- package/docs/work-orders/evidence/automatic-capacity-eager-installed-20261014.json +146 -0
- package/docs/work-orders/evidence/automatic-capacity-final-stream-installed-20261014.json +249 -0
- package/docs/work-orders/evidence/automatic-capacity-stream-installed-20261013.json +362 -0
- package/docs/work-orders/evidence/native-reconciliation-readonly-live-20261014.json +69 -0
- package/docs/work-orders/evidence/source-hierarchy-installed-20261013.json +87 -0
- package/docs/work-orders/runtime-health-remediation/WO-20-exact-session-continuation.md +4 -2
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Automatic capacity recovery and consecutive room history
|
|
2
|
+
|
|
3
|
+
Status: automatic recovery and exact unread-source preservation are implemented
|
|
4
|
+
and verified through live remote inference in the isolated installed package,
|
|
5
|
+
for both default eager and file-backed source storage. Supersedes treating
|
|
6
|
+
ordinary context pressure as an acceptable terminal result in the complete-source
|
|
7
|
+
work order. Publication and active-runtime update remain with the operator.
|
|
8
|
+
|
|
9
|
+
Room-history repair: implemented and verified. Consecutive completed requests
|
|
10
|
+
reuse the same chronological block for the exact room/topic identity while the
|
|
11
|
+
block remains at the scrollback tail and the idle gap is below 30 seconds.
|
|
12
|
+
Other rooms, unrelated appended output, overlapping work and Stop break the
|
|
13
|
+
sequence. Every inference retains its own callback identity, request boundary,
|
|
14
|
+
output, failure history and usage; stale callbacks cannot modify a later request.
|
|
15
|
+
Read mode remains available for the entire retained chronology.
|
|
16
|
+
|
|
17
|
+
Verification: 67 selected TUI/registry/status-bar tests and CLI typecheck pass.
|
|
18
|
+
Two unrelated broad observability assertions reproduce against the prior bridge
|
|
19
|
+
and remain unchanged; they are not counted as passing.
|
|
20
|
+
|
|
21
|
+
## Accepted requirements
|
|
22
|
+
|
|
23
|
+
1. Preserve the complete original request, constraints, source identity and
|
|
24
|
+
evidence. Whole-source custody alone does not establish whole-source reading.
|
|
25
|
+
2. Recover automatically from context pressure: release owned duplicates,
|
|
26
|
+
organize evidence hierarchically, and choose an authorized eligible model
|
|
27
|
+
with sufficient actual context before declaring an external blocker.
|
|
28
|
+
3. Persist processing coverage and resumable progress. Recovery must change
|
|
29
|
+
capacity, representation, output allowance or route; never replay the same
|
|
30
|
+
failing request indefinitely. Preserve Stop, ownership, privacy and explicit
|
|
31
|
+
fallback settings.
|
|
32
|
+
4. Handle large HTTP sources through durable streaming storage instead of an
|
|
33
|
+
arbitrary small successful-prefix or immediate size rejection. Retain exact
|
|
34
|
+
source bytes and verify the completed retrieval before granting source-read
|
|
35
|
+
evidence. Resource exhaustion must identify the real external limit.
|
|
36
|
+
5. Keep every requested facet, contradictions, citations and unresolved details
|
|
37
|
+
through hierarchical evidence processing. Complete archived findings remain
|
|
38
|
+
recoverable; a reduced parent view cannot manufacture support or fulfillment.
|
|
39
|
+
6. Validate the original constrained 32k RFC task through the installed native
|
|
40
|
+
Telegram path with real model/catalog/source responses and a complete cited
|
|
41
|
+
final answer. Distinguish simulated transport ACKs from actual Telegram sends.
|
|
42
|
+
7. Consolidate consecutive TUI inference activity for the same Telegram room
|
|
43
|
+
into one chronological block. An interlaced room/activity or meaningful time
|
|
44
|
+
break starts a separate block. Preserve request identity, errors, read-mode
|
|
45
|
+
history, scrolling and room/topic separation.
|
|
46
|
+
8. Present the bundled public models as built-in free inference in user-facing
|
|
47
|
+
model, route and status text. Keep actual provider identities in machine
|
|
48
|
+
audit receipts so transport failures remain diagnosable.
|
|
49
|
+
9. Apply known endpoint/model schema restrictions before the first request.
|
|
50
|
+
Preserve validation against the original host contract. A transport adapter
|
|
51
|
+
must not weaken required fields, exclusivity, ownership or effect checks.
|
|
52
|
+
10. Distinguish accepted task output from acknowledged Telegram delivery. Retry
|
|
53
|
+
a proven preconnection failure using the same immutable saved operation;
|
|
54
|
+
retain ambiguous sends for reconciliation without regenerating the task.
|
|
55
|
+
Public progress must reflect preparation, sending, retrying, unconfirmed
|
|
56
|
+
delivery or complete acknowledgement.
|
|
57
|
+
|
|
58
|
+
## Implementation and acceptance record
|
|
59
|
+
|
|
60
|
+
- Complete HTTP bodies stream to verified, indexed immutable files. The eager
|
|
61
|
+
threshold selects storage representation; it does not truncate or reject the
|
|
62
|
+
remaining response. CAS imports and extraction read bounded exact ranges.
|
|
63
|
+
- Source workers automatically cover the finite source under the original full
|
|
64
|
+
request. Large retained findings use lossless encoding first, then isolated
|
|
65
|
+
hierarchical reduction with an independent preservation review and resumable
|
|
66
|
+
checkpoints. Coverage and reduced prose do not establish factual support.
|
|
67
|
+
- Context negotiation binds a prepared remote route to the exact packet and
|
|
68
|
+
owner. Working local capacity remains unchanged; an explicit hard ceiling
|
|
69
|
+
remains binding. Consumed preparation tokens never reach child backends.
|
|
70
|
+
- Installed validation found a second capacity disconnect: a fitting primary
|
|
71
|
+
packet could fall back successfully to a larger remote model without a prior
|
|
72
|
+
preparation receipt, leaving the following source read at 32k. The first
|
|
73
|
+
streamed run accounted for all 109,910 characters with HTTP 200 responses,
|
|
74
|
+
but exhausted its unchanged 32-generation budget reducing/reopening findings.
|
|
75
|
+
It failed acceptance. The repair must bind actual successful route capacity
|
|
76
|
+
to that response's exact returned tool calls, including ordinary fallback;
|
|
77
|
+
this receipt cannot authorize a later model dispatch or enlarge local context.
|
|
78
|
+
- The installed live test must exercise actual catalog, source and model
|
|
79
|
+
responses at the original 32k working window. Its forced file-storage mode
|
|
80
|
+
tests the production streaming path on the complete RFC; separate real HTTP
|
|
81
|
+
producer tests exercise sources larger than 32 MiB. Neither implies a live
|
|
82
|
+
Telegram API send: transport acknowledgements are simulated in scratch state.
|
|
83
|
+
- The latest production failure is a saved seven-item research answer followed
|
|
84
|
+
by an unacknowledged final send (`fetch failed`). Progress edits succeeded.
|
|
85
|
+
The old log omitted the transport cause, so that operation remains ambiguous;
|
|
86
|
+
the repair must not retroactively infer that it was never sent.
|
|
87
|
+
- Earlier streamed-source candidate: isolated recursive build, artifact audit (586 files, zero warnings),
|
|
88
|
+
compiler-free fresh npm install and 581 focused checks pass: execution 81,
|
|
89
|
+
orchestrator 391, delivery/activity 92, room continuity 13 and retained
|
|
90
|
+
timeout/rate-limit/Stop/5xx delivery invariants 4.
|
|
91
|
+
- Installed bundle SHA-256:
|
|
92
|
+
`bf6ed73b5034f8d1463eb2cd93fabd2e3d5476e151ddb9760a1ed9a0a9c977cc`.
|
|
93
|
+
The original 32k working-window test used actual catalog, RFC retrieval and
|
|
94
|
+
model replies: 11 generations, all HTTP 200, two source cores covering all
|
|
95
|
+
109,910 characters, all three cited details, fulfilled goal, consumed intake
|
|
96
|
+
and complete simulated Telegram acknowledgement. Mandatory versus advisory
|
|
97
|
+
wording was manually checked in the actual unmodified answer.
|
|
98
|
+
- A separate installed hierarchy run made three real HTTP 200 requests:
|
|
99
|
+
extraction, organization and independent preservation review. It retained
|
|
100
|
+
all six findings and exact caveats/Unicode/numbers/code in 1,802 characters
|
|
101
|
+
under a 1,900-character parent budget; checkpoint reopen required no inference.
|
|
102
|
+
Its fixture budget is selected below the genuine lossless representation so
|
|
103
|
+
concise extraction cannot accidentally skip the hierarchy being tested.
|
|
104
|
+
- Known schema restrictions were applied before the first wire request; no
|
|
105
|
+
400/unsupported-schema repair occurred in the successful installed runs.
|
|
106
|
+
Curated receipts are in `evidence/automatic-capacity-stream-installed-20261013.json`
|
|
107
|
+
and `evidence/source-hierarchy-installed-20261013.json`. The failed prior
|
|
108
|
+
candidate remains explicitly recorded in
|
|
109
|
+
`evidence/automatic-capacity-before-source-route-20261013.json`.
|
|
110
|
+
- Delivery transport regressions exercise the actual Bridge fetch boundary and
|
|
111
|
+
durable operation ledger. No actual Telegram message/typing call, GPU model
|
|
112
|
+
request, publication or active-session restart was performed by this repair.
|
|
113
|
+
- Additional default-storage live acceptance exposed an older memory-compiler
|
|
114
|
+
handoff: a complete eager view admitted under the successful remote route was
|
|
115
|
+
replaced with a memory artifact reference before model transport. Repeated
|
|
116
|
+
fetches did not fix that missing input. The repair preserves the exact
|
|
117
|
+
host-owned unread source until successful primary model exposure, then permits
|
|
118
|
+
ordinary historical archiving. Copied or serialized source markers cannot
|
|
119
|
+
grant preservation. Same-response fetch/completion is rejected without replay.
|
|
120
|
+
- Live streaming acceptance exposed a second triage of a detached tool result
|
|
121
|
+
that replaced the source with a 100k output-cap preview. Its honest failed
|
|
122
|
+
result is retained in `evidence/automatic-capacity-eager-before-stream-fix-20261014.json`.
|
|
123
|
+
Current exact call/tool/arguments/body ownership now survives this streaming
|
|
124
|
+
boundary. The regression reproduces non-streaming success/streaming failure
|
|
125
|
+
before the repair and verifies both paths after it.
|
|
126
|
+
- Credential scrubbing intentionally copies requests. Private source evidence
|
|
127
|
+
identity is restored only for an unchanged exact source carrier; redacted text
|
|
128
|
+
and serialized lookalikes cannot inherit it. Backend sanitation now preserves
|
|
129
|
+
original blank lines, Unicode and literal source no-think text. The updated
|
|
130
|
+
regression reproduced three failures before this repair and passes afterward.
|
|
131
|
+
- Final eager acceptance: installed bundle
|
|
132
|
+
`f379b897c218a66c93da1ad22cc51a70e5d3ebef1b665863b5a63d5dd3084c04`,
|
|
133
|
+
nine real HTTP 200 inference requests, one complete source fetch and physical
|
|
134
|
+
model input containing all 109,910 exact source characters. The cited final
|
|
135
|
+
answer fulfills the goal and simulated transport acknowledges its single chunk.
|
|
136
|
+
Receipt: `evidence/automatic-capacity-eager-installed-20261014.json`.
|
|
137
|
+
- Final combined source/Escape package: installed bundle
|
|
138
|
+
`82bcf42836e77699e8c660349a99325a858fd723cb857951ccae406e43b15886`,
|
|
139
|
+
eleven real HTTP 200 requests, two source cores covering all 109,910 characters,
|
|
140
|
+
complete cited answer, fulfilled goal and acknowledged simulated delivery.
|
|
141
|
+
Both final runs retain the original 32k working window, 32-generation bound and
|
|
142
|
+
300-second lifecycle. No mocked model/catalog replies or local inference.
|
|
143
|
+
Receipt: `evidence/automatic-capacity-final-stream-installed-20261014.json`.
|
|
144
|
+
- Final recursive build, tarball audit (591 files, zero warnings) and compiler-free
|
|
145
|
+
fresh global npm install pass. Source/carrier/streaming regressions pass 54
|
|
146
|
+
checks; the isolated combined interruption/capacity/input suites pass 238.
|
|
147
|
+
The final Responses wire checker also inspects `function_call_output.output`;
|
|
148
|
+
a content-only checker had falsely failed an otherwise complete earlier run.
|
|
149
|
+
Runner status is a pre-delivery receipt; the fulfilled goal and complete
|
|
150
|
+
post-ACK delivery ledger establish final acceptance. No actual Telegram send
|
|
151
|
+
or typing call is claimed.
|
|
152
|
+
|
|
153
|
+
## Delivery
|
|
154
|
+
|
|
155
|
+
Use scoped changes and commits, preserve existing unrelated working-tree and
|
|
156
|
+
publication changes, rebuild and verify the isolated installed package, fetch
|
|
157
|
+
the tracked branch and push verified commits. The operator publishes and
|
|
158
|
+
updates the active runtime.
|
|
159
|
+
|
|
160
|
+
## Prior failure to reproduce
|
|
161
|
+
|
|
162
|
+
The complete-source 32k installed test accounted for every one of 109,910
|
|
163
|
+
characters, then rejected a final request requiring 27,282 input tokens,
|
|
164
|
+
1,967 safety tokens and 4,096 output tokens: 33,345 total. The runner rejected
|
|
165
|
+
before model transport, preventing the normal remote route selection from
|
|
166
|
+
recovering. The former test recorded an honest incomplete result; the new
|
|
167
|
+
acceptance requires automatic recovery and completed final delivery.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Reconcile legacy desktop tools with the rapid computer-use controller
|
|
2
|
+
|
|
3
|
+
Status: reconciliation implemented; isolated build, focused regressions and real
|
|
4
|
+
read-only desktop observation/capture verified. Live Kev/Moondream inference
|
|
5
|
+
and visual input acceptance remain limited by the missing profile and host GPU
|
|
6
|
+
health described below. No claim that every application/control is supported.
|
|
7
|
+
|
|
8
|
+
## Observed production disconnect
|
|
9
|
+
|
|
10
|
+
The current terminal run in `telegram_test`,
|
|
11
|
+
`tui-3144597-mv5p6bvu-1791939658797-1`, was asked to open Firefox and search
|
|
12
|
+
archive.org. At 2026-10-14T01:04:57Z it invoked `vision_action_loop` with
|
|
13
|
+
`action=observe`. The result captured the desktop using `gnome-screenshot`, ran
|
|
14
|
+
Tesseract OCR, reported `Vision analysis unavailable`, and performed no input
|
|
15
|
+
action. The next recorded tool was a todo update. This is not evidence that
|
|
16
|
+
Kev, Moondream, or the new rapid decision/executor loop ran.
|
|
17
|
+
|
|
18
|
+
## Accepted work
|
|
19
|
+
|
|
20
|
+
1. Identify the canonical new controller and trace the legacy tool, registration,
|
|
21
|
+
desktop discovery, prompt guidance and configured model routing into it.
|
|
22
|
+
2. Reconcile existing desktop entry points with the new controller. Ordinary
|
|
23
|
+
authorized desktop tasks must discover the intended semantic observation,
|
|
24
|
+
finite-action policy, visual grounding and verified executor rather than an
|
|
25
|
+
independent OCR-only observe/planner loop.
|
|
26
|
+
3. Preserve OS focus, exact current target identity, task authority, Stop and
|
|
27
|
+
public/private tool boundaries. An observation or tool success cannot claim
|
|
28
|
+
an action, model invocation or verified goal progress.
|
|
29
|
+
4. Report actual policy/vision availability and invoked model identities. Use
|
|
30
|
+
the configured Kev/alternative decision and Moondream adapters when required;
|
|
31
|
+
semantic fast paths may correctly avoid model calls. Do not silently load a
|
|
32
|
+
different checkpoint or allocate an unintended GPU.
|
|
33
|
+
5. Cover the actual runtime registration/discovery and legacy-to-controller
|
|
34
|
+
transition. Perform live model/desktop acceptance only after the repository's
|
|
35
|
+
exact endpoint, model and accelerator preflight; distinguish offline fixtures
|
|
36
|
+
from actual GUI actions and inference.
|
|
37
|
+
|
|
38
|
+
## Scope and delivery
|
|
39
|
+
|
|
40
|
+
Continue the already authorized capacity, source-processing and Telegram
|
|
41
|
+
delivery repairs. Keep this migration separately reviewable and committed after
|
|
42
|
+
its own checks; preserve unrelated work and the operator's publication staging.
|
|
43
|
+
The operator publishes and updates the active runtime.
|
|
44
|
+
|
|
45
|
+
Architecture anchor:
|
|
46
|
+
`/home/roko/Documents/open_weight_rapid_computer_use_architecture_2026-10-11.md`.
|
|
47
|
+
|
|
48
|
+
## Reconciled runtime
|
|
49
|
+
|
|
50
|
+
- TUI, its subagents and Telegram admin construct one configured native tool per
|
|
51
|
+
scope and pass the same instance to the legacy wrapper. Browser and native
|
|
52
|
+
factories share operator-controlled pinned policy/vision clients, preflight
|
|
53
|
+
gates, request quarantine and explicit capability/model receipts.
|
|
54
|
+
- `vision_action_loop` now returns canonical native observations and actionable
|
|
55
|
+
handoff to `native_ui`. Its old coordinates/keyboard/allow-actions parameters
|
|
56
|
+
cannot dispatch input. The previous manual utility is unregistered and absent
|
|
57
|
+
from default discovery. Existing camera/image tools retain their own purposes.
|
|
58
|
+
- Desktop discovery and every shared model-tier route select `native_ui`;
|
|
59
|
+
browser UI selects `playwright_browser`. Telegram and visual-sensor guidance
|
|
60
|
+
no longer recommends the retired OCR loop or global keyboard injection.
|
|
61
|
+
- Unique semantic controls skip inference. Ambiguous candidates can use pinned
|
|
62
|
+
Kev; missing semantic targets can use pinned Moondream. Selection/grounding
|
|
63
|
+
cannot dispatch: a separate host-admitted step checks the exact task effect,
|
|
64
|
+
current window/control, Stop and observed outcome.
|
|
65
|
+
- Native visual capture matches AT-SPI's active PID/bounds against actual X11
|
|
66
|
+
XID/PID/geometry before and after capture. Input rechecks that binding, moves
|
|
67
|
+
to the finite point, verifies actual pointer arrival and rechecks ownership
|
|
68
|
+
before a targeted click. Accessibility IDs are never cast to XIDs and titles
|
|
69
|
+
never establish window identity. Capture failure retains real semantic state.
|
|
70
|
+
- This visual input adapter targets Linux X11. Existing native semantic adapters
|
|
71
|
+
remain available; unavailable visual backends are explicit. There is no new
|
|
72
|
+
global raw-key fallback or claimed universal visual control.
|
|
73
|
+
|
|
74
|
+
## Verification
|
|
75
|
+
|
|
76
|
+
The CU-only isolated recursive build and artifact audit pass. Its focused checks
|
|
77
|
+
pass 261 cases: execution 164, CLI runtime/actual Telegram discovery/guidance 60,
|
|
78
|
+
and shared routing/discovery 37. The model transport tests use fixtures and are
|
|
79
|
+
not counted as live inference.
|
|
80
|
+
|
|
81
|
+
The final isolated bundle SHA-256 is
|
|
82
|
+
`359772f23c1dbc48c3cac29253ba57115b7f024650180b8268997d2729a830da`.
|
|
83
|
+
Its tarball audit passes with 588 files and zero warnings. A fresh global npm
|
|
84
|
+
install also passes, including the required SQLite prebuild without a native
|
|
85
|
+
compiler. The isolated package was not published; the operator owns publication.
|
|
86
|
+
|
|
87
|
+
Actual read-only OS validation observed 84 AT-SPI nodes and captured the active
|
|
88
|
+
786x557 window with verified X11/accessibility geometry. It made zero model
|
|
89
|
+
requests, input actions or service changes. Both model capabilities correctly
|
|
90
|
+
reported `not_configured`. Receipt:
|
|
91
|
+
`evidence/native-reconciliation-readonly-live-20261014.json`; repeatable probe:
|
|
92
|
+
`scripts/live-native-reconciliation-harness.mjs`.
|
|
93
|
+
|
|
94
|
+
## Current runtime preflight
|
|
95
|
+
|
|
96
|
+
Read-only checks at approximately 2026-10-14T01:15Z found no configured
|
|
97
|
+
`~/.omnius/computer-use-runtime.json` and no resident Kev or Moondream process.
|
|
98
|
+
GPU0 is an A100 80 GB with 6 MiB allocated; GPU1 hosts the existing voice
|
|
99
|
+
workloads. `docker gpu discover` reports `gpu_health.admission_blocked=true`
|
|
100
|
+
because selected GPU2 is missing and reports recovery required. The scoped
|
|
101
|
+
lease policy therefore does not currently permit starting fresh model workloads.
|
|
102
|
+
No GPU lease, model load, inference request, reboot or service change was made.
|
|
103
|
+
This limits live model acceptance; it does not prevent implementing and testing
|
|
104
|
+
the shared runtime, canonical discovery and guarded execution contracts.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Escape exit and NVIDIA device incident
|
|
2
|
+
|
|
3
|
+
Status: parallel read-only investigation complete. GNOME Terminal crashed in
|
|
4
|
+
GTK; one A100 is unqueryable and the broker correctly blocks new CUDA work.
|
|
5
|
+
The exact GTK trigger and physical GPU failure cause remain unresolved. The
|
|
6
|
+
computer-use reconciliation is delivered separately; a broad application
|
|
7
|
+
refactor is not established as a repair for either failure.
|
|
8
|
+
|
|
9
|
+
## User report and confirmed observations
|
|
10
|
+
|
|
11
|
+
- User reports pressing Escape in the `telegram_test` TUI crashed the terminal
|
|
12
|
+
and that the A100s appeared to disappear. Requested full parallel agent
|
|
13
|
+
investigation and repair.
|
|
14
|
+
- Process 3144597 is no longer present. Its interruption lifecycle records
|
|
15
|
+
`stopped`, `all owners acknowledged stop`, at 2026-10-14T01:30:11.580Z.
|
|
16
|
+
- `~/.omnius/crash.log` has an approximately 01:30Z modification time but its
|
|
17
|
+
last recorded exception is an older 03:13Z packaging verifier entry. File
|
|
18
|
+
modification time is not evidence of a current exception or its cause.
|
|
19
|
+
- At 01:15Z, before Escape, GPU2 was already unqueryable. At 01:34Z, GPU0 and
|
|
20
|
+
GPU1 still enumerate as A100 80 GB; GPU1 retains the existing voice workloads.
|
|
21
|
+
The broker reports a missing selected GPU and recovery required, blocking new
|
|
22
|
+
CUDA admissions. No current evidence establishes Escape as its cause.
|
|
23
|
+
|
|
24
|
+
## Parallel investigations
|
|
25
|
+
|
|
26
|
+
1. Trace Escape, Stop, cancellation ownership, rendering and process exit.
|
|
27
|
+
Recover actual terminal/error/exit evidence; distinguish an exception,
|
|
28
|
+
signal, intentional exit, terminal failure and OS resource exhaustion.
|
|
29
|
+
2. Inspect NVIDIA/PCIe/kernel events and actual current device/runner placement.
|
|
30
|
+
Establish first fault time and affected UUIDs before proposing recovery.
|
|
31
|
+
3. Inspect broker/service/container state, GPU health admission and existing
|
|
32
|
+
leases. Correlate endpoint failures and workload events with the other logs.
|
|
33
|
+
|
|
34
|
+
## Repair and delivery constraints
|
|
35
|
+
|
|
36
|
+
Preserve active workloads and durable user tasks. No GPU reset, reboot,
|
|
37
|
+
unrelated workload termination or CUDA/model load during diagnosis. Every CUDA
|
|
38
|
+
deployment follows the host broker policy and exact hardware preflight.
|
|
39
|
+
Implement a scoped verified application repair when the cause is established;
|
|
40
|
+
do not substitute a speculative broad rewrite for a reproducible fix.
|
|
41
|
+
Checkpoint current native-loop, source and delivery work, then complete and
|
|
42
|
+
push each coherent repair without including unrelated publication changes.
|
|
43
|
+
|
|
44
|
+
## Established findings
|
|
45
|
+
|
|
46
|
+
| Finding | Evidence | Limit |
|
|
47
|
+
| --- | --- | --- |
|
|
48
|
+
| GNOME Terminal's server received SIGSEGV | `/var/crash/_usr_libexec_gnome-terminal-server.1000.crash`, PID 6967, GNOME Terminal 3.52.0-1ubuntu2, dated 2026-10-13 18:30:11 PDT | The faulting stack is `gtk_main_do_event` → GDK → GLib. It does not establish which input caused the GTK fault. |
|
|
49
|
+
| Omnius acknowledged Stop | Interruption receipt at 2026-10-14T01:30:11.580Z, all 209 interruption owners acknowledged | Receipt is cancellation evidence, not proof that terminal rendering cannot trigger a native library bug. |
|
|
50
|
+
| Actual Escape handler survives its fixture | Compiled DirectInput and the actual handler source: first Escape pauses, second aborts; zero close, exit or signal calls, and subsequent text input accepted | CPU fixture, not a reproduction in the affected GNOME Terminal. |
|
|
51
|
+
| GPU2 does not answer PCI configuration reads | A100 UUID `GPU-fc9d264d-8a20-bf8c-eb72-72a6dcbdaf2a`, PCI `0000:84:00.0`; configuration reads return all FF, header 7f, invalid link state | Cached PCI/proc identity alone does not prove a functioning GPU. Physical cause is unresolved. |
|
|
52
|
+
| GPU0 and GPU1 still answer individual driver queries | A100 UUIDs `GPU-3538758b-6ba7-fa1b-a80c-e315a606c3f0` and `GPU-170a99ee-850f-2182-1050-4e8d3c87b6b0`; valid PCI configuration and individual `nvidia-smi` queries | Both report recovery action Reboot. Presence and a voice HTTP health check do not prove healthy CUDA inference. |
|
|
53
|
+
| GPU degradation predates Escape | Broker health recorder already degraded at 2026-10-12T20:08Z and 23:57Z; GPU2 unqueryable at 2026-10-14T01:15Z | Earlier HTTP 503s alone would not date the physical failure. |
|
|
54
|
+
| Broker admission is a deliberate health fence | `/usr/local/libexec/ollama-unify-gpu-negotiator`, fresh-driver-health checks at lines 874–955; missing selected GPU or required reboot returns 503 | Bypassing admission would not repair the device. Existing voice lease remains active. |
|
|
55
|
+
|
|
56
|
+
The kernel warning near 01:30:46Z names Nautilus PID 548295 closing NVIDIA
|
|
57
|
+
file descriptors (`nvidia_dev_put` / `nvidia_close`). It is not a recorded
|
|
58
|
+
Omnius model-loading event. No new Xid/AER, incident OOM, current Omnius
|
|
59
|
+
JavaScript exception, or Omnius PID segmentation-fault entry was found in the
|
|
60
|
+
examined records. This is an absence of supporting evidence, not proof that
|
|
61
|
+
all possible failure records were retained.
|
|
62
|
+
|
|
63
|
+
## Evidence and next repair boundary
|
|
64
|
+
|
|
65
|
+
The private extracted terminal core and backtrace remain in
|
|
66
|
+
`/tmp/omnius-terminal-crash-20261014/`; the core is not checked into source.
|
|
67
|
+
The actual-handler receipt is `escape-handler-proof.json` in that directory.
|
|
68
|
+
Sanitized GPU-only command evidence is
|
|
69
|
+
`/tmp/omnius-gpu-readonly-evidence-20261014.json`, SHA-256
|
|
70
|
+
`36da195241d3ef7514cafaba36aaa29fec42d0d264905933a283d5ce1a9cb48a`.
|
|
71
|
+
These temporary local artifacts can expire; the durable report records only
|
|
72
|
+
the findings above and their diagnostic limits.
|
|
73
|
+
|
|
74
|
+
For the terminal, retain the native crash report and reproduce the GTK event
|
|
75
|
+
fault before choosing a terminal package repair or a narrowly evidenced TUI
|
|
76
|
+
change. For GPUs, coordinate release of the active voice workload and host
|
|
77
|
+
recovery before any reset/reboot, then verify each designated device and the
|
|
78
|
+
broker's health admission before model loads. No reset, reboot, service change,
|
|
79
|
+
CUDA allocation, or workload termination was performed during this investigation.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# TUI Escape: cancel inference and wait for input
|
|
2
|
+
|
|
3
|
+
Status: implementation verified in the isolated combined package; ready for scoped delivery by the parent task.
|
|
4
|
+
|
|
5
|
+
The operator requires Escape to pause Omnius, keep the editor usable, retain completed work and queued instructions, and wait for explicit new input. Repeated Escape must remain paused. Initial routing and background root submissions must not restart work behind the paused interface. Ctrl+C and `/stop` retain permanent stop semantics; ordinary updater and daemon safe-boundary pause remains available.
|
|
6
|
+
|
|
7
|
+
## Source comparison
|
|
8
|
+
|
|
9
|
+
The official [Codex CLI source](https://github.com/openai/codex/tree/1b6e0d8145e1fe5b2663d32fbe7ee02f51a10e1c) was cloned and inspected directly, without web search. Its active-turn interrupt cancels a task token, permits 100 ms of cooperative cleanup, aborts an uncooperative task, preserves interrupted history, and restores input. Relevant sources are `codex-rs/core/src/tasks/mod.rs`, `core/src/session/turn.rs`, `core/src/client_common.rs`, and `tui/src/chatwidget/input_restore.rs`. Codex also has a distinct queued-steer submission path; Omnius's requested Escape behavior deliberately retains queued instructions until the operator submits input.
|
|
10
|
+
|
|
11
|
+
Omnius previously left an active model request running to its returned-contract boundary, promoted queued steering on Escape, aborted on a second Escape, and could not interrupt initial routing after its recall window. New input submitted while lifecycle acknowledgement was still `pausing` attempted an invalid immediate resume and displayed processing anyway.
|
|
12
|
+
|
|
13
|
+
## Implemented behavior
|
|
14
|
+
|
|
15
|
+
- `AgenticRunner.pauseForInput()` closes admission, cancels operation-scoped model signals, fences uncooperative late results and stream chunks, and retains the durable task, tool receipts and conversation. Unfinished model contracts are discarded; resumed inference uses a new logical generation.
|
|
16
|
+
- `resumeAfterInput()` waits for exact active owners to acknowledge. A newer Escape supersedes a pending resume, and unresolved external effects still prevent resumption. Atomic tool work is allowed to reach its truthful boundary; cancellation does not fabricate absent effects.
|
|
17
|
+
- A small terminal-owned controller cancels and fences intake routing and repair requests. Escape remains idempotent, automatic root submissions stay queued, blank Enter remains paused, and explicit input or `/resume` releases the hold after acknowledgement. Independent Telegram runners and host services are unchanged.
|
|
18
|
+
- Interrupted presentation stops timers and discards unrendered partial tails without synthesizing a successful stream terminator. The displayed inference block becomes paused. Duplicate pending resume results cannot overwrite the first successful resume's processing state.
|
|
19
|
+
|
|
20
|
+
## Verification
|
|
21
|
+
|
|
22
|
+
The parent repeated the final suites in an isolated checkout: 238 tests passed, comprising 130 orchestrator tests and 108 CLI tests. They cover existing safe-boundary pause/stop/recovery, lifecycle and context-capacity behavior, unread-source transport, actual production Escape/queue/resume closures, real DirectInput, router repair cancellation, interrupted rendering and timer cleanup. The new transport regression uses the actual production inference adapter against an exact loopback HTTP fixture: both unary and SSE sockets close on Escape, no retry or fallback starts while held, and explicit resume generates a fresh request. Late uncooperative tool contracts and iterators cannot commit, completed reads and new input remain visible, and ambiguous external effects retain their resume fence.
|
|
23
|
+
|
|
24
|
+
The full isolated recursive build, tarball audit (591 files, zero warnings), and fresh global npm install pass. The required SQLite prebuild loads without a native compiler. Combined runtime bundle SHA-256: `82bcf42836e77699e8c660349a99325a858fd723cb857951ccae406e43b15886`. The isolated package has not been published.
|
|
25
|
+
|
|
26
|
+
No live model inference, CUDA workload, host-service change, Telegram send or active-session restart was used for these checks. HTTP cancellation cannot guarantee that an arbitrary upstream provider stops its physical compute; Omnius closes its transport and rejects late results. No GPU unload or server-side cancellation guarantee is claimed.
|
|
27
|
+
|
|
28
|
+
The parent built and verified the isolated final package and delivers the scoped Escape commit separately from source-capacity recovery. The operator owns publication and active-runtime reload. The previous GNOME Terminal SIGSEGV is a separately evidenced host crash; this work does not claim to repair GTK or GPU hardware.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "omnius.live-telegram-public-research.v1",
|
|
3
|
+
"bundleSha256": "5ec7e474ca581ce61f1773bec7a8723167d31ad74223e1711c4233968cf1b2dc",
|
|
4
|
+
"startedAt": "2026-10-14T00:56:45.290Z",
|
|
5
|
+
"finishedAt": "2026-10-14T01:01:33.584Z",
|
|
6
|
+
"bounds": {
|
|
7
|
+
"physicalGenerations": 32,
|
|
8
|
+
"contextWindowTokens": 32768,
|
|
9
|
+
"lifecycleMs": 300000,
|
|
10
|
+
"sourceUrls": [
|
|
11
|
+
"https://www.rfc-editor.org/rfc/rfc9112.txt"
|
|
12
|
+
],
|
|
13
|
+
"sourceStorage": "file-backed host storage policy"
|
|
14
|
+
},
|
|
15
|
+
"result": {
|
|
16
|
+
"intakeLifecycle": "failed",
|
|
17
|
+
"runnerStatus": "incomplete",
|
|
18
|
+
"terminalReplyDisposition": null,
|
|
19
|
+
"admittedWebFetchReceiptCount": 1,
|
|
20
|
+
"sourceUrlsRead": [
|
|
21
|
+
"https://www.rfc-editor.org/rfc/rfc9112.txt"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"physicalGenerations": 32,
|
|
25
|
+
"attemptedGenerations": 33,
|
|
26
|
+
"passed": false,
|
|
27
|
+
"state": "failed_acceptance",
|
|
28
|
+
"blocked": [
|
|
29
|
+
"Generation budget exhausted"
|
|
30
|
+
],
|
|
31
|
+
"httpStatuses": [
|
|
32
|
+
200,
|
|
33
|
+
200,
|
|
34
|
+
200,
|
|
35
|
+
200,
|
|
36
|
+
200,
|
|
37
|
+
200,
|
|
38
|
+
200,
|
|
39
|
+
200,
|
|
40
|
+
200,
|
|
41
|
+
200,
|
|
42
|
+
200,
|
|
43
|
+
200,
|
|
44
|
+
200,
|
|
45
|
+
200,
|
|
46
|
+
200,
|
|
47
|
+
200,
|
|
48
|
+
200,
|
|
49
|
+
200,
|
|
50
|
+
200,
|
|
51
|
+
200,
|
|
52
|
+
200,
|
|
53
|
+
200,
|
|
54
|
+
200,
|
|
55
|
+
200,
|
|
56
|
+
200,
|
|
57
|
+
200,
|
|
58
|
+
200,
|
|
59
|
+
200,
|
|
60
|
+
200,
|
|
61
|
+
200,
|
|
62
|
+
200,
|
|
63
|
+
200
|
|
64
|
+
],
|
|
65
|
+
"completeSource": {
|
|
66
|
+
"chars": 109910,
|
|
67
|
+
"sha256": "e4f426bac6206b67fdf9e0da826154f70588db2133a0a86b15cde4ff725d8937",
|
|
68
|
+
"processedChunks": 6,
|
|
69
|
+
"totalChunks": 6
|
|
70
|
+
},
|
|
71
|
+
"diagnosis": "Actual successful nonprepared remote fallback did not expose its capacity to the source-read guard. Full source coverage still ended in parent reduction/reopen loops and exhausted the unchanged generation budget. This candidate failed acceptance."
|
|
72
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "omnius.eager-source-before-stream-triage-fix.v1",
|
|
3
|
+
"finishedAt": "2026-10-14T02:10:48.000Z",
|
|
4
|
+
"bundleSha256": "6531bafa563eaa740f1db0548641d4f8f0f802c0451f934f51b6236105d4406d",
|
|
5
|
+
"passed": false,
|
|
6
|
+
"bounds": {
|
|
7
|
+
"physicalGenerations": 32,
|
|
8
|
+
"contextWindowTokens": 32768,
|
|
9
|
+
"lifecycleMs": 300000,
|
|
10
|
+
"sourceUrls": [
|
|
11
|
+
"https://www.rfc-editor.org/rfc/rfc9112.txt"
|
|
12
|
+
],
|
|
13
|
+
"sourceStorage": "default host storage policy"
|
|
14
|
+
},
|
|
15
|
+
"sourceReads": [
|
|
16
|
+
{
|
|
17
|
+
"url": "https://www.rfc-editor.org/rfc/rfc9112.txt",
|
|
18
|
+
"success": true,
|
|
19
|
+
"verifiedRead": true,
|
|
20
|
+
"storage": "eager",
|
|
21
|
+
"outputSha256": "cd0138a2c4b5f8092de4e3d2e154a2f311711c1323b9fcf8735efc8c41e84ea2",
|
|
22
|
+
"responseChars": 109910,
|
|
23
|
+
"responseSha256": "e4f426bac6206b67fdf9e0da826154f70588db2133a0a86b15cde4ff725d8937"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"fullSourceWireAdmissions": [],
|
|
27
|
+
"sourceExtractions": [],
|
|
28
|
+
"physicalGenerations": 22,
|
|
29
|
+
"httpStatuses": [
|
|
30
|
+
200,
|
|
31
|
+
200,
|
|
32
|
+
200,
|
|
33
|
+
200,
|
|
34
|
+
200,
|
|
35
|
+
200,
|
|
36
|
+
200,
|
|
37
|
+
200,
|
|
38
|
+
200,
|
|
39
|
+
200,
|
|
40
|
+
200,
|
|
41
|
+
200,
|
|
42
|
+
200,
|
|
43
|
+
200,
|
|
44
|
+
200,
|
|
45
|
+
200,
|
|
46
|
+
200,
|
|
47
|
+
200,
|
|
48
|
+
429,
|
|
49
|
+
429,
|
|
50
|
+
200,
|
|
51
|
+
200
|
|
52
|
+
],
|
|
53
|
+
"compilerRequestNumber": 8,
|
|
54
|
+
"compilerPacketSha256": "f3be0dfea5488117677f46ccf71816eb3d4a0b3b98ed323ebb3e6ca1e979944e",
|
|
55
|
+
"genericTriagePreviewHeaders": [
|
|
56
|
+
"[oversize output: 110865 bytes / 2471 lines — exceeds tool-output cap of 100000 bytes]"
|
|
57
|
+
],
|
|
58
|
+
"cause": "Streaming result copy lost current source admission before a second generic triage pass; full source was replaced by an output-cap preview before model exposure.",
|
|
59
|
+
"coverage": {
|
|
60
|
+
"admission": "actual public native intake + attention",
|
|
61
|
+
"work": "actual Bridge/Runner + scoped web_fetch",
|
|
62
|
+
"assessment": "actual native goal assessment",
|
|
63
|
+
"transport": "simulated Telegram send/edit ACK in scratch state only",
|
|
64
|
+
"excludes": [
|
|
65
|
+
"actual Telegram delivery/typing",
|
|
66
|
+
"historical group transcripts",
|
|
67
|
+
"web_search provider availability"
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
"modelRepliesMocked": 0,
|
|
71
|
+
"localInferenceRequests": 0,
|
|
72
|
+
"telegramMessages": 0
|
|
73
|
+
}
|