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.
Files changed (27) hide show
  1. package/dist/index.js +2 -2
  2. package/dist/library.js +2089 -1164
  3. package/docs/DISCOVERY.json +782 -67
  4. package/docs/DISCOVERY.md +20 -0
  5. package/docs/inference-fallback-priority.md +91 -0
  6. package/docs/opencode-free-model-discovery.md +9 -1
  7. package/docs/work-orders/WO-fallback-quality-order-20261012.md +70 -0
  8. package/docs/work-orders/WO-fallback-reply-contracts-20261012.md +116 -0
  9. package/docs/work-orders/WO-opencode-all-free-models-20261012.md +88 -0
  10. package/docs/work-orders/WO-opencode-production-compatibility-20261012.md +90 -0
  11. package/docs/work-orders/WO-telegram-progress-presentation-20261012.md +45 -0
  12. package/docs/work-orders/evidence/fallback-model-benchmarks-20261012.json +1823 -0
  13. package/docs/work-orders/evidence/fallback-quality-installed-20261012.json +626 -0
  14. package/docs/work-orders/evidence/fallback-reply-contracts-installed-20261012.json +577 -0
  15. package/docs/work-orders/evidence/native-conversation-prompt-audit-20261012.json +226 -0
  16. package/docs/work-orders/evidence/native-goal-contract-probe-20261012.json +794 -0
  17. package/docs/work-orders/evidence/opencode-all-free-audit-20261012.json +1489 -0
  18. package/docs/work-orders/evidence/opencode-all-free-installed-verification-20261012.json +437 -0
  19. package/docs/work-orders/evidence/opencode-installed-production-stream-live-20261012.json +218 -0
  20. package/docs/work-orders/evidence/opencode-production-cascade-live-20261012.json +214 -0
  21. package/docs/work-orders/evidence/opencode-production-pre-recovery-live-20261012.json +167 -0
  22. package/docs/work-orders/evidence/opencode-step-rate-limited-diagnostic-20261012.json +88 -0
  23. package/docs/work-orders/evidence/terminal-review-contract-probe-20261012.json +335 -0
  24. package/docs/work-orders/evidence/terminal-review-error-probe-20261012.json +149 -0
  25. package/docs/work-orders/evidence/terminal-review-schema-repair-probe-20261012.json +920 -0
  26. package/npm-shrinkwrap.json +2 -2
  27. 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 &amp; 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 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,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.