omnius 1.0.859 → 1.0.861
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 +17 -27
- package/dist/tui/native/worker.js +166 -0
- package/docs/DISCOVERY.json +286 -2
- package/docs/DISCOVERY.md +10 -2
- package/docs/guides/tui-workflows.md +38 -0
- package/docs/opencode-free-model-discovery.md +4 -2
- package/docs/work-orders/WO-builtin-provider-authorized-access-20261014.md +3 -3
- package/docs/work-orders/WO-genuine-opencode-access-20261014.md +81 -0
- package/docs/work-orders/WO-local-admission-provider-access-20261014.md +3 -3
- package/docs/work-orders/evidence/genuine-opencode-access-repair-20261014.json +3997 -0
- package/docs/work-orders/evidence/native-tui-gpu-preflight-20261015.json +42 -0
- package/docs/work-orders/evidence/native-tui-history-benchmark-20261015.json +108 -0
- package/docs/work-orders/evidence/native-tui-model-live-20261015.json +141 -0
- package/docs/work-orders/evidence/native-tui-package-smoke-20261015.json +12 -0
- package/docs/work-orders/evidence/native-tui-pty-live-20261015.json +121 -0
- package/docs/work-orders/native-tui-renderer.md +93 -0
- package/npm-shrinkwrap.json +625 -45
- package/package.json +5 -2
package/docs/DISCOVERY.md
CHANGED
|
@@ -536,6 +536,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
536
536
|
| `guide.work-orders-evidence-fallback-model-benchmarks-20261012` | Fallback Model Benchmarks 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/fallback-model-benchmarks-20261012.json. |
|
|
537
537
|
| `guide.work-orders-evidence-fallback-quality-installed-20261012` | Fallback Quality Installed 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/fallback-quality-installed-20261012.json. |
|
|
538
538
|
| `guide.work-orders-evidence-fallback-reply-contracts-installed-20261012` | Fallback Reply Contracts Installed 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/fallback-reply-contracts-installed-20261012.json. |
|
|
539
|
+
| `guide.work-orders-evidence-genuine-opencode-access-repair-20261014` | Genuine Opencode Access Repair 20261014 | Bundled Omnius documentation artifact: docs/work-orders/evidence/genuine-opencode-access-repair-20261014.json. |
|
|
539
540
|
| `guide.work-orders-evidence-installed-fallback-verification-20261012` | Installed Fallback Verification 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/installed-fallback-verification-20261012.json. |
|
|
540
541
|
| `guide.work-orders-evidence-keyless-compatibility-20261012` | Keyless Compatibility 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/keyless-compatibility-20261012.json. |
|
|
541
542
|
| `guide.work-orders-evidence-keyless-provider-survey-20261012` | Keyless Provider Survey 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/keyless-provider-survey-20261012.json. |
|
|
@@ -545,6 +546,11 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
545
546
|
| `guide.work-orders-evidence-native-conversation-prompt-audit-20261012` | Native Conversation Prompt Audit 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-conversation-prompt-audit-20261012.json. |
|
|
546
547
|
| `guide.work-orders-evidence-native-goal-contract-probe-20261012` | Native Goal Contract Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-goal-contract-probe-20261012.json. |
|
|
547
548
|
| `guide.work-orders-evidence-native-reconciliation-readonly-live-20261014` | Native Reconciliation Readonly Live 20261014 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-reconciliation-readonly-live-20261014.json. |
|
|
549
|
+
| `guide.work-orders-evidence-native-tui-gpu-preflight-20261015` | Native Tui Gpu Preflight 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-gpu-preflight-20261015.json. |
|
|
550
|
+
| `guide.work-orders-evidence-native-tui-history-benchmark-20261015` | Native Tui History Benchmark 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-history-benchmark-20261015.json. |
|
|
551
|
+
| `guide.work-orders-evidence-native-tui-model-live-20261015` | Native Tui Model Live 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-model-live-20261015.json. |
|
|
552
|
+
| `guide.work-orders-evidence-native-tui-package-smoke-20261015` | Native Tui Package Smoke 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-package-smoke-20261015.json. |
|
|
553
|
+
| `guide.work-orders-evidence-native-tui-pty-live-20261015` | Native Tui Pty Live 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-pty-live-20261015.json. |
|
|
548
554
|
| `guide.work-orders-evidence-opencode-all-free-audit-20261012` | Opencode All Free Audit 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-all-free-audit-20261012.json. |
|
|
549
555
|
| `guide.work-orders-evidence-opencode-all-free-installed-verification-20261012` | Opencode All Free Installed Verification 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-all-free-installed-verification-20261012.json. |
|
|
550
556
|
| `guide.work-orders-evidence-opencode-installed-production-stream-live-20261012` | Opencode Installed Production Stream Live 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-installed-production-stream-live-20261012.json. |
|
|
@@ -592,6 +598,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
592
598
|
| `guide.work-orders-inference-fallback-bundle-20261012` | Inference Fallback Bundle 20261012 | Bundled Omnius documentation artifact: docs/work-orders/inference-fallback-bundle-20261012.json. |
|
|
593
599
|
| `guide.work-orders-inference-fallback-live-20261012` | Inference Fallback Live 20261012 | Bundled Omnius documentation artifact: docs/work-orders/inference-fallback-live-20261012.json. |
|
|
594
600
|
| `guide.work-orders-long-horizon-feature-delivery-wo-01-native-research-feature-workflow-uppercase` | WO-01 — Native research-to-feature workflow | Status: complete — repository implementation, twelve-scenario acceptance and scoped Git delivery. Authorized by the user request to bring the AIWG research-team mechanism into Omnius. Publication and live acceptance remain with the user. |
|
|
601
|
+
| `guide.work-orders-native-tui-renderer` | Native terminal rendering migration | Omnius now uses @opentui/core@0.6.6, the native terminal engine used by OpenCode. The agent/CLI remains on Node >=22; a packaged Bun 1.3.14 process owns OpenTUI and the physical terminal. This avoids loading Bun/Node-26 FFI in the existing Node backend or changing its native SQLite and supervisor runtime. |
|
|
595
602
|
| `guide.work-orders-omnius-context-engineering-behavior-fixes` | Omnius Context Engineering Behavior Fixes | Source observation: current Omnius behavior while supervising a noclip/earth sidebar cleanup task. The observed run mixed internal cognitive-agent artifacts with user-task artifacts, repeated stale edit attempts after the file had changed, and overclaimed completion despite stale or missing verification. |
|
|
596
603
|
| `guide.work-orders-primary-inference-fallback-bundle-20261012` | Primary Inference Fallback Bundle 20261012 | Bundled Omnius documentation artifact: docs/work-orders/primary-inference-fallback-bundle-20261012.json. |
|
|
597
604
|
| `guide.work-orders-rapid-computer-use-20261011-architecture-source` | Open-Weight Rapid Computer Use: Decision Models + Moondream + Qwen3.8 | Single-file implementation and research package Reference date: 2026-10-11 Target: Linux/Windows desktop and Firefox/Chromium browsers; local inference; 3 × NVIDIA A100 80 GB PCIe Intended reader: engineering / autonomous implementation agent |
|
|
@@ -697,17 +704,18 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
697
704
|
| `guide.work-orders-wo-am-gaps-uppercase` | Associative Memory Gap Work Orders | Generated: 2026-04-13 Source: Deep audit of multimodal associative memory systems Status: READY FOR IMPLEMENTATION |
|
|
698
705
|
| `guide.work-orders-wo-automatic-capacity-recovery-and-room-history-20261013-uppercase` | Automatic capacity recovery and consecutive room history | Status: automatic recovery and exact unread-source preservation are implemented and verified through live remote inference in the isolated installed package, for both default eager and file-backed source storage. Supersedes treating ordinary context pressure as an acceptable terminal result in the complete-source work order. Publication and active-runtime up |
|
|
699
706
|
| `guide.work-orders-wo-built-in-free-model-startup-20261012-uppercase` | Built-in free inference and clean Telegram settlement | Status: implemented, tested and committed. Live service limits are recorded below rather than claimed as model availability. Publication and bot restart remain operator-owned. |
|
|
700
|
-
| `guide.work-orders-wo-builtin-provider-authorized-access-20261014-uppercase` | Built-in provider authorized access — 2026-10-14 | Status: authenticated route implemented; full clean build, current shared-worktree build, and 685 combined focused tests passed. Bundling, a 604-file tarball audit with zero warnings, and a compiler-free fresh npm install passed.
|
|
707
|
+
| `guide.work-orders-wo-builtin-provider-authorized-access-20261014-uppercase` | Built-in provider authorized access — 2026-10-14 | Status: authenticated route implemented; full clean build, current shared-worktree build, and 685 combined focused tests passed. Bundling, a 604-file tarball audit with zero warnings, and a compiler-free fresh npm install passed. Those implementation checks remain valid. Subsequent genuine-client and wire controls established that public access works and Omn |
|
|
701
708
|
| `guide.work-orders-wo-completion-review-recovery-20261013-uppercase` | Completion review recovery and Telegram liveness | Status: implementation and verification complete; source pushed to origin/main. Operator publication and bot restart remain pending. Follow-up to the live completion-block and typing indicator report on installed Omnius 1.0.852, PID 2845019, telegramtest, and subsequent 1.0.853 restart PID 3697027. |
|
|
702
709
|
| `guide.work-orders-wo-computer-use-loop-reconciliation-20261013-uppercase` | Reconcile legacy desktop tools with the rapid computer-use controller | Status: reconciliation implemented; isolated build, focused regressions and real read-only desktop observation/capture verified. Live Kev/Moondream inference and visual input acceptance remain incomplete: the model services and operator profile have not been provisioned. The earlier host GPU-health fault is historical; current readiness and remaining deploym |
|
|
703
710
|
| `guide.work-orders-wo-escape-crash-and-gpu-incident-20261013-uppercase` | Escape exit and NVIDIA device incident | Status: parallel read-only investigation complete. GNOME Terminal crashed in GTK; one A100 is unqueryable and the broker correctly blocks new CUDA work. The exact GTK trigger and physical GPU failure cause remain unresolved. The computer-use reconciliation is delivered separately; a broad application refactor is not established as a repair for either failure |
|
|
704
711
|
| `guide.work-orders-wo-fallback-contract-cooldown-20261013-uppercase` | Keep internal inference failures within their contract and budget | Status: contract cooldown, aggregate deadline and phase output allocations verified; final installed full-source public-path acceptance passed. |
|
|
705
712
|
| `guide.work-orders-wo-fallback-quality-order-20261012-uppercase` | Benchmark-informed fallback cascade | Status: implemented and verified. Publication and active runtime replacement remain with the user. Telegram progress presentation stays deferred. |
|
|
706
713
|
| `guide.work-orders-wo-fallback-reply-contracts-20261012-uppercase` | Fallback reply contracts and live Telegram regressions | Status: implemented and verified in source and the freshly installed package. Publishing and restarting the active bot remain user-owned. The subsequent OpenCode-first capability ordering is tracked in its work order; Telegram progress presentation remains explicitly deferred. |
|
|
714
|
+
| `guide.work-orders-wo-genuine-opencode-access-20261014-uppercase` | Genuine OpenCode access and source compatibility — 2026-10-14 | Status: implemented and verified against the exact scoped source snapshot. All nine active free models passed live bundled Telegram attention, reply generation and review. Actual automatic failover and native tool continuations passed. No mocked inference reply establishes acceptance. |
|
|
707
715
|
| `guide.work-orders-wo-inference-fallback-20261012-uppercase` | Local inference outage fallback | Status: source implementation complete and verified. Installed-runtime activation is separate; the running daemon has not been upgraded or restarted. |
|
|
708
716
|
| `guide.work-orders-wo-keyless-fallback-coverage-20261012-uppercase` | Keyless automatic fallback coverage and compatibility | Status: implemented and verified. Publication and replacement of the running bot remain user-owned; the running bot has not been restarted by this work. |
|
|
709
717
|
| `guide.work-orders-wo-live-native-cascade-ui-freeze-20261013-uppercase` | Live native-planning cascade and TUI responsiveness | Status: implementation and live packaged acceptance complete. The operator reported publication in progress; runtime restart/activation is not yet verified. Follow-up to the live 1.0.851 report after the built-in free-model integration; do not substitute another ping-only check. |
|
|
710
|
-
| `guide.work-orders-wo-local-admission-provider-access-20261014-uppercase` | Local admission and remote access recovery — 2026-10-14 | Status: local admission/access classification repair verified and delivered in 539cf00e; TUI/Runner producers verified and committed in a3fd9bab.
|
|
718
|
+
| `guide.work-orders-wo-local-admission-provider-access-20261014-uppercase` | Local admission and remote access recovery — 2026-10-14 | Status: local admission/access classification repair verified and delivered in 539cf00e; TUI/Runner producers verified and committed in a3fd9bab. Remote public access was subsequently diagnosed and repaired in genuine-client validation. Do not reset operator configuration or restart the live Telegram/TUI session as part of validation. |
|
|
711
719
|
| `guide.work-orders-wo-native-transport-fresh-install-20261012-uppercase` | Native transport failure in the fresh npm installation gate | Status: implemented and verified. Publication remains with the user. |
|
|
712
720
|
| `guide.work-orders-wo-opencode-all-free-models-20261012-uppercase` | All OpenCode free models in the fallback cascade | Status: implemented and verified. Publication and runtime replacement remain with the user. The subsequent live-reply fixes are tracked separately in fallback reply contracts. The original preferred-first/provider-fairness ordering recorded below has been superseded by benchmark-informed priority at the user's subsequent request. |
|
|
713
721
|
| `guide.work-orders-wo-opencode-production-compatibility-20261012-uppercase` | OpenCode production request compatibility | Status: implemented and verified. Telegram presentation is also completed. Publication and active-runtime restart remain with the operator. Step's native attention-format compatibility remains unverified after a provider limit; the working cascade can continue to other compatible models. |
|
|
@@ -25,8 +25,26 @@ Shift+Enter inserts a newline in the prompt box and expands the input area. Ente
|
|
|
25
25
|
|
|
26
26
|
The input box should preserve Unicode line boundaries and avoid overwriting previous lower entries.
|
|
27
27
|
|
|
28
|
+
Page Up/Page Down and the mouse wheel browse conversation history. End returns
|
|
29
|
+
to the live response when the prompt is empty; while editing, it moves to the
|
|
30
|
+
end of the prompt. New output does not pull a scrolled viewport back to live.
|
|
31
|
+
|
|
28
32
|
## Terminal Compatibility
|
|
29
33
|
|
|
34
|
+
The interactive terminal uses OpenTUI, the native rendering engine used by
|
|
35
|
+
OpenCode. Omnius keeps its Earth palette, transparent terminal background,
|
|
36
|
+
header, conversation/tool cards, tasks panel, prompt box, and metrics row.
|
|
37
|
+
The package includes the Bun runtime used by the renderer; the agent and CLI
|
|
38
|
+
launcher continue to run on Node. Noninteractive commands do not start a
|
|
39
|
+
terminal renderer.
|
|
40
|
+
|
|
41
|
+
The renderer owns terminal painting in a separate process and receives only
|
|
42
|
+
changed, styled rows. Component formatting is composed into a retained screen
|
|
43
|
+
before rendering, so cursor controls and scroll regions never compete on the
|
|
44
|
+
physical terminal. Frames coalesce during input bursts, and a slow terminal
|
|
45
|
+
can hold only one unacknowledged frame. Menus share protocol-filtered input;
|
|
46
|
+
inherited terminal commands wait for the renderer to suspend before starting.
|
|
47
|
+
|
|
30
48
|
Header controls use background-filled square padding by default. Run `/color frill on` to enable ornamental Unicode ends when the terminal font includes Symbols for Legacy Computing glyphs.
|
|
31
49
|
|
|
32
50
|
Box-border color animation and gradient flow are disabled by default. Run `/color flow on` to enable them. `/color`, `/color status`, `/color frill status`, and `/color flow status` expose the current state. Both preferences persist in project/global Omnius settings, and `--local` stores only the current project override.
|
|
@@ -49,6 +67,26 @@ The bottom data row reports:
|
|
|
49
67
|
|
|
50
68
|
Sponsor consumer mode can alternate local and remote peer telemetry.
|
|
51
69
|
|
|
70
|
+
## Renderer Validation
|
|
71
|
+
|
|
72
|
+
After building the workspace, run the terminal fixture with:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
node scripts/test-tui-native-live.mjs --report /tmp/omnius-tui-live.json
|
|
76
|
+
node scripts/benchmark-tui-history.mjs --help
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The live fixture opens a real PTY and independently checks its screen with
|
|
80
|
+
xterm. It exercises 20,000 history lines, mouse bursts, tool expansion, editing,
|
|
81
|
+
menus, streaming, cancellation, resizing, terminal handoff, and worker cleanup.
|
|
82
|
+
It uses synthetic agent events by default and sends no model requests.
|
|
83
|
+
|
|
84
|
+
An optional real-model check requires `OMNIUS_TUI_LIVE_PREFLIGHT` to point to a
|
|
85
|
+
placement receipt containing `endpoint`, `model`, `gpu`, and `processes` with
|
|
86
|
+
runner `pid` and `gpu`. Set the matching `OMNIUS_TUI_LIVE_ENDPOINT` and
|
|
87
|
+
`OMNIUS_TUI_LIVE_MODEL` only after completing the live inference hardware gate
|
|
88
|
+
in AGENTS.md. The harness rechecks runner placement before requesting tokens.
|
|
89
|
+
|
|
52
90
|
## Mid-Task Steering
|
|
53
91
|
|
|
54
92
|
Added context and steering should pass through an intake layer that interprets the new requirement relative to the active task. It should not duplicate "Context added" text as prompt content or rely on hardcoded acknowledgements.
|
|
@@ -12,7 +12,7 @@ Omnius requires explicit zero input and output costs, including any advertised c
|
|
|
12
12
|
|
|
13
13
|
The catalog lists paid models too. The inference `/v1/models` response supplies IDs without cost or capability metadata and cannot establish free eligibility. Free suffixes are insufficient: Big Pickle has zero costs without that suffix, and old free rows can remain deprecated or unavailable.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Listing hints from `https://opencode.ai/inference/v1/models` establish positive listing evidence, not exhaustive exclusions. A genuine installed-client request returned a valid Nemotron Ultra reply on 2026-10-14 while that alias remained omitted; canonical active zero-cost metadata therefore determines eligibility. This unauthenticated endpoint returned 83 IDs on 2026-10-12; `exo-free`, `ling-3.0-flash-fin-free` and `nemotron-3-ultra-free` were absent. These observations are not hardcoded exclusions. Empty, partial, missing, malformed or oversized availability discovery preserves canonical zero-cost eligibility; an explicitly empty valid canonical catalog still excludes all models. ID-only rows can never add a model or supply price, tools, schema or context metadata.
|
|
16
16
|
|
|
17
17
|
The [complete free-model follow-up](work-orders/WO-opencode-all-free-models-20261012.md)
|
|
18
18
|
removes the previous 16-model cascade cutoff: all eligible OpenCode models within
|
|
@@ -28,10 +28,12 @@ Two further synthetic streamed probes also returned HTTP 200 with normal termina
|
|
|
28
28
|
|
|
29
29
|
Current [App metadata](https://github.com/anomalyco/opencode/blob/15b24ae12ddb8b7ae3e923b286b4032761bee510/packages/core/src/app.ts) and [model request construction](https://github.com/anomalyco/opencode/blob/15b24ae12ddb8b7ae3e923b286b4032761bee510/packages/core/src/session/model-request.ts) supply the header format. The public [inference proxy](https://github.com/anomalyco/opencode/blob/15b24ae12ddb8b7ae3e923b286b4032761bee510/packages/console/app/src/lib/inference-proxy.ts) delegates free-tier admission to the inference service; its server-side guard was not found in this public source tree. No TLS fingerprint or hidden-signature requirement has been established. See the provider's [access discussion](https://github.com/anomalyco/opencode/issues/49580).
|
|
30
30
|
|
|
31
|
-
The module exports fixed header, system-prefix and core-tool metadata from that pinned source, plus an OpenAI-style catalog normalizer. Its request-header factory generates
|
|
31
|
+
The module exports fixed header, system-prefix and core-tool metadata from that pinned source, plus an OpenAI-style catalog normalizer. Its request-header factory generates a source-format session identifier and uses a stable SHA-1 of the public namespace `omnius` as its project marker. It can retain a caller-owned session ID for affinity. The obsolete `x-opencode-request` header is omitted: single-header live controls found it caused 403 while the unchanged body succeeded without it. It reads no user credentials, private project paths or existing conversation/session data and supplies no Authorization header or execution implementation. A truthful `omnius/unknown` attribution is allowed when no application version is available.
|
|
32
32
|
|
|
33
33
|
Callers must keep host authorization, original tool schemas, history and tool-choice bindings, invert any existing tool-name aliases, and reject calls to compatibility definitions that have no host execution authority. The parser's catalog-only receipt remains separate from live route admission. Identifier generation follows upstream [Identifier](https://github.com/anomalyco/opencode/blob/15b24ae12ddb8b7ae3e923b286b4032761bee510/packages/schema/src/identifier.ts) and [SessionID](https://github.com/anomalyco/opencode/blob/15b24ae12ddb8b7ae3e923b286b4032761bee510/packages/schema/src/session-id.ts); core metadata follows the [read](https://github.com/anomalyco/opencode/blob/15b24ae12ddb8b7ae3e923b286b4032761bee510/packages/core/src/tool/plugin/read.ts) and [shell](https://github.com/anomalyco/opencode/blob/15b24ae12ddb8b7ae3e923b286b4032761bee510/packages/core/src/tool/plugin/shell.ts) definitions.
|
|
34
34
|
|
|
35
|
+
Current source comparisons, genuine-client controls and Telegram acceptance are recorded in the [2026-10-14 work order](work-orders/WO-genuine-opencode-access-20261014.md). Unknown native grammar support uses prompt-only formatting on validated built-in routes, preserving full host schemas and callbacks.
|
|
36
|
+
|
|
35
37
|
The adapted discovery is covered by OpenCode's [MIT license](https://github.com/anomalyco/opencode/blob/15b24ae12ddb8b7ae3e923b286b4032761bee510/LICENSE):
|
|
36
38
|
|
|
37
39
|
```text
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Built-in provider authorized access — 2026-10-14
|
|
2
2
|
|
|
3
|
-
Status: authenticated route implemented; full clean build, current shared-worktree build, and 685 combined focused tests passed. Bundling, a 604-file tarball audit with zero warnings, and a compiler-free fresh npm install passed.
|
|
3
|
+
Status: authenticated route implemented; full clean build, current shared-worktree build, and 685 combined focused tests passed. Bundling, a 604-file tarball audit with zero warnings, and a compiler-free fresh npm install passed. Those implementation checks remain valid. Subsequent genuine-client and wire controls established that public access works and Omnius's obsolete request header caused the checked denials; an account key is not required for the restored anonymous path. See [genuine access repair](WO-genuine-opencode-access-20261014.md) for the live results and current acceptance status.
|
|
4
4
|
|
|
5
5
|
The operator requires actual built-in model replies before publishing. An old official 1.0.856 protocol projection and current 1.0.858 both receive the same explicit client-restriction HTTP 403 today. This must not be misreported as an output parser failure or fixed by claiming a successful mock response.
|
|
6
6
|
|
|
7
|
-
## Source and
|
|
7
|
+
## Source and optional credentials
|
|
8
8
|
|
|
9
9
|
Official provider source at commit `13afea6a1a76360936bbaa7677cff600ad52d452` uses the same pinned HTTPS endpoint and supports `OPENCODE_API_KEY` or an authorized Console credential. Standard local credential/account databases contain zero entries; no provider credential reference is present in the running Omnius process environment. The local Ollama key and local OpenCode server password are not remote inference credentials and must never be reused for this provider. The existence audit did not search arbitrary private files or print secret values.
|
|
10
10
|
|
|
@@ -17,7 +17,7 @@ Evidence: [read-only credential/access audit](evidence/builtin-provider-authoriz
|
|
|
17
17
|
- Keep credentials in transport headers and privileged host state. Do not persist raw environment keys in model selection/configuration or include them in model messages, tool context, route receipts or error bodies. Preserve manual fallback approval before conversation/tool context can be sent remotely.
|
|
18
18
|
- Treat the credentialed route as authenticated when anonymous fallback is disabled; do not enable other anonymous providers. Check credential scope again at dispatch. Revocation or malformed configuration must fail clearly without silently substituting public credentials.
|
|
19
19
|
- Verify selected and cascade modes, native schema/tool/stream adapters, origin isolation, no context/receipt leaks, mid-request revocation and CLI selection persistence. Run a combined isolated build/package smoke.
|
|
20
|
-
- A positive live model reply through the actual Telegram/runtime path
|
|
20
|
+
- A positive live model reply through the actual Telegram/runtime path remains the acceptance requirement, using supported public access or an authorized credential. Contract tests do not satisfy that acceptance criterion. Do not claim the operator's publication condition is met until this passes.
|
|
21
21
|
|
|
22
22
|
The operator has been asked for an authorized environment-variable reference only, never the secret itself. No account creation, provider identity bypass, remote credential guess, or unauthorized retry is part of this repair.
|
|
23
23
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Genuine OpenCode access and source compatibility — 2026-10-14
|
|
2
|
+
|
|
3
|
+
Status: implemented and verified against the exact scoped source snapshot. All nine active free models passed live bundled Telegram attention, reply generation and review. Actual automatic failover and native tool continuations passed. No mocked inference reply establishes acceptance.
|
|
4
|
+
|
|
5
|
+
## Proven failure and correction
|
|
6
|
+
|
|
7
|
+
The original missing-credential explanation was incomplete. Official source intentionally supports anonymous free access with `apiKey: "public"`. A supported request observer in genuine v2.0.29 captured the final serialized request without changing its endpoint, headers or body. A synthetic cross-control isolated the failure to Omnius's added `x-opencode-request` header:
|
|
8
|
+
|
|
9
|
+
| Live control | HTTP |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Genuine body and genuine headers | 200 |
|
|
12
|
+
| Genuine body and original Omnius headers | 403 FreeTierError |
|
|
13
|
+
| Omnius body and genuine headers | 200 |
|
|
14
|
+
| Omnius headers with only User-Agent version updated | 403 |
|
|
15
|
+
| Omnius headers with only x-omnius-client removed | 403 |
|
|
16
|
+
| Omnius headers with only x-opencode-request removed | 200 |
|
|
17
|
+
| Omnius headers with only project ID replaced | 403 |
|
|
18
|
+
|
|
19
|
+
The repair removes only the obsolete request header. Omnius attribution, session affinity, original bodies, provider-bound authorization and endpoint pinning remain intact. The experiment establishes today's failure, not the gateway's private implementation or the date its behavior changed.
|
|
20
|
+
|
|
21
|
+
An older cached catalog also routed genuine clients through `/zen/v1`; the current unchanged public catalog routes through `/inference/v1`. Stable 1.19.0 and installed 2.0.10 both succeeded when supplied the current catalog through supported configuration. Omnius already used the current endpoint; changing its endpoint was not the header repair.
|
|
22
|
+
|
|
23
|
+
## Required work and acceptance
|
|
24
|
+
|
|
25
|
+
1. Remove the obsolete request header in the shared transport and assert its absence for Chat, Responses, streaming and onboarding. Done.
|
|
26
|
+
2. Treat a FreeTierError as a denial of the attempted model/request. Keep healthy siblings eligible, bound retries and preserve independent credential-revocation fences. Done.
|
|
27
|
+
3. Preserve the producer's original JSON schema across Telegram compatibility retries. Compose schema validation with the producer's semantic callback. Do not relax the harness to count an untyped retry as fully validated. Done.
|
|
28
|
+
4. Treat gateway `/models` entries as positive listing hints. Its omissions are not exhaustive negatives: the genuine installed client returned a valid reply from `nemotron-3-ultra-free` while that alias was omitted. Retain strict active, zero-cost, transport and endpoint eligibility; preserve selected-model and capability priority. Done.
|
|
29
|
+
5. For validated built-in catalog models with unknown native structured-output support, use prompt-only framing from the first request, retaining the full original contract and host callback. Ultra's native-schema request returned an upstream error; a wire-only diagnostic omitting that hint returned valid attention, generation and review. Keep generic 500 classification and other providers unchanged. Done.
|
|
30
|
+
6. Refresh the saved fallback catalog from the same public metadata: include active Ultra and remove now-deprecated Ling 3.1. Unknown raw capabilities remain unknown. Done.
|
|
31
|
+
7. Verify the exact scoped source snapshot with a full build, focused regressions, a private bundle and live Telegram-phase tests, including real automatic failover. Done; receipts below.
|
|
32
|
+
|
|
33
|
+
No private conversation, provider key, local inference request or Telegram message is needed for these synthetic acceptance tests. The operator's live client and publish staging remain untouched. A running old package needs the repaired package loaded before its transport changes.
|
|
34
|
+
|
|
35
|
+
## Reproducible genuine-client harness
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
node scripts/live-opencode-access-harness.mjs \
|
|
39
|
+
--binary /absolute/path/to/official/opencode \
|
|
40
|
+
--model opencode/muse-spark-1.3-contributor-free \
|
|
41
|
+
--model opencode/nemotron-3-ultra-free \
|
|
42
|
+
--output-dir /tmp/omnius-genuine-cli-access-new-run \
|
|
43
|
+
--tool-policy ask --timeout-ms 120000
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
`--catalog /absolute/path/to/unchanged-public-catalog.json` is optional. It validates the official provider host/path and zero-cost selected rows, copies the receipt without modification and records its hash. Without it, the report records a free-identifier check rather than claiming verified pricing; the genuine client owns discovery.
|
|
47
|
+
|
|
48
|
+
The harness uses private application/XDG/project directories, no inherited provider credentials, a fixed synthetic prompt, no automatic approval and timeout cancellation limited to its own process group. It leaves the system HOME setting alone. Ask permissions retain genuine tool schemas; they are not a universal operating-system sandbox. Version 1 runs privately in process; version 2 uses `--standalone`. A pass requires exit 0, exactly `OPENCODE_LIVE_OK`, no truncation and no recorded tools, permissions or errors. Full raw logs remain private; the report contains bounded text, sanitized errors, body digests and separately identified runtime/provider log IDs.
|
|
49
|
+
|
|
50
|
+
The Telegram harness invokes actual attention routing, chat generation and independent semantic review. It forbids Telegram delivery and native action dispatch. Pinned runs test each model; an explicit cascade run tests automatic provider recovery. All model responses remain live. Contract regression fixtures are reported separately.
|
|
51
|
+
|
|
52
|
+
## Source and evidence anchors
|
|
53
|
+
|
|
54
|
+
Official current source: `13afea6a1a76360936bbaa7677cff600ad52d452`; installed v2.0.10 tag: `b8cedc1a7a5e2916bbb65dc1d4b620729c261638`; stable v1.19.0: `733b2c627e5aec39cb33cc22373bdce33053ef2c`.
|
|
55
|
+
|
|
56
|
+
- Current `packages/core/src/plugin/provider/opencode.ts:337` selects the public sentinel when no credential is configured.
|
|
57
|
+
- `packages/core/src/session/model-request.ts:279` builds the genuine session headers; its supported `http.request` hook at 337 observes the final request without a proxy or binary patch.
|
|
58
|
+
- TUI and `run --standalone` share server-side inference identity. The local server's Basic password is not a remote credential.
|
|
59
|
+
- Provider filtering uses canonical catalog costs and capabilities. The gateway listing does not define all callable aliases.
|
|
60
|
+
- The Console inference proxy delegates anonymous authorization/accounting to the gateway. The inspected public source does not define FreeTierError enforcement.
|
|
61
|
+
|
|
62
|
+
Current public catalog SHA-256: `94443e070c993dd16f330d05b9d4bc4ecef7684138d19c9fcfe8f423a1f5415d`. It contains nine active eligible free models; other zero-price deprecated entries remain excluded.
|
|
63
|
+
|
|
64
|
+
The initial repaired eight-model run completed all 26 HTTP calls with 200; it also exposed the retry's missing schema receipt. The subsequent run retained that schema but recorded an intermittent Big Pickle envelope failure, Ultra's native-format upstream failure and a Step endpoint outage. Later Big Pickle byte captures returned valid standard SSE and passed all three phases, so no speculative parser change was made. Failed runs remain evidence; a later pass does not erase them. Final verification retains those failures and confirms recovery without relaxing validation.
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## Final verification and delivery boundary
|
|
68
|
+
|
|
69
|
+
The isolated clean workspace build and 1,095 focused tests passed (846 orchestrator, 249 CLI, 38 suites). The package bundle, 605-file tarball audit, README checks and pack passed. Two earlier timing-only test failures under concurrent load passed unchanged with serial CLI execution; their logs remain recorded. The private artifact uses projected declared runtime dependencies; this verification does not claim a new fresh npm install.
|
|
70
|
+
|
|
71
|
+
Bundle SHA-256: `023444acbff8efddf071415dafa8cb0bf5500b99c5f1863fe238b5fd63248ac3`. All 23 staged runtime/test/harness files match the sealed tested snapshot byte for byte. Subsequent work-order and receipt additions do not change those files.
|
|
72
|
+
|
|
73
|
+
Live acceptance used that bundle with ordinary Node settings and no provider key:
|
|
74
|
+
|
|
75
|
+
- Nine models, 18 cases covering attention, reply generation and independent review: passed; all 29 inference HTTP calls returned 200. Big Pickle and Lightning needed bounded attention retries with the full original contract retained.
|
|
76
|
+
- Real automatic cascade: Big Pickle produced rejected output during attention and again during review; both phases recovered through Muse. The five HTTP calls remained live, and the reviewed reply completed successfully.
|
|
77
|
+
- Native tool calls: Muse Responses and Ultra Chat each generated `diagnostic_add(19,23)`, the host actually computed 42, and each model continued with the actual result. Four live calls passed; two arithmetic tool actions executed.
|
|
78
|
+
|
|
79
|
+
Telegram network delivery/ACK and the native action runner remain outside this inference harness. No test sent a Telegram message, generated local GPU inference, changed user configuration, restarted a live session or published a package. The operator owns publication; existing clients must load the repaired package afterward.
|
|
80
|
+
|
|
81
|
+
[Curated genuine-client controls, retained failures, sealed verification and final live receipts](evidence/genuine-opencode-access-repair-20261014.json).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Local admission and remote access recovery — 2026-10-14
|
|
2
2
|
|
|
3
|
-
Status: local admission/access classification repair verified and delivered in `539cf00e`; TUI/Runner producers verified and committed in `a3fd9bab`.
|
|
3
|
+
Status: local admission/access classification repair verified and delivered in `539cf00e`; TUI/Runner producers verified and committed in `a3fd9bab`. Remote public access was subsequently diagnosed and repaired in [genuine-client validation](WO-genuine-opencode-access-20261014.md). Do not reset operator configuration or restart the live Telegram/TUI session as part of validation.
|
|
4
4
|
|
|
5
5
|
## Observed production causes
|
|
6
6
|
|
|
@@ -16,7 +16,7 @@ Status: local admission/access classification repair verified and delivered in `
|
|
|
16
16
|
2. Carry the host's original finite admission budget through Telegram's central inference producer. Preserve short generation/body liveness budgets, explicit user local limits, Stop, and original cancellation. HTTP headers do not reliably identify the start of generation for unary responses: the original finite ceiling remains authoritative without pretending broker phase evidence exists.
|
|
17
17
|
3. Pass exact retained broker queue contracts back to the existing resume owner, with the same logical ID and bodyless retry; do not resubmit the accepted prompt or discover remote providers for that retained job.
|
|
18
18
|
4. Recheck managed local readiness on each request so cleared holds and recovered devices are not hidden behind a stale outage cache.
|
|
19
|
-
5. Classify only the exact proven client restriction, at its pinned origin, as `access_denied`.
|
|
19
|
+
5. Classify only the exact proven client restriction, at its pinned origin, as `access_denied`. The later genuine-client controls disproved provider-wide sibling suppression: deny only the affected model for this request, retaining healthy siblings and fresh-request rechecks. Preserve model-specific handling for generic 403s.
|
|
20
20
|
6. Persist/render allowlisted hold/access reasons and response digests; never retain raw provider bodies or keys in route history.
|
|
21
21
|
7. Verify focused regressions, combined isolated build, package integrity, and a real local production-path response. Record limitations honestly; do not promise an external free endpoint can never reject or rate-limit requests.
|
|
22
22
|
|
|
@@ -32,7 +32,7 @@ Combined isolated workspace build and 503 focused tests passed. The real `Telegr
|
|
|
32
32
|
|
|
33
33
|
Live evidence: [actual Telegram inference wrapper](evidence/telegram-local-inference-live-20261014.json). [Current production route receipts](evidence/local-recovery-production-routes-20261014.json) also show local router/chat/review/actor successes after hold release, followed by an actor timeout at the old installed client’s exact 20-second first-frame limit. The client repair requires the new package to be loaded.
|
|
34
34
|
|
|
35
|
-
The isolated package passed bundling, a 598-file tarball audit with zero warnings, and a compiler-free fresh npm install (required SQLite prebuild loaded). The live client’s global `/fallback manual` setting was preserved. TUI/Runner producers are implemented below; [authenticated provider support](WO-builtin-provider-authorized-access-20261014.md) is implemented and separately verified;
|
|
35
|
+
The isolated package passed bundling, a 598-file tarball audit with zero warnings, and a compiler-free fresh npm install (required SQLite prebuild loaded). The live client’s global `/fallback manual` setting was preserved. TUI/Runner producers are implemented below; [authenticated provider support](WO-builtin-provider-authorized-access-20261014.md) is implemented and separately verified; the later [genuine-client repair](WO-genuine-opencode-access-20261014.md) records restored public replies and supersedes the earlier unresolved-access conclusion. The user's publish staging and running sessions remain untouched. A new package must be published/loaded to apply client repairs to those sessions; the operator hold release already affects the current broker.
|
|
36
36
|
|
|
37
37
|
## Shared TUI and Runner producer follow-up
|
|
38
38
|
|