omnius 1.0.848 → 1.0.850
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 +2089 -1164
- package/docs/DISCOVERY.json +782 -67
- package/docs/DISCOVERY.md +20 -0
- package/docs/inference-fallback-priority.md +91 -0
- package/docs/opencode-free-model-discovery.md +9 -1
- package/docs/work-orders/WO-fallback-quality-order-20261012.md +70 -0
- package/docs/work-orders/WO-fallback-reply-contracts-20261012.md +116 -0
- package/docs/work-orders/WO-opencode-all-free-models-20261012.md +88 -0
- package/docs/work-orders/WO-opencode-production-compatibility-20261012.md +90 -0
- package/docs/work-orders/WO-telegram-progress-presentation-20261012.md +45 -0
- package/docs/work-orders/evidence/fallback-model-benchmarks-20261012.json +1823 -0
- package/docs/work-orders/evidence/fallback-quality-installed-20261012.json +626 -0
- package/docs/work-orders/evidence/fallback-reply-contracts-installed-20261012.json +577 -0
- package/docs/work-orders/evidence/native-conversation-prompt-audit-20261012.json +226 -0
- package/docs/work-orders/evidence/native-goal-contract-probe-20261012.json +794 -0
- package/docs/work-orders/evidence/opencode-all-free-audit-20261012.json +1489 -0
- package/docs/work-orders/evidence/opencode-all-free-installed-verification-20261012.json +437 -0
- package/docs/work-orders/evidence/opencode-installed-production-stream-live-20261012.json +218 -0
- package/docs/work-orders/evidence/opencode-production-cascade-live-20261012.json +214 -0
- package/docs/work-orders/evidence/opencode-production-pre-recovery-live-20261012.json +167 -0
- package/docs/work-orders/evidence/opencode-step-rate-limited-diagnostic-20261012.json +88 -0
- package/docs/work-orders/evidence/terminal-review-contract-probe-20261012.json +335 -0
- package/docs/work-orders/evidence/terminal-review-error-probe-20261012.json +149 -0
- package/docs/work-orders/evidence/terminal-review-schema-repair-probe-20261012.json +920 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/docs/DISCOVERY.md
CHANGED
|
@@ -455,6 +455,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
455
455
|
| `guide.guides-tui-workflows` | TUI Workflows | The TUI is the primary Omnius control surface for interactive use. |
|
|
456
456
|
| `guide.handoff-crl-encoder-decoder-fix-uppercase` | HANDOFF: CRL Encoder/Decoder Bidirectional Fix | Date: 2026-04-22 Status: Needs Implementation Failing Test: packages/memory/tests/crl-converter.test.ts - "should validate roundtrip accuracy" |
|
|
457
457
|
| `guide.index` | Omnius Documentation | Omnius is an autonomous local-first agent runtime with a TUI, REST daemon, P2P sponsor mesh, Telegram bridge, realtime conversation mode, media generation routes, and AIWG-compatible documentation skills. |
|
|
458
|
+
| `guide.inference-fallback-priority` | Inference fallback priority | Local inference remains first. After a qualifying local failure and any required manual approval, the remote cascade uses these stages: |
|
|
458
459
|
| `guide.keyless-provider-survey` | Keyless provider survey | Reviewed 2026-10-12. Discovery used public primary documentation and metadata. Live probes contained small synthetic prompts, never private conversation or repository context, and executed no tools. The complete sanitized survey is recorded with the keyless fallback work order. |
|
|
459
460
|
| `guide.longhaul-35b-workorders` | Work Orders — Long-Haul Implementation on a 35B-Class Model | Origin: Root-cause review of the myactuator ESP32/PlatformIO session (35B ornith-vision) plus a 2026-literature sweep of surprising remedies. See companion analysis in docs/context-management-medium-models-proposal.md and docs/duplicate-calls-root-cause-analysis.md. |
|
|
460
461
|
| `guide.memory-integration-analysis` | Memory Integration Analysis — Parallel Systems Gap Assessment | Date: 2026-04-23 Status: ✅ INTEGRATED — All P0 gaps closed Context: Review of literature on memory compression + integration testing of Omnius parallel memory systems |
|
|
@@ -522,13 +523,27 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
522
523
|
| `guide.voice-flow-architecture` | Voice TTS Flow — Architecture & Implementation Guide | This document describes the voice synthesis system in omnius: how it's built, how all the pieces connect, and how to add new voice features following the same patterns. |
|
|
523
524
|
| `guide.work-orders-active-inference-route-remote-probes-20261012` | Active Inference Route Remote Probes 20261012 | Bundled Omnius documentation artifact: docs/work-orders/active-inference-route-remote-probes-20261012.json. |
|
|
524
525
|
| `guide.work-orders-daemon-hud-ui-overhaul` | Daemon HUD UI Overhaul Work Order | Overhaul the daemon web interface using /home/roko/Desktop/hud-ui-style-kit(6)/hud-ui-style-kit as the source of truth. Preserve current daemon behavior while replacing the OpenWebUI-like rounded dashboard styling with the cold tactical HUD visual system. |
|
|
526
|
+
| `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. |
|
|
527
|
+
| `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. |
|
|
528
|
+
| `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. |
|
|
525
529
|
| `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. |
|
|
526
530
|
| `guide.work-orders-evidence-keyless-compatibility-20261012` | Keyless Compatibility 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/keyless-compatibility-20261012.json. |
|
|
527
531
|
| `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. |
|
|
528
532
|
| `guide.work-orders-evidence-kilo-production-compatibility-20261012` | Kilo Production Compatibility 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/kilo-production-compatibility-20261012.json. |
|
|
533
|
+
| `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. |
|
|
534
|
+
| `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. |
|
|
535
|
+
| `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. |
|
|
536
|
+
| `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. |
|
|
537
|
+
| `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. |
|
|
538
|
+
| `guide.work-orders-evidence-opencode-production-cascade-live-20261012` | Opencode Production Cascade Live 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-production-cascade-live-20261012.json. |
|
|
529
539
|
| `guide.work-orders-evidence-opencode-production-compatibility-20261012` | Opencode Production Compatibility 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-production-compatibility-20261012.json. |
|
|
540
|
+
| `guide.work-orders-evidence-opencode-production-pre-recovery-live-20261012` | Opencode Production Pre Recovery Live 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-production-pre-recovery-live-20261012.json. |
|
|
541
|
+
| `guide.work-orders-evidence-opencode-step-rate-limited-diagnostic-20261012` | Opencode Step Rate Limited Diagnostic 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-step-rate-limited-diagnostic-20261012.json. |
|
|
530
542
|
| `guide.work-orders-evidence-ovh-production-compatibility-20261012` | Ovh Production Compatibility 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/ovh-production-compatibility-20261012.json. |
|
|
531
543
|
| `guide.work-orders-evidence-ovh-structured-context-compatibility-20261012` | Ovh Structured Context Compatibility 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/ovh-structured-context-compatibility-20261012.json. |
|
|
544
|
+
| `guide.work-orders-evidence-terminal-review-contract-probe-20261012` | Terminal Review Contract Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/terminal-review-contract-probe-20261012.json. |
|
|
545
|
+
| `guide.work-orders-evidence-terminal-review-error-probe-20261012` | Terminal Review Error Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/terminal-review-error-probe-20261012.json. |
|
|
546
|
+
| `guide.work-orders-evidence-terminal-review-schema-repair-probe-20261012` | Terminal Review Schema Repair Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/terminal-review-schema-repair-probe-20261012.json. |
|
|
532
547
|
| `guide.work-orders-hermes-architecture-deltas-01-public-scrutiny-provenance-control-index-uppercase` | Public Scrutiny Provenance Control Index | Bundled Omnius documentation artifact: docs/work-orders/hermes-architecture-deltas/01-public-scrutiny-provenance-control/INDEX.md. |
|
|
533
548
|
| `guide.work-orders-hermes-architecture-deltas-01-public-scrutiny-provenance-control-workorder-uppercase` | Workorder: Public Scrutiny Provenance Control | Add a public Telegram scrutiny control plane that can elevate completion provenance checks when public accuracy risk rises, without hard-coded scenario phrases or shortcut wording that teaches the model to satisfy the gate without evidence. |
|
|
534
549
|
| `guide.work-orders-hermes-architecture-deltas-02-context-engine-plugin-boundary-index-uppercase` | Context Engine Plugin Boundary Index | Bundled Omnius documentation artifact: docs/work-orders/hermes-architecture-deltas/02-context-engine-plugin-boundary/INDEX.md. |
|
|
@@ -652,12 +667,17 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
|
|
|
652
667
|
| `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. |
|
|
653
668
|
| `guide.work-orders-wo-active-inference-route-and-telegram-review-20261012-uppercase` | Active inference route and Telegram completion review | Status: implementation complete and verified. Publication remains with the user. |
|
|
654
669
|
| `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 |
|
|
670
|
+
| `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. |
|
|
671
|
+
| `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. |
|
|
655
672
|
| `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. |
|
|
656
673
|
| `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. |
|
|
657
674
|
| `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. |
|
|
675
|
+
| `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. |
|
|
676
|
+
| `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. |
|
|
658
677
|
| `guide.work-orders-wo-primary-checkout-fallback-delivery-20261012-uppercase` | Primary checkout delivery and remote output capacity | Status: implementation complete and verified in the primary checkout. Publication remains with the user. |
|
|
659
678
|
| `guide.work-orders-wo-telegram-fallback-20261012-uppercase` | Telegram outage fallback and user-selected approval mode | Status: implementation complete; distributable verification recorded below. Publication and runtime installation are reserved for the user. |
|
|
660
679
|
| `guide.work-orders-wo-telegram-plain-answer-and-provider-catalog-20261012-uppercase` | Preserve native Telegram answers and use compatible free inference routes | Status: implemented and verified. The user owns publication and runtime replacement. |
|
|
680
|
+
| `guide.work-orders-wo-telegram-progress-presentation-20261012-uppercase` | Telegram progress presentation | Status: implemented and verified, resumed by the user with instructions to complete, commit and push. The evidenced OpenCode compatibility failure is handled in the current repair order. |
|
|
661
681
|
| `guide.work-orders-wo-telegram-unavailable-review-presentation-20261012-uppercase` | Telegram reply presentation when an auxiliary review is unavailable | Status: implemented and verified. Publication and runtime replacement remain with the user. |
|
|
662
682
|
| `guide.work-orders-world-class-memory-compiler-readme-uppercase` | World-Class Memory Compiler Program | Status: active implementation program Owner: Omnius orchestration and memory packages Last updated: 2026-07-13 |
|
|
663
683
|
| `guide.work-orders-world-class-memory-compiler-tracker-uppercase` | Memory Compiler Implementation Tracker | Last reconciled: 2026-07-13 Authority: This file is the granular program tracker. The work-order documents define the contract and acceptance criteria; neither test output nor a model claim may check an item without the named evidence. |
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Inference fallback priority
|
|
2
|
+
|
|
3
|
+
Local inference remains first. After a qualifying local failure and any required
|
|
4
|
+
manual approval, the remote cascade uses these stages:
|
|
5
|
+
|
|
6
|
+
1. Every eligible OpenCode free model, in benchmark-informed order.
|
|
7
|
+
2. Every eligible Hermes model, as explicitly requested by the operator.
|
|
8
|
+
3. Remaining keyless routes merged by model quality across providers.
|
|
9
|
+
4. Explicitly configured keyed providers, in their configured order.
|
|
10
|
+
|
|
11
|
+
An explicit `keyless: false` policy retains configured-only behavior. The
|
|
12
|
+
OpenCode and Hermes stages are discovered lazily: successful OpenCode inference
|
|
13
|
+
does not fetch lower provider catalogs. All stages retain the existing deadline,
|
|
14
|
+
capability, context, cost, cooldown, ownership and cancellation checks. Models
|
|
15
|
+
cooling after HTTP 429 do not hold up ready alternatives. Ready retries retain
|
|
16
|
+
the original cascade priority rather than simply favoring an earlier expiry.
|
|
17
|
+
|
|
18
|
+
## Benchmark basis
|
|
19
|
+
|
|
20
|
+
The host-owned table in
|
|
21
|
+
`packages/orchestrator/src/inference-fallback-priority.ts` uses non-estimated
|
|
22
|
+
Artificial Analysis Intelligence Index **v4.3.2**, observed 2026-10-12. The same
|
|
23
|
+
revision includes agentic workflow, terminal, coding, knowledge and long-context
|
|
24
|
+
evaluations. Scores from older index revisions are not mixed into this order.
|
|
25
|
+
|
|
26
|
+
| OpenCode model | Published index | Evaluated setting |
|
|
27
|
+
| --- | ---: | --- |
|
|
28
|
+
| [Muse Spark 1.3](https://artificialanalysis.ai/models/muse-spark-1-3) | 48.09 | Max; Xhigh separately scores 45.07 |
|
|
29
|
+
| [Step 5 Preview](https://artificialanalysis.ai/models/step-5) | 43.73 | Reasoning |
|
|
30
|
+
| [Ling 3.1 Flash](https://artificialanalysis.ai/models/ling-3-1-flash) | 41.09 | Reasoning |
|
|
31
|
+
| [MiMo V2.6 Flash](https://artificialanalysis.ai/models/mimo-v2-6-flash) | 37.88 | Reasoning |
|
|
32
|
+
| [Nemotron 3.5 Lightning](https://artificialanalysis.ai/models/nemotron-3-5-lightning) | 12.86 | Reasoning |
|
|
33
|
+
|
|
34
|
+
These are published measurements of the named models, not benchmarks of the
|
|
35
|
+
anonymous endpoints. Gateway effort, precision and checkpoint equivalence have
|
|
36
|
+
not been established. The runtime uses each named model's highest published
|
|
37
|
+
non-estimated variant as a preference for model potential; this does not change
|
|
38
|
+
the caller's thinking policy or silently request maximum reasoning effort.
|
|
39
|
+
|
|
40
|
+
Official coding results provide separate cross-checks: Muse 1.3 Max reports
|
|
41
|
+
75.4% DeepSWE v1.1 and 88.8% Terminal-Bench 2.1; Step 5 High reports 67.7% and
|
|
42
|
+
85.0%; MiMo Flash-RL reports 67.9% and 87.6%. Different harnesses and settings
|
|
43
|
+
prevent treating those figures as an exact cross-model league table.
|
|
44
|
+
[Meta](https://dev.meta.ai/models/muse-spark),
|
|
45
|
+
[StepFun](https://www.stepfun.com/step-5-preview),
|
|
46
|
+
[Xiaomi](https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL).
|
|
47
|
+
|
|
48
|
+
## Unranked models and dynamic discovery
|
|
49
|
+
|
|
50
|
+
Space Bunny and Big Pickle are undisclosed or rolling aliases. LongCat 2.5 has
|
|
51
|
+
no exact comparable published result in the bounded search. They remain
|
|
52
|
+
eligible after models with comparable measured results; this placement expresses
|
|
53
|
+
evidence confidence, not proof that they are weaker. Small original experiments
|
|
54
|
+
on Big Pickle and Space Bunny use different subsets and are recorded separately,
|
|
55
|
+
without converting them into an invented AA score. New free models remain
|
|
56
|
+
automatically discovered within the existing catalog bounds.
|
|
57
|
+
|
|
58
|
+
For unmeasured models, declared tool/schema support and usable context/output
|
|
59
|
+
headroom provide deterministic operational tie-breaks, followed by the host
|
|
60
|
+
preferred identity and stable model ID. These fields do not measure intelligence.
|
|
61
|
+
An opaque selector remains unranked; known measured concrete models precede it.
|
|
62
|
+
For a wholly unmeasured compatible pool, its existing automatic selector remains
|
|
63
|
+
available before concrete alternatives, without borrowing their token limits.
|
|
64
|
+
|
|
65
|
+
The [research receipt](work-orders/evidence/fallback-model-benchmarks-20261012.json)
|
|
66
|
+
maps 44 advertised candidate identities across OpenCode, Hermes, Kilo, LLM7, OVH
|
|
67
|
+
and ch.at, with exact-version/mode alternatives and exclusions. Only measured
|
|
68
|
+
matching identities enter the runtime table. Estimated-only scores, older
|
|
69
|
+
LongCat/Mistral versions, and base-model scores for the quantized Hermes
|
|
70
|
+
derivative do not become fabricated endpoint measurements.
|
|
71
|
+
|
|
72
|
+
Published quality never establishes free access. In particular, current LLM7
|
|
73
|
+
concrete rows advertise positive prices and its homepage describes free-token
|
|
74
|
+
access; these facts do not confer anonymous tool/schema authority. The existing
|
|
75
|
+
pricing and authentication filters remain in force.
|
|
76
|
+
|
|
77
|
+
## Compatibility and verification
|
|
78
|
+
|
|
79
|
+
Before dispatch, exact native tools, structured output and full request token
|
|
80
|
+
budgets still determine eligibility. Ling's explicit schema-support rejection
|
|
81
|
+
excludes it from schema-bearing turns. Muse retains its Responses transport.
|
|
82
|
+
Learned native grammar restrictions are isolated by endpoint/model/API, and the
|
|
83
|
+
complete original host schema remains authoritative. Successful output ends
|
|
84
|
+
the cascade; no replay occurs after visible ordinary output or tool fragments.
|
|
85
|
+
|
|
86
|
+
Source regressions cover full 512-model OpenCode traversal before Hermes,
|
|
87
|
+
unknown-model discovery, published-score ordering, cross-provider quality merge,
|
|
88
|
+
configured-only/tail behavior, cooldown recovery, ready retry priority and
|
|
89
|
+
unchanged tool/schema/Stop contracts. The packaged backend verifier repeats the
|
|
90
|
+
ordering and schema repair through synthetic HTTP with no real inference or
|
|
91
|
+
Telegram messages.
|
|
@@ -8,12 +8,20 @@ Source revision: [`anomalyco/opencode@15b24ae12ddb8b7ae3e923b286b4032761bee510`]
|
|
|
8
8
|
- [`packages/core/src/plugin/models-dev.ts`](https://github.com/anomalyco/opencode/blob/15b24ae12ddb8b7ae3e923b286b4032761bee510/packages/core/src/plugin/models-dev.ts) excludes deprecated models and models without text support.
|
|
9
9
|
- [`packages/core/src/plugin/provider/opencode.ts`](https://github.com/anomalyco/opencode/blob/15b24ae12ddb8b7ae3e923b286b4032761bee510/packages/core/src/plugin/provider/opencode.ts) enables anonymous access using the public sentinel `public` and disables models with positive input costs when no real key is configured.
|
|
10
10
|
|
|
11
|
-
Omnius requires explicit zero input and output costs, including any advertised context tiers and cache prices. It pins the provider and endpoint, accepts
|
|
11
|
+
Omnius requires explicit zero input and output costs, including any advertised context tiers and cache prices. It pins the provider and endpoint, accepts the OpenAI-compatible chat transport and the per-model `@ai-sdk/openai` Responses transport, excludes foreign endpoints and unsupported protocols, and preserves documented tool, schema and token-limit metadata. Missing schema support remains unknown. The returned `admission: "catalog_only"` records that metadata alone establishes no route availability. Responses models use the dedicated adapter at the same pinned `/inference/v1/responses` endpoint.
|
|
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
|
An optional intersection with `https://opencode.ai/inference/v1/models` removes free metadata rows that the gateway no longer lists. 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. A valid empty list excludes all models; missing, malformed or oversized discovery preserves the canonical zero-cost metadata instead of treating a discovery outage as an authoritative empty provider. ID-only rows can never add a model or supply price, tools, schema or context metadata.
|
|
16
16
|
|
|
17
|
+
The [complete free-model follow-up](work-orders/WO-opencode-all-free-models-20261012.md)
|
|
18
|
+
removes the previous 16-model cascade cutoff: all eligible OpenCode models within
|
|
19
|
+
the shared 512-row catalog bound are queued. The subsequent
|
|
20
|
+
[benchmark-informed priority](inference-fallback-priority.md) exhausts eligible
|
|
21
|
+
OpenCode models before Hermes and other providers. The current audit found seven live free chat models plus
|
|
22
|
+
`muse-spark-1.3-contributor-free`, whose `@ai-sdk/openai` declaration selects
|
|
23
|
+
Responses. The ordinary chat adapter must never substitute for that transport.
|
|
24
|
+
|
|
17
25
|
On 2026-10-12, synthetic tool-less Nemotron requests returned HTTP 403 `FreeTierError`, including probes using the public sentinel, current upstream headers and legacy `/zen/v1/chat/completions` endpoint. Within the user's explicitly authorized partner compatibility scope, a subsequent source-derived native-shaped request succeeded at `https://opencode.ai/inference/v1/chat/completions`: HTTP 200 SSE, visible answer `OK`, normal `stop` and `[DONE]`, in 1.044 seconds. It used `opencode/latest/2.0.27/cli`, client `cli`, transparent `x-omnius-client: omnius/1.0.847`, fresh source-format session/message IDs, the current system prefix, genuine read/shell definitions, automatic tool selection and streaming. No tool executed. This demonstrates native-agent availability for that request; it does not identify which shape differences the server requires or establish all models and modes.
|
|
18
26
|
|
|
19
27
|
Two further synthetic streamed probes also returned HTTP 200 with normal terminal receipts. The same compatibility definitions with `tool_choice: "none"` and a strict JSON schema produced exactly `{"value":"ok"}` without tool calls in 4.120 seconds. A forced custom `omnius_probe` tool alongside those definitions returned that custom call with the expected arguments in 0.946 seconds. These establish those request shapes for Nemotron, without executing any tool or sending private context. They do not imply every catalog model supports them.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Benchmark-informed fallback cascade
|
|
2
|
+
|
|
3
|
+
Status: implemented and verified. Publication and active runtime replacement
|
|
4
|
+
remain with the user. Telegram progress presentation stays deferred.
|
|
5
|
+
|
|
6
|
+
## User request
|
|
7
|
+
|
|
8
|
+
Try all free OpenCode models from highest capability to lowest before Hermes,
|
|
9
|
+
then descend through remaining keyless endpoints. Research published benchmarks
|
|
10
|
+
for the actual listed model versions to determine the stack. Do not derail the
|
|
11
|
+
ongoing inference compatibility repair.
|
|
12
|
+
|
|
13
|
+
## Findings and work
|
|
14
|
+
|
|
15
|
+
The prior helper tried configured providers first, preferred Nemotron over
|
|
16
|
+
stronger available models, and interleaved providers before exhausting OpenCode.
|
|
17
|
+
OpenCode's catalog provides no quality score; its upstream default follows
|
|
18
|
+
release date, which is not an intelligence ranking.
|
|
19
|
+
|
|
20
|
+
The [benchmark evidence](evidence/fallback-model-benchmarks-20261012.json) uses
|
|
21
|
+
current Artificial Analysis v4.3.2 plus original vendor coding evaluations.
|
|
22
|
+
Current comparable OpenCode order is Muse 1.3, Step 5, Ling 3.1, MiMo 2.6,
|
|
23
|
+
Nemotron 3.5. Three additional anonymous/unmeasured models remain eligible;
|
|
24
|
+
they are explicitly unranked rather than assigned fabricated scores. Free
|
|
25
|
+
gateway reasoning settings and checkpoint equivalence remain unverified.
|
|
26
|
+
|
|
27
|
+
Implement OpenCode-all → Hermes-all → remaining keyless merged by model quality
|
|
28
|
+
→ configured keyed tail. Preserve explicit configured-only policy, model-specific
|
|
29
|
+
and provider-wide quota scopes, schema adapters, tool/context/cost admission,
|
|
30
|
+
deadline bounds, manual permission and no replay after output. Do not delay
|
|
31
|
+
ready alternatives for a throttled higher route. Ready retries use original
|
|
32
|
+
cascade priority. Research scores must never confer free-access authority.
|
|
33
|
+
|
|
34
|
+
The [priority reference](../inference-fallback-priority.md) records the source
|
|
35
|
+
URLs, exact settings, unknown-model behavior and operational limitations.
|
|
36
|
+
|
|
37
|
+
## Acceptance
|
|
38
|
+
|
|
39
|
+
- A successful 512th OpenCode model produces zero lower-provider dispatches;
|
|
40
|
+
full OpenCode exhaustion reaches Hermes only after all eligible OpenCode rows.
|
|
41
|
+
- A stronger measured nonpreferred model precedes a weaker seed. Catalog or
|
|
42
|
+
registry row order does not change selection. Newly discovered unknown models
|
|
43
|
+
remain included; incompatible or nonfree rows remain excluded.
|
|
44
|
+
- Remaining providers merge by model quality, so a weak alternative does not
|
|
45
|
+
preempt a stronger model at another endpoint. Opaque selectors claim no fixed
|
|
46
|
+
benchmark identity.
|
|
47
|
+
- Cooldowns immediately allow ready alternatives; recovery returns to higher
|
|
48
|
+
routes. Stop, stale ownership, total deadlines and bounded retries still hold.
|
|
49
|
+
- Verify source suites, complete workspace build, freshly installed package and
|
|
50
|
+
actual bundled backend ordering/schema checks. Commit and push scoped work.
|
|
51
|
+
|
|
52
|
+
## Verification receipt
|
|
53
|
+
|
|
54
|
+
542 orchestrator tests passed with one existing skip; 122 CLI tests passed.
|
|
55
|
+
The complete workspace build, package bundle, README/tarball audit and fresh
|
|
56
|
+
compiler-free global npm installation passed. SQLite, CLI and library loaded.
|
|
57
|
+
|
|
58
|
+
The [freshly installed backend receipt](evidence/fallback-quality-installed-20261012.json)
|
|
59
|
+
records 64/64 mocked transport cases passing. Six reach the 512th OpenCode alias
|
|
60
|
+
with zero other-provider generations; two prove benchmark preference over the
|
|
61
|
+
Nemotron seed and larger unmeasured context limits; two exhaust ten eligible
|
|
62
|
+
keyless aliases before the configured keyed tail. Native tool, Responses,
|
|
63
|
+
structured validation and the original-schema `uniqueItems` regressions remain
|
|
64
|
+
green. These checks made no real inference requests or Telegram sends.
|
|
65
|
+
|
|
66
|
+
Prepared artifact: `publish/omnius-1.0.848.tgz`, SHA-256
|
|
67
|
+
`2f0b02299333dea363eaa93c8e1f7e10a4371aeb3388fba35e6a3a39359c8611`.
|
|
68
|
+
Its bundled backend SHA-256 is
|
|
69
|
+
`651aa2819b85678d8aac1fa84f9e9c6fd7a088d17645d9cd212b00500bcf468c`.
|
|
70
|
+
No publication or active runtime restart was performed.
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Fallback reply contracts and live Telegram regressions
|
|
2
|
+
|
|
3
|
+
Status: implemented and verified in source and the freshly installed package.
|
|
4
|
+
Publishing and restarting the active bot remain user-owned. The subsequent
|
|
5
|
+
OpenCode-first capability ordering is tracked in
|
|
6
|
+
[its work order](WO-fallback-quality-order-20261012.md); Telegram progress
|
|
7
|
+
presentation remains explicitly deferred.
|
|
8
|
+
|
|
9
|
+
## User steering
|
|
10
|
+
|
|
11
|
+
The running cascade selects OpenCode Nemotron, Kilo Nemotron and Hermes but
|
|
12
|
+
reports `invalid_response`; OVH reports `empty_response`, and Big Pickle rejects
|
|
13
|
+
the request with HTTP 400. Handle the actual protocol and expected reply contract
|
|
14
|
+
dynamically for every selected fallback. Do not treat a successful isolated
|
|
15
|
+
provider probe as proof that production routing uses the same adapter.
|
|
16
|
+
|
|
17
|
+
The user also reported that replying to ordinary "good dog" chatter created and
|
|
18
|
+
uploaded `reply.txt`. Review current live logs and fix evidenced problems before
|
|
19
|
+
publication; preserve the ongoing full free-model coverage work.
|
|
20
|
+
|
|
21
|
+
## Evidence
|
|
22
|
+
|
|
23
|
+
The scoped public run `telegram-c34a3d7d53728329-1791861851684-1` began at
|
|
24
|
+
2026-10-13T03:24:12Z. It produced a plain reply, which the host rejected after a
|
|
25
|
+
semantic review demanded delivery evidence. The current criterion was
|
|
26
|
+
`effect:visible_response`; the current user message requested no file. That
|
|
27
|
+
rejection led to a failed file send, file creation, another blocked result check,
|
|
28
|
+
then a successful upload and an echoed final reply at 03:25:41Z. Eventual upload
|
|
29
|
+
success does not justify the invented delivery obligation.
|
|
30
|
+
|
|
31
|
+
The [sanitized prompt audit](evidence/native-conversation-prompt-audit-20261012.json)
|
|
32
|
+
also found generic zero-execution guidance that told the model to take a tool
|
|
33
|
+
action for a conversational goal. Tool receipt authority must remain intact;
|
|
34
|
+
ordinary conversation must not be required to manufacture execution evidence.
|
|
35
|
+
|
|
36
|
+
Current debug artifacts redact actual outbound requests and do not retain
|
|
37
|
+
auxiliary provider response bodies. The generic `invalid_response` category
|
|
38
|
+
combined transport JSON, native tool and structured-schema failures; that label
|
|
39
|
+
alone did not identify the cause. Production-helper probes with invented context
|
|
40
|
+
isolated it: the simple native-goal schema passed, but the full terminal-review
|
|
41
|
+
schema produced an HTTP 200 error envelope. The upstream Nvidia grammar rejected
|
|
42
|
+
`uniqueItems`, wrapped as `server_error`. See the [exact safe diagnostic
|
|
43
|
+
receipt](evidence/terminal-review-error-probe-20261012.json). No private message,
|
|
44
|
+
credential or raw provider response body is retained in the public receipts.
|
|
45
|
+
|
|
46
|
+
## Work and acceptance
|
|
47
|
+
|
|
48
|
+
1. Trace selected-model metadata through the actual production fallback helper,
|
|
49
|
+
backend factory, request builder and response decoder. Select Chat Completions
|
|
50
|
+
or Responses per model, preserve tool/schema/context contracts, and condition
|
|
51
|
+
unsupported wire hints without weakening host validation.
|
|
52
|
+
2. Exercise the actual native-goal review policy and schema through these
|
|
53
|
+
production adapters with invented conversation/evidence. Derive provider
|
|
54
|
+
limits from their public catalogs. Use no local inference, real actions,
|
|
55
|
+
Telegram messages or private human context. Honor quota cooldowns.
|
|
56
|
+
3. Add safe, precise rejection diagnostics identifying the expected reply kind
|
|
57
|
+
and validation stage; never print raw bodies, secret values or user context.
|
|
58
|
+
Validate structured auxiliary replies before exposing their text as a
|
|
59
|
+
completed reply. Preserve Stop, ownership and no replay after visible output.
|
|
60
|
+
4. Repair evidenced conversational tool pressure and test a direct chat reply
|
|
61
|
+
without files, uploads or fabricated tool receipts. Real mutation/delivery
|
|
62
|
+
requests must retain actual effect and provider-acknowledgement requirements.
|
|
63
|
+
5. Run focused and production Telegram regressions, rebuild the package, verify
|
|
64
|
+
the freshly installed artifact and record scoped commit/push receipts.
|
|
65
|
+
|
|
66
|
+
## Additional live checks
|
|
67
|
+
|
|
68
|
+
Review later runs for duplicate contradictory completion events and tool
|
|
69
|
+
description truncation. Apply only repairs supported by current evidence;
|
|
70
|
+
record unresolved observations explicitly instead of broadening the task into
|
|
71
|
+
unrelated runtime changes.
|
|
72
|
+
|
|
73
|
+
## Implementation and verification
|
|
74
|
+
|
|
75
|
+
- Normalize in-band provider errors before decoding Chat Completions or
|
|
76
|
+
Responses, including HTTP 200 JSON and SSE envelopes. Retain only whitelisted
|
|
77
|
+
failure categories and status, never upstream text or nested causes.
|
|
78
|
+
- Learn the proven native `uniqueItems` restriction per full endpoint path,
|
|
79
|
+
model and API shape for five minutes. Retry that route once with a separately
|
|
80
|
+
lowered wire schema. Preserve the complete original host schema, completion
|
|
81
|
+
callback, tool parameters and uniqueness checks. Include original-schema
|
|
82
|
+
guidance in the admitted request budget. Do not strip arbitrary constraints.
|
|
83
|
+
- Validate expected JSON and native tool calls before releasing structured
|
|
84
|
+
replies or executable tool fragments. Accept one complete JSON fence without
|
|
85
|
+
changing values; reject prose extraction, malformed arguments, unoffered
|
|
86
|
+
calls, truncation and duplicate citations. Preserve cancellation, ownership,
|
|
87
|
+
deadlines, manual fallback permission and the no-replay boundary after output.
|
|
88
|
+
- Distinguish JSON syntax, schema mismatch, unsupported schema, tool choice,
|
|
89
|
+
tool arguments and transport envelope failures in safe route diagnostics.
|
|
90
|
+
- Remove generic pressure to manufacture tool execution for conversation.
|
|
91
|
+
Preserve file-write/edit/send purpose before long scoped paths consume the
|
|
92
|
+
model-facing description budget. Text replies need no fabricated reply file;
|
|
93
|
+
requested material effects still require actual tool and delivery receipts.
|
|
94
|
+
|
|
95
|
+
Source verification: 520 orchestrator tests passed with one existing skip;
|
|
96
|
+
122 CLI tests passed. The complete workspace build and artifact audit passed.
|
|
97
|
+
The compiler-free fresh npm installation loaded SQLite and the CLI/library;
|
|
98
|
+
60 deterministic checks exercised the actual installed backend, including
|
|
99
|
+
12 full terminal-review grammar-repair/host-rejection cases.
|
|
100
|
+
|
|
101
|
+
The [post-repair live receipt](evidence/terminal-review-schema-repair-probe-20261012.json)
|
|
102
|
+
uses the actual production fallback helper and backend with synthetic context,
|
|
103
|
+
the unchanged full terminal-review schema and public provider limits. OpenCode
|
|
104
|
+
and Kilo both rejected the initial native grammar, then returned original-schema
|
|
105
|
+
valid JSON after the same-route repair. Kilo chose `deliver`; OpenCode chose
|
|
106
|
+
`stop`. OpenCode's generated justification was not retained, so semantic
|
|
107
|
+
correctness is not claimed. Hermes reached the adapted request and returned
|
|
108
|
+
HTTP 429; the probe stopped at its two-send quota. No local inference, Telegram
|
|
109
|
+
messages or tool actions occurred. Remote quota or outage can still exhaust a
|
|
110
|
+
bounded cascade; this repair does not promise perpetual service availability.
|
|
111
|
+
|
|
112
|
+
The later 03:28 run's successful handler result and failed synthetic terminal
|
|
113
|
+
projection are distinct events. The latter retained pending visible-response
|
|
114
|
+
acknowledgement. This observation does not establish a duplicate-handler bug or
|
|
115
|
+
justify weakening the delivery gate; presentation work remains queued in
|
|
116
|
+
[its work order](WO-telegram-progress-presentation-20261012.md).
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# All OpenCode free models in the fallback cascade
|
|
2
|
+
|
|
3
|
+
Status: implemented and verified. Publication and runtime replacement remain
|
|
4
|
+
with the user. The subsequent live-reply fixes are tracked separately in
|
|
5
|
+
[fallback reply contracts](WO-fallback-reply-contracts-20261012.md).
|
|
6
|
+
The original preferred-first/provider-fairness ordering recorded below has been
|
|
7
|
+
superseded by [benchmark-informed priority](WO-fallback-quality-order-20261012.md)
|
|
8
|
+
at the user's subsequent request.
|
|
9
|
+
|
|
10
|
+
## Request
|
|
11
|
+
|
|
12
|
+
All free models offered by OpenCode must be lined up in Omnius's fallback chain,
|
|
13
|
+
including later catalog entries and models using the Responses API. This extends
|
|
14
|
+
the [keyless fallback repair](WO-keyless-fallback-coverage-20261012.md).
|
|
15
|
+
|
|
16
|
+
## Findings
|
|
17
|
+
|
|
18
|
+
The prior implementation loaded the free chat catalog dynamically, but limited
|
|
19
|
+
each provider to 16 compatible models. An installed-runtime regression with 512
|
|
20
|
+
eligible models reproduced exhaustion after only 16 OpenCode dispatches. The
|
|
21
|
+
global distinct-attempt bound also assumed 16 models per provider.
|
|
22
|
+
|
|
23
|
+
The [current primary-source audit](evidence/opencode-all-free-audit-20261012.json)
|
|
24
|
+
found eight active, live, explicitly zero-cost models:
|
|
25
|
+
|
|
26
|
+
| Model | API |
|
|
27
|
+
| --- | --- |
|
|
28
|
+
| `nemotron-3.5-lightning-free` | Chat completions |
|
|
29
|
+
| `big-pickle` | Chat completions |
|
|
30
|
+
| `ling-3.1-flash-free` | Chat completions |
|
|
31
|
+
| `longcat-2.5-preview-free` | Chat completions |
|
|
32
|
+
| `mimo-v2.6-flash-free` | Chat completions |
|
|
33
|
+
| `space-bunny-free` | Chat completions |
|
|
34
|
+
| `step-5-preview-free` | Chat completions |
|
|
35
|
+
| `muse-spark-1.3-contributor-free` | Responses |
|
|
36
|
+
|
|
37
|
+
The chat-only parser excluded Muse Spark 1.3 because its per-model SDK is
|
|
38
|
+
`@ai-sdk/openai`, whose upstream transport uses `/responses`. OpenCode's default
|
|
39
|
+
loader excludes deprecated models; the current live ID list also contains an
|
|
40
|
+
unknown free-suffix ID without corresponding cost/capability metadata. Neither
|
|
41
|
+
a deprecated entry nor an unknown suffix alone establishes an offered free
|
|
42
|
+
model for automatic routing.
|
|
43
|
+
|
|
44
|
+
## Work and acceptance
|
|
45
|
+
|
|
46
|
+
1. Enumerate every compatible OpenCode free model within the shared 512-row
|
|
47
|
+
catalog safety bound. Adjust total dispatch accounting accordingly. Keep
|
|
48
|
+
stable ordering, preferred Nemotron first, provider fairness and model-level
|
|
49
|
+
cooldowns. Newly published eligible catalog entries require no code update.
|
|
50
|
+
2. Add the source-derived, exact-origin Responses adapter for the model's
|
|
51
|
+
declared transport. Preserve full conversation, tool-result history, exact
|
|
52
|
+
original host tool schemas and choices, structured output, cancellation and
|
|
53
|
+
no replay after visible output. Protocol metadata never authorizes tools.
|
|
54
|
+
3. Share enumeration and Responses handling with the credentialless setup
|
|
55
|
+
pool. Model-specific failures must not disable all OpenCode alternatives.
|
|
56
|
+
Keep setup deadlines and count network requests against the full model bound.
|
|
57
|
+
4. Prove full 512-model traversal through the helper and packaged backend in
|
|
58
|
+
unary and streaming modes, including tool/schema requests, plus Responses
|
|
59
|
+
routing, capability exclusions, cooldowns, catalog refresh and host identity
|
|
60
|
+
isolation. Tests use synthetic HTTP; no local model requests or tools execute.
|
|
61
|
+
5. Rebuild and verify the package, record receipts, commit and push scoped work.
|
|
62
|
+
Preserve unrelated checkout changes and leave publication/runtime activation
|
|
63
|
+
to the user.
|
|
64
|
+
|
|
65
|
+
All models belong in the eligible cascade; a request still stops at its first
|
|
66
|
+
usable success, cancellation, or deadline. Capability and context checks must
|
|
67
|
+
not weaken the requested contract to force an incompatible model into use.
|
|
68
|
+
|
|
69
|
+
## Verification
|
|
70
|
+
|
|
71
|
+
The complete current metadata audit yields all eight active live free models,
|
|
72
|
+
including Muse's declared Responses transport. The regression suite reconstructs
|
|
73
|
+
the audited metadata to assert exactly that coverage. Both the production helper
|
|
74
|
+
and the packaged backend reach the 512th eligible model after 511 model-specific
|
|
75
|
+
failures, in text, forced native-tool and strict-schema requests, unary and
|
|
76
|
+
streaming. Other providers retain their first attempt before OpenCode alternates.
|
|
77
|
+
|
|
78
|
+
The source suites passed 399 orchestrator and 100 CLI tests, with one existing
|
|
79
|
+
skip. This includes 57 setup-pool tests, model-level cooldowns, catalog refresh,
|
|
80
|
+
transport isolation, complete context/tool/schema preservation and Responses
|
|
81
|
+
terminal/cancellation handling. The compatibility harness passed 30 tests.
|
|
82
|
+
|
|
83
|
+
Full clean recursive build, bundling, packing and compiler-free fresh npm
|
|
84
|
+
installation passed for the prepared 1.0.848 artifact. The required SQLite
|
|
85
|
+
prebuild loaded. The [installed backend receipt](evidence/opencode-all-free-installed-verification-20261012.json)
|
|
86
|
+
records all 48 mocked transport cases passing, including full 512-model traversal
|
|
87
|
+
and Muse's six unary/streaming text/tool/schema cases. These checks sent no real
|
|
88
|
+
inference requests or Telegram messages. No package was published by this work.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# OpenCode production request compatibility
|
|
2
|
+
|
|
3
|
+
Status: implemented and verified. Telegram presentation is also completed.
|
|
4
|
+
Publication and active-runtime restart remain with the operator. Step's native
|
|
5
|
+
attention-format compatibility remains unverified after a provider limit; the
|
|
6
|
+
working cascade can continue to other compatible models.
|
|
7
|
+
|
|
8
|
+
## Evidence and cause
|
|
9
|
+
|
|
10
|
+
The running 1.0.849 bundle matched the prepared artifact. The discrepancy was
|
|
11
|
+
request compatibility and routing, not an old installed bundle. Earlier live
|
|
12
|
+
Nemotron/Kilo probes did not establish compatibility of the newly prioritized
|
|
13
|
+
Muse/Step models with the full Telegram attention schema.
|
|
14
|
+
|
|
15
|
+
Real synthetic probes found:
|
|
16
|
+
|
|
17
|
+
- Muse Responses rejects `tool_choice: none`, `required` and named choices;
|
|
18
|
+
it accepts only `auto`. The compatibility core definitions made the original
|
|
19
|
+
tool-free request include tools on the wire. Host tool authority must remain
|
|
20
|
+
unchanged when adapting that wire choice.
|
|
21
|
+
- After the choice repair, Muse rejects `uniqueItems` with the diagnostic
|
|
22
|
+
“JSON schema keyword `uniqueItems` is not supported for structured outputs”.
|
|
23
|
+
The existing schema-recovery path did not recognize this HTTP 400 wording.
|
|
24
|
+
- Step returned `pong` for a plain conversation, but the original attention
|
|
25
|
+
schema returned an opaque upstream HTTP 400. Its cause is still under live
|
|
26
|
+
investigation; do not attribute it to a particular keyword without evidence.
|
|
27
|
+
- The public native fast path promoted a sealed `conversation` judgment into
|
|
28
|
+
an action runner. That produced the empty progress panel and false incomplete
|
|
29
|
+
suffix. Admission must require both action route and action execution class.
|
|
30
|
+
|
|
31
|
+
## Required work and acceptance
|
|
32
|
+
|
|
33
|
+
1. Condition the selected model's actual protocol and observed wire limitations.
|
|
34
|
+
Keep original tool choice, offered names, argument schemas and structured
|
|
35
|
+
response validation authoritative. Compatibility definitions grant no actions.
|
|
36
|
+
2. Recognize only evidenced HTTP 400 schema limitations and retain bounded
|
|
37
|
+
same-route recovery. Preserve auth, rate, context, cancellation and ownership
|
|
38
|
+
behavior; never treat arbitrary upstream messages as capability evidence.
|
|
39
|
+
3. Validate with real OpenCode generations through production builders, parsers,
|
|
40
|
+
fallback discovery, budgeting and original host-schema checks. No fabricated
|
|
41
|
+
model replies. The reusable `scripts/live-opencode-fallback-harness.mjs`
|
|
42
|
+
enters the exact production remote phase without inventing a local result or
|
|
43
|
+
local failure. This does not test local broker admission or Telegram transport.
|
|
44
|
+
4. Fix public conversation admission and complete the paragraph/Activity
|
|
45
|
+
presentation work under its separate work order. Preserve final ACK authority.
|
|
46
|
+
5. Rebuild all workspace packages, verify the packaged artifact, retain safe live
|
|
47
|
+
receipts and commit/push scoped changes.
|
|
48
|
+
|
|
49
|
+
## Verification
|
|
50
|
+
|
|
51
|
+
The real remote cascade returned original-schema-valid attention JSON from
|
|
52
|
+
Muse after HTTP 400 -> same-model adapted HTTP 200, then returned `pong` on
|
|
53
|
+
HTTP 200. The first selected-backend probes also returned `pong` from Step.
|
|
54
|
+
Synthetic input only; zero local inference requests, Telegram messages or tool
|
|
55
|
+
executions. Mocked regressions protect invariants and are not availability proof.
|
|
56
|
+
|
|
57
|
+
The clean rebuild, tarball audit and compiler-free fresh npm installation passed.
|
|
58
|
+
The [installed-bundle live receipt](evidence/opencode-installed-production-stream-live-20261012.json)
|
|
59
|
+
exercises the exact shipped fallback stream phase, actual free/available model
|
|
60
|
+
discovery, production request/parser paths and the original attention schema.
|
|
61
|
+
Both attention and conversation passed with 56,000 bytes of synthetic background:
|
|
62
|
+
Muse returned HTTP 400 -> adapted same-model HTTP 200 for attention, and HTTP 200
|
|
63
|
+
with exactly `pong` for conversation. No model/metadata replies were mocked.
|
|
64
|
+
The installed and prepared bundle SHA256 is
|
|
65
|
+
`d8636120a09b01e5510cb048c5cafcbb0598474653831174196e6e708de3c33e`.
|
|
66
|
+
The packed artifact SHA256 is
|
|
67
|
+
`88e078ab0bfd38895f8d1691060526f5c7bba8b894b874be7b1c0b361a72545b`.
|
|
68
|
+
The validation artifact retains version 1.0.849; the operator's publication
|
|
69
|
+
workflow must still select a new release version.
|
|
70
|
+
|
|
71
|
+
Step's [bounded diagnostic](evidence/opencode-step-rate-limited-diagnostic-20261012.json)
|
|
72
|
+
stopped after one HTTP 429 (“Endpoint is unavailable”). Its second diagnostic
|
|
73
|
+
was withheld. No evidence supports a static Step schema adaptation, so none was
|
|
74
|
+
invented. This is not a promise that all remote providers remain available.
|
|
75
|
+
|
|
76
|
+
404 focused inference regression tests and 237 Telegram regression tests passed.
|
|
77
|
+
The latter use explicit mocked transport acknowledgements, not real Telegram
|
|
78
|
+
sends. Inference acceptance uses real providers. Local admission and the active
|
|
79
|
+
bot's restart were deliberately outside this live remote harness.
|
|
80
|
+
|
|
81
|
+
Reproduce after building and installing the artifact:
|
|
82
|
+
|
|
83
|
+
```sh
|
|
84
|
+
node scripts/live-opencode-fallback-harness.mjs --run --cascade --stream \
|
|
85
|
+
--bundle /path/to/installed/omnius/dist/index.js --context-bytes 56000 \
|
|
86
|
+
--cases attention,conversation --output /tmp/omnius-opencode-live.json
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Delivered implementation commits: `7a48a712` (inference compatibility) and
|
|
90
|
+
`82fce9cf` (Telegram narration, activity controls and conversation admission).
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Telegram progress presentation
|
|
2
|
+
|
|
3
|
+
Status: implemented and verified, resumed by the user with instructions to
|
|
4
|
+
complete, commit and push. The evidenced OpenCode compatibility failure is handled in
|
|
5
|
+
[the current repair order](WO-opencode-production-compatibility-20261012.md).
|
|
6
|
+
|
|
7
|
+
## Requested behavior
|
|
8
|
+
|
|
9
|
+
- Show the agent's intermediate explanations in public group chat as a compact
|
|
10
|
+
sequence of short paragraphs describing what it is doing or has learned.
|
|
11
|
+
- Keep detailed activity behind a button that opens the activity view.
|
|
12
|
+
- Present tool calls and results in clean, separate wrapped code blocks using
|
|
13
|
+
supported Telegram message formatting and controls.
|
|
14
|
+
- Replace the public numbered started/succeeded activity dump and its generic
|
|
15
|
+
"Working"/"Work ended" panel with useful intermediate chat narration.
|
|
16
|
+
- Deliver the final answer separately, with completion wording derived from
|
|
17
|
+
actual delivery state rather than an internal handler's acceptance.
|
|
18
|
+
|
|
19
|
+
## Implementation and verification
|
|
20
|
+
|
|
21
|
+
The runner emits finalized main-agent prose as `assistant_text` with source
|
|
22
|
+
`model_visible_text`; the terminal chat/voice path renders that visible text.
|
|
23
|
+
Telegram action runs previously kept it only as a final reply candidate. The
|
|
24
|
+
bridge now publishes prose accompanying a same-response nonterminal work tool
|
|
25
|
+
through its existing bound progress writer. Standalone explicit
|
|
26
|
+
`telegram_progress` remains available. Hidden reasoning, final-only drafts,
|
|
27
|
+
transport contracts and internal guidance do not become progress.
|
|
28
|
+
|
|
29
|
+
Keep the four latest distinct paragraphs in collapsed public/private summaries.
|
|
30
|
+
Activity opens the chronological details; public Summary returns to prose.
|
|
31
|
+
Admin calls/results use separate escaped HTML code blocks; public detail shows
|
|
32
|
+
safe tool names and phases without leaking private arguments or outputs.
|
|
33
|
+
Keep telemetry and adversarial diagnostics in private archives while filtering
|
|
34
|
+
ordinary sub-agent display callbacks.
|
|
35
|
+
|
|
36
|
+
Verify private/public scope, edit and
|
|
37
|
+
send limits, interruption/Stop, callback ownership, long tool-output handling,
|
|
38
|
+
and that diagnostics/adversarial guidance remain out of ordinary public chat.
|
|
39
|
+
Progress never settles work or substitutes for final provider acknowledgement.
|
|
40
|
+
Verification: 126 focused presentation/routing tests passed; 51 public/native
|
|
41
|
+
fallback/diagnostic tests and 60 private-native tests also passed. These delivery
|
|
42
|
+
tests use explicit mocked Telegram acknowledgements and do not claim real bot
|
|
43
|
+
messages. The actual listener is exercised in `telegram-runner-commentary.test.ts`.
|
|
44
|
+
The full workspace rebuild and package audit passed. Real inference acceptance,
|
|
45
|
+
including production streaming, is recorded under the inference repair order.
|