omnius 1.0.848 → 1.0.849

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.
@@ -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 only the OpenAI-compatible chat transport, excludes protocol/endpoint overrides, 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. Per-model Responses/Anthropic overrides require their own adapters.
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,28 @@
1
+ # Telegram progress presentation
2
+
3
+ Status: queued, explicitly deferred by the user until the inference endpoint
4
+ patch is completed and verified. Do not implement this presentation work as part
5
+ of the current inference repair.
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
+ ## Future verification
20
+
21
+ Trace the existing TUI/chat-mode intermediate narration emitter and Telegram
22
+ progress delivery path. Check Telegram's current official API limits, formatting
23
+ and callback behavior when implementing. Verify private/public scope, edit and
24
+ send limits, interruption/Stop, callback ownership, long tool-output handling,
25
+ and that diagnostics/adversarial guidance remain out of ordinary public chat.
26
+
27
+ This work order records the request only; the current source changes target
28
+ inference compatibility, safe diagnostics and tool guidance.