omnius 1.0.850 → 1.0.852

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,137 @@
1
+ # Built-in free inference and clean Telegram settlement
2
+
3
+ Status: implemented, tested and committed. Live service limits are recorded
4
+ below rather than claimed as model availability. Publication and bot restart
5
+ remain operator-owned.
6
+
7
+ ## Ordered work
8
+
9
+ 1. Repair the public independent-review request. Real installed-bundle probes
10
+ reproduced sequential HTTP 400 rejections for `uniqueItems`, then top-level
11
+ `anyOf`. Keep the full host schema and public semantic-review gate. Permit a
12
+ bounded repair for each newly observed supported limitation on the same route.
13
+ 2. Exercise other eligible free models with real synthetic generations through
14
+ the actual production request builders/parsers. Cover public review as well
15
+ as simple replies. Record actual failures/quotas; never claim availability
16
+ from mocked inference or promise that external services never fail.
17
+ 3. Include the free models in the default model-selection list without requiring
18
+ credentials or endpoint configuration. Use model names and neutral free-model
19
+ presentation in the picker. Retain truthful transport identity in internal
20
+ diagnostics/provenance. Preserve existing configured model choices.
21
+ 4. Update first startup and lightweight setup to offer a working built-in free
22
+ route before asking for credentials or downloading/loading local models.
23
+ Account-based providers and local inference remain selectable options.
24
+ 5. Repair the live TUI's premature/duplicate completed states and later failed
25
+ state shown after a healthy `pong`; inspect the separate public conversation
26
+ failure and stalled continuation path. Separate inference-phase completion
27
+ from task settlement and preserve actual Telegram acknowledgement authority.
28
+ 6. Rebuild, run meaningful regression tests and live remote acceptance, verify
29
+ the packaged artifact, then make scoped commits and push the tracked branch.
30
+ Publication/restart remains operator-owned.
31
+
32
+ ## Current live anchors
33
+
34
+ The running bot uses 1.0.850, bundle SHA256
35
+ `d8636120a09b01e5510cb048c5cafcbb0598474653831174196e6e708de3c33e`.
36
+ Read-only Telegram history confirms private `pong` (message 3368) and public
37
+ `pong` (message 5805). Public generation succeeded; the independent
38
+ `chat-fast-path-review` request then exercised an additional schema shape that
39
+ the earlier attention/simple-reply live harness did not cover.
40
+
41
+ Private admin input can use its explicitly admitted single-pass path and avoid
42
+ that independent public review. Do not remove the public review to copy the
43
+ private behavior. The earlier schema-only `review` probe used the producer’s nominal 1,300-token
44
+ limit. The complete Telegram method applies its observable-request budget
45
+ (16,384 tokens in these remote probes), so the new all-model harness invokes
46
+ the actual attention, generation, independent-review methods and parsers.
47
+
48
+
49
+ ## Implementation and regression verification, 2026-10-13
50
+
51
+ - Public and private generation share the same provider adapters. Public review
52
+ retains its independent original host schema and semantic acceptance gate.
53
+ - Every remote JSON phase receives its full producer contract in the prompt,
54
+ including on models with unknown or supported native structured output.
55
+ Explicitly unsupported native formats use prompt-only generation with original
56
+ host validation, complete-response buffering and unchanged tool authority.
57
+ - Big Pickle’s exact Chat identity has an observed native-format override:
58
+ native requests returned HTTP 400 `{"model":"big-pickle"}`; omitting only that
59
+ format gave HTTP 200 generation and review with host acceptance. Production
60
+ revalidation then passed attention, generation and review without the probe flag.
61
+ - Cat Jam’s bounded diagnostics learn `uniqueItems` and a root conditional-union
62
+ restriction. Only the native grammar is lowered. Nested closed objects, identity,
63
+ authorized tools and coupled fulfillment/continuation checks remain unchanged.
64
+ - Exact pinned-gateway HTTP 429 `Endpoint is unavailable` errors retain their
65
+ HTTP status but are classified as upstream outages, not quota exhaustion.
66
+ They cool that model without scheduling a quota retry. Genuine rate limits keep
67
+ their existing cooldown and retry policy.
68
+ - Remote streaming keeps the backend’s 45-second raw-byte idle watchdog and
69
+ the 120-second aggregate absolute ceiling. Hidden reasoning and buffered JSON
70
+ no longer hit a second 45-second absolute timer. Shorter caller limits and Stop
71
+ still apply; unary requests retain their original absolute attempt bound.
72
+ - Built-in selected models enter the same catalog, transport, schema adapters,
73
+ validation and lifecycle reporting used by fallback. Explicit selection is first;
74
+ automatic alternatives use the capability ordering. Manual mode asks before
75
+ alternatives; disabled fallback still permits the selected built-in model.
76
+ - New installations use built-in free inference with no key or local download.
77
+ `/model`, Telegram’s isolated model picker and completion include the neutral
78
+ `Built-in free` category. Bundled choices remain visible offline with truthful
79
+ availability labels; live pricing/retirement still control admission.
80
+ Existing local/keyed profiles and explicit transport overrides remain intact.
81
+ - Independent regression checks: 504 orchestrator, 254 CLI and 15 provider registry
82
+ tests passed. These use controlled network fixtures for invariants and are
83
+ separate from the live model evidence. Full workspace rebuild passed.
84
+ - The compiler-free fresh npm install passed for the packaged candidate, including
85
+ SQLite and AIWG checks; artifact audit passed and the 566-entry tarball has no
86
+ sourcemaps. No version was published and the running bot was not restarted.
87
+
88
+ The existing README generated REST inventory check fails at the unchanged REST
89
+ block (the task’s README diff only updates setup/prerequisites). The independent
90
+ REST source check passes; this pre-existing inventory drift is not included in
91
+ this repair.
92
+
93
+ Live coverage deliberately sends only invented messages through real Telegram
94
+ methods and providers. It never calls the Telegram Bot API, dispatches a native
95
+ host tool, reads private conversation history, or invokes local inference. Thus
96
+ these receipts establish inference-path behavior, not a new delivery ACK or
97
+ native cross-application action test. Delivery/settlement regressions are in
98
+ `87cecd19`; the installed 1.0.850 bot remains the operator’s running version.
99
+
100
+
101
+ ## Live packaged results and delivery
102
+
103
+ Implementation: `b94a6179` public review, `87cecd19` Telegram settlement,
104
+ `273a7bdb` built-in free integration and common adapters, `65a15404` Step’s
105
+ opaque complex-schema compatibility. Commits are delivered to `origin/main`.
106
+
107
+ The [durable live receipt](evidence/telegram-all-free-live-20261013.json) records
108
+ all nine eligible models, exact bundle/catalog hashes, phase outcomes, safe
109
+ provider diagnostics, original host acceptance, and physical request counts.
110
+ No inference reply or catalog response in these live runs was mocked.
111
+
112
+ | Model | Live result through Telegram methods | Adapter or remaining limit |
113
+ | --- | --- | --- |
114
+ | Big Pickle | Attention, generation and independent review passed in installed sweep | Exact Chat native-format opt-out; original host contract retained |
115
+ | Cat Jam | All three phases passed in installed sweep | Learned `uniqueItems` and root conditional-union restrictions |
116
+ | Ling 3.1 Flash | Earlier attention/generation passed; final isolated probes returned endpoint-unavailable HTTP 429 | Declared native-format opt-out; complete installed Ling→Muse cascade passed |
117
+ | LongCat 2.5 Preview | All three phases passed in installed sweep | Full original JSON guidance, native Chat transport |
118
+ | MiMo V2.6 Flash | All three phases passed in installed sweep | Full original JSON guidance, native Chat transport |
119
+ | Muse Spark 1.3 | All three phases passed in installed sweep | Responses auto-only tool choice and learned native schema restrictions |
120
+ | Nemotron 3.5 Lightning | All three phases passed in installed sweep; attention took 61.9 seconds under default deadlines | Raw-byte idle watchdog plus aggregate absolute bound; no invented thinking flag |
121
+ | Space Bunny | All three phases passed in installed sweep | Full original JSON guidance fixed the prior JSON-syntax failure |
122
+ | Step 5 Preview | Initial attention passed; patched final installed generation and independent review both passed (HTTP 200/200) | Simple native schema works, complex schema returned opaque HTTP 400; exact Chat prompt-only policy preserves full host validation |
123
+
124
+ Step’s final attention probe and Ling’s final probes also recorded intermittent
125
+ endpoint-unavailable HTTP 429s. These are external availability limits. The final
126
+ installed Step→Muse public cascade completed with HTTP 429→200→400→400→200:
127
+ Step’s outage, Muse generation, then two bounded review-schema repairs and an
128
+ accepted independent review. No unavailable-model quota retry or fabricated
129
+ answer was used. Both selected-model isolation and real automatic cascade modes
130
+ are available in `scripts/live-telegram-free-models-harness.mjs`.
131
+
132
+ The final unpublished candidate bundle SHA256 is
133
+ `93c9f8bae03b447f603c3245a796b32b7ee51da12389a99929489dcb2335ca27`.
134
+ Its compiler-free fresh install, SQLite/AIWG checks, 566-entry tarball audit,
135
+ README wiring and sourcemap exclusion passed. The staging version remains
136
+ 1.0.850; the operator’s publish workflow must choose the next release version.
137
+ The running production bot was not replaced by these harness installs.
@@ -0,0 +1,146 @@
1
+ # Live native-planning cascade and TUI responsiveness
2
+
3
+ Status: implementation and live packaged acceptance complete; operator publication/restart pending. Follow-up to the operator’s live 1.0.851 report after the
4
+ built-in free-model integration; do not substitute another ping-only check.
5
+
6
+ ## Actual live anchors
7
+
8
+ - PID 338848, working directory `telegram_test`, version 1.0.851, bundle SHA256
9
+ `93c9f8bae03b447f603c3245a796b32b7ee51da12389a99929489dcb2335ca27`.
10
+ This matches the previously validated installed candidate: stale deployment
11
+ does not explain the discrepancy.
12
+ - Public input 1002 in the operator’s Case Theory chat entered processing at
13
+ 2026-10-13T08:38:34.455Z. The next input 1003 entered processing at
14
+ 08:44:23.071Z and produced a valid observer/no-reply decision at 08:44:39.619Z.
15
+ - Read-only inspection of the live terminal’s expanded inference block found
16
+ `router-native-requirements`, 272 retained control rows, 4m37s duration:
17
+ local HTTP503 → Muse HTTP400 twice → Step upstream-unavailable HTTP429 →
18
+ Ling upstream-unavailable HTTP429 → MiMo, with first output reported at 277.2s.
19
+ The display reported successful completion with 1207 tokens. Provider400 bodies
20
+ were not retained in the existing durable logs.
21
+ - The separate 16s router block supplied by the operator is a successful
22
+ Muse schema repair, followed by a valid no-reply decision. It is not the
23
+ failing native cascade.
24
+ - Current TUI stdout/stderr are only `/dev/pts/6`; current provider-phase
25
+ diagnostics are not persisted. Existing root crash/session logs predate
26
+ this restart. Broker access logs show422/503 local chat failures without
27
+ model/request correlation, insufficient to classify those refusals.
28
+ - Process sampled at ~1GB RSS and ~12 minutes CPU in 20 minutes of uptime; current
29
+ updates and accepted replies show it is not permanently deadlocked.
30
+ A 3.3GB deferred-memory spool exists, but inspected append/maintenance paths
31
+ do not read it wholesale; do not attribute the freeze to it without proof.
32
+
33
+ ## Ordered repairs and acceptance
34
+
35
+ 1. Reproduce the actual native-requirement producer and independent critic
36
+ through the installed bundle using invented source text and active tasks.
37
+ Keep the full original host schema/owner/scope validator and prohibit
38
+ local inference, native action dispatch and Telegram API sends. Capture
39
+ bounded safe upstream failure diagnostics for these synthetic requests.
40
+ 2. Repair evidenced native grammar/request incompatibilities at the shared
41
+ phase boundary. Preserve host semantic validation, capability/authority,
42
+ provenance and original contract coupling. Validate real responses; no
43
+ mocked availability claim and no unconditional HTTP400/422 bypass.
44
+ 3. Remove repeated formatting of unchanged retained inference transcripts
45
+ during TUI repaint. Preserve full read mode, resize, thinking visibility,
46
+ title time/blink, retention bounds, phase reuse and input handling. Test
47
+ repeated repaint work with large completed native transcripts.
48
+ 4. Add safe durable phase/route diagnostics so future live failures can be
49
+ traced without extracting terminal rows. Do not persist credentials,
50
+ endpoint keys, raw user prompts or private generated transcripts. Optional
51
+ display observers must not fail/replay an inference request.
52
+ 5. Run relevant regressions, real native proposal/critic acceptance, rebuild
53
+ and make scoped verified commits to the tracked branch. Preserve all
54
+ unrelated dirty changes. Publication/restart remains operator-owned.
55
+
56
+ The previous all-model ping harness established attention/reply/review behavior
57
+ at healthy moments; it did not cover native task projection/planning. This
58
+ follow-up closes that coverage gap rather than reasserting the ping results.
59
+
60
+ ## Reproduced causes and repairs
61
+
62
+ The installed native producer reproduced `uniqueItems` rejection, then root
63
+ `anyOf` rejection twice. The optional-field repair exposed the next exact
64
+ upstream error: every property must be required (`activeScopeId` was named).
65
+ The host contract deliberately permits omitted fields; making them required
66
+ would alter its semantics. Recovery now learns that precise incompatibility
67
+ per model/endpoint/API, omits only native schema framing, and preserves the
68
+ original full host schema, parser, tool arguments and independent critic.
69
+ An adaptation must change the previous wire schema before it can justify
70
+ another retry. Recovery remains bounded by three distinct restrictions.
71
+
72
+ A controlled prompt-only request also exposed true raw-stream inactivity:
73
+ HTTP200 followed by the backend's 45-second idle watchdog. It was incorrectly
74
+ reported as generic transport failure. Native planning/review streams now
75
+ allow 90 seconds under the default policy, capped by caller/aggregate deadlines;
76
+ explicit timeout settings and ordinary chat/unary/local paths retain their
77
+ limits. Exact watchdog failures report `timeout`. No undocumented reasoning
78
+ flags were added.
79
+
80
+ The controlled 90-second diagnostic accepted a real 7-obligation/two-method
81
+ proposal through the original parser and admitted an independent critic.
82
+ This diagnostic intentionally omitted native framing at the wire; it is
83
+ recorded separately from automatic production-adapter acceptance.
84
+
85
+ [Safe live receipts](evidence/telegram-native-planning-live-20261013.json)
86
+ contain hashes/metadata for invented fixtures, not private chat transcripts.
87
+
88
+ ## Delivered coherent repairs
89
+
90
+ - `e65ed677`: cache unchanged TUI inference transcript rows; 61 focused checks
91
+ and CLI build passed. This removes repeated formatting work; it does not
92
+ establish that repaint was the sole cause of the reported freeze.
93
+ - `04b4c5e7`: private bounded route traces at
94
+ `.omnius/telegram-inference/routes.jsonl` and isolated optional observers.
95
+ Files use 0600, the directory 0700, pending observations 128 and files 5 MiB
96
+ with one rotated archive. Trace failure cannot fail/replay the request.
97
+ Backend observer 14, trace 20, Bridge integration 22 checks passed; the
98
+ combined focused CLI run passed 105 checks. Stop/custody fences remain.
99
+
100
+ - `42419cd2`: precise optional-schema recovery, ineffective-retry prevention,
101
+ scoped default native stream allowance and correct timeout classification.
102
+ Automatic compiled-workspace live acceptance passed both native phases:
103
+ three distinct HTTP400 capability errors repaired on Muse, then original
104
+ proposal validation and independent critic acceptance, without model failover.
105
+ Final focused verification passed 531 orchestrator + 112 CLI = 643 checks.
106
+ Full workspace rebuild, artifact audit and compiler-free fresh npm install
107
+ passed. The currently running PID 338848 still uses the old `93c9f8...`
108
+ bundle; this pass has neither published nor restarted it.
109
+
110
+ ## Broader regression limits
111
+
112
+ The expanded run found four transport-fixture and two native-intake guard
113
+ failures. An isolated source archive of `e65ed677`, with the original Runner
114
+ rather than dirty/compiled workspace output, reproduced all six failures.
115
+ Three transport fixtures omit the previously required
116
+ `observationSourceMessageIds`; one ambiguity expectation predates the
117
+ advisory-policy change. The two intake guard cases have an existing objective
118
+ contract retention discrepancy. They are recorded as baseline failures and
119
+ were not silently changed to claim a green full suite.
120
+
121
+ ## Final installed-package acceptance
122
+
123
+ The freshly installed tarball used bundle SHA256
124
+ `36c6a7172915a3edc9dc2a355ee9628f64a2d865e8e0cc3547b10e88d37a45e2`.
125
+ A fresh process automatically recovered three distinct schema HTTP400s on Muse
126
+ and retained the selected model throughout. The native proposal took 69.1 seconds,
127
+ parsed five obligations/two methods with new-task continuity; the independent
128
+ critic took 103.9 seconds overall, including 64.6 seconds before HTTP headers,
129
+ and was admitted with method verdict `accept`. Both phases retained the
130
+ original host schemas. Five actual generation POSTs were made; no model or
131
+ metadata reply was mocked, and no local inference, native tools or Telegram
132
+ API sends were performed. This validates production inference/validation
133
+ boundaries, not a fresh Telegram delivery ACK or cross-application task.
134
+
135
+ Reproduce against a fresh isolated installation:
136
+
137
+ ```sh
138
+ node scripts/live-telegram-native-requirements-harness.mjs --run \
139
+ --bundle /path/to/isolated/install/lib/node_modules/omnius/dist/index.js \
140
+ --output /tmp/omnius-native-planning-live.json
141
+ ```
142
+
143
+ The default harness pins Muse and denies alternative models, local inference,
144
+ Telegram API calls and native action dispatch. `--inspect-only` makes no
145
+ network requests. Optional diagnostic flags are recorded separately and are
146
+ not substituted for the automatic installed-package acceptance above.
@@ -0,0 +1,31 @@
1
+ # Public reply-review schema compatibility
2
+
3
+ Status: repaired and verified; broader built-in-model/startup/lifecycle work is
4
+ tracked in `WO-built-in-free-model-startup-20261012.md`.
5
+
6
+ The live 1.0.850 bot delivered both private and public `pong`. Public generation
7
+ succeeded on Muse, but its separate independent review used a larger schema
8
+ that the private single-pass path did not require. The previous live acceptance
9
+ covered attention and simple replies, leaving this phase untested.
10
+
11
+ Real probes against the active installed bundle reproduced two sequential
12
+ HTTP 400 errors: unsupported `uniqueItems`, then a forbidden top-level `anyOf`.
13
+ The fallback allowed only one schema-repair retry and therefore moved to Step
14
+ and Mimo. See the safe [before receipt](evidence/public-review-before-20261012.json).
15
+
16
+ The repair recognizes the exact observed second diagnostic, lowers only the
17
+ root `anyOf` of a complete closed response object, preserves nested alternatives
18
+ and tool schemas, and permits one bounded retry per newly learned supported
19
+ limitation. The original full host schema, identity/evidence checks and semantic
20
+ review remain authoritative; structured output stays buffered until valid.
21
+
22
+ The [live after receipt](evidence/public-review-after-20261012.json) records
23
+ Muse HTTP 400 -> 400 -> 200 on the same model, with valid public-review output at
24
+ the production 1,300-token limit. No inference or metadata response was mocked;
25
+ synthetic context only, no Telegram sends or tools. The harness now includes
26
+ the production review schema, policy and parser; the full Telegram-method
27
+ multi-model harness is tracked under the broader work order.
28
+
29
+ 187 focused orchestrator regressions and 21 new public-review boundary tests
30
+ passed. Those invariant tests use explicit fixture networking and are separate
31
+ from the live acceptance above. The workspace build passed.
@@ -0,0 +1,28 @@
1
+ # Telegram reply lifecycle
2
+
3
+ Status: implemented and verified. The built-in-model/startup and multi-model
4
+ live acceptance work continues under `WO-built-in-free-model-startup-20261012.md`.
5
+
6
+ Read-only live history and delivery receipts confirm that public ping 5804
7
+ received acknowledged reply 5805. ESP32 input 5806 failed later and has no
8
+ delivery receipt. The display reused one chat view across inputs and reported
9
+ later chat failures through an already-completed attention view, mixing these
10
+ separate outcomes. Generic exhausted-fallback errors also became unclassified
11
+ quick-chat failures.
12
+
13
+ Reply views are now bound to their exact input. Attention/reply labels identify
14
+ the phase; later errors preserve earlier successful replies and do not overwrite
15
+ completed attention. Terminal callbacks are idempotent. Exhausted remote fallback
16
+ has a typed diagnosis, preserving its nonretryable policy.
17
+
18
+ Provider acknowledgement is retained immediately. Optional memory/display/notes
19
+ or latency observers cannot turn an acknowledged delivery into failure or cause
20
+ regeneration. Observation failures are recorded as hashes in a local diagnostic
21
+ archive. Durable intake writes and ambiguous send handling retain their existing
22
+ authority and no-replay behavior. Manual fallback wording now distinguishes an
23
+ unavailable local endpoint from a selected remote provider.
24
+
25
+ 53 lifecycle, recovery, telemetry and public routing regression tests passed;
26
+ CLI TypeScript and whitespace checks passed. Transport acknowledgements in these
27
+ tests are fixtures, not real Telegram sends. Live inference coverage is recorded
28
+ separately in the multi-model work order.
@@ -0,0 +1,211 @@
1
+ {
2
+ "schema": "omnius.live-opencode-acceptance.v1",
3
+ "startedAt": "2026-10-13T06:45:58.488Z",
4
+ "syntheticOnly": true,
5
+ "mockedReplies": 0,
6
+ "localRequests": 0,
7
+ "telegramMessages": 0,
8
+ "toolsExecuted": 0,
9
+ "contextBytes": 0,
10
+ "stream": true,
11
+ "mode": "production_remote_cascade",
12
+ "receipts": [
13
+ {
14
+ "model": "cascade",
15
+ "case": "review",
16
+ "apiShape": "chat",
17
+ "physicalCalls": 3,
18
+ "wires": [
19
+ {
20
+ "model": "muse-spark-1.3-contributor-free",
21
+ "apiShape": "responses",
22
+ "stream": true,
23
+ "toolChoice": "auto",
24
+ "toolNames": [
25
+ "read",
26
+ "shell"
27
+ ],
28
+ "schemaSha256": "a9ac7ee9ce3436361dee69396f9ee208745e1ab80c6d50eb5913f7dc8dced13d",
29
+ "bodySha256": "c0220b976bd7d4976faf5c9cd9a36e42a23099ae137980619c1f4cea2b4c169c",
30
+ "maxOutputTokens": 1300
31
+ },
32
+ {
33
+ "model": "muse-spark-1.3-contributor-free",
34
+ "apiShape": "responses",
35
+ "stream": true,
36
+ "toolChoice": "auto",
37
+ "toolNames": [
38
+ "read",
39
+ "shell"
40
+ ],
41
+ "schemaSha256": "c148de498ab3e3da5b05b8c55cdada00fb057ee5679024012cf9f1910d183f49",
42
+ "bodySha256": "0fb7f740aaf36c2716bb52e65822c1984f8a00b266faea04ec3b71a359407577",
43
+ "maxOutputTokens": 1300
44
+ },
45
+ {
46
+ "model": "muse-spark-1.3-contributor-free",
47
+ "apiShape": "responses",
48
+ "stream": true,
49
+ "toolChoice": "auto",
50
+ "toolNames": [
51
+ "read",
52
+ "shell"
53
+ ],
54
+ "schemaSha256": "6b25faf4155e56d73fae9a522f3a35d2e40bd734e879f5987f62a183692e6cb0",
55
+ "bodySha256": "0811cc2fbc57eb898bdadca7b386a739a73e2a2db6c61876373235f2bb13f0e5",
56
+ "maxOutputTokens": 1300
57
+ }
58
+ ],
59
+ "http": [
60
+ {
61
+ "status": 400,
62
+ "error": {
63
+ "bodySha256": "ff87146d8064d14b2548e804bb5560f63857ef4d36cf1da734369825bab20656",
64
+ "type": "invalid_request_error",
65
+ "code": null,
66
+ "param": "schema",
67
+ "message": "JSON schema keyword `uniqueItems` is not supported for structured outputs"
68
+ }
69
+ },
70
+ {
71
+ "status": 400,
72
+ "error": {
73
+ "bodySha256": "f962557c7c9e2f9a179a02637853d17348d5afb970d9a453433f21800bb5f53a",
74
+ "type": "invalid_request_error",
75
+ "code": null,
76
+ "param": "schema",
77
+ "message": "schema must have type 'object' and not have 'oneOf'/'anyOf'/'allOf'/'enum'/'not' at the top level."
78
+ }
79
+ },
80
+ {
81
+ "status": 200
82
+ }
83
+ ],
84
+ "routes": [
85
+ {
86
+ "location": "remote",
87
+ "phase": "selected",
88
+ "model": "muse-spark-1.3-contributor-free",
89
+ "providerId": "opencode",
90
+ "backendType": "vllm"
91
+ },
92
+ {
93
+ "location": "remote",
94
+ "phase": "failed",
95
+ "model": "muse-spark-1.3-contributor-free",
96
+ "providerId": "opencode",
97
+ "backendType": "vllm",
98
+ "failure": {
99
+ "category": "request_rejected",
100
+ "status": 400,
101
+ "validationReason": "unsupported_schema",
102
+ "expectedKind": "json_schema",
103
+ "schemaDigest": "501572b1beb85034999a0fbc264df0641583878832c24cca100516eba3851c12",
104
+ "apiShape": "responses"
105
+ }
106
+ },
107
+ {
108
+ "location": "remote",
109
+ "phase": "selected",
110
+ "model": "muse-spark-1.3-contributor-free",
111
+ "providerId": "opencode",
112
+ "backendType": "vllm",
113
+ "schemaAdapter": {
114
+ "omittedNativeKeywords": [
115
+ "uniqueItems"
116
+ ],
117
+ "hostValidation": "unchanged"
118
+ }
119
+ },
120
+ {
121
+ "location": "remote",
122
+ "phase": "failed",
123
+ "model": "muse-spark-1.3-contributor-free",
124
+ "providerId": "opencode",
125
+ "backendType": "vllm",
126
+ "schemaAdapter": {
127
+ "omittedNativeKeywords": [
128
+ "uniqueItems"
129
+ ],
130
+ "hostValidation": "unchanged"
131
+ },
132
+ "failure": {
133
+ "category": "request_rejected",
134
+ "status": 400,
135
+ "validationReason": "unsupported_schema",
136
+ "expectedKind": "json_schema",
137
+ "schemaDigest": "501572b1beb85034999a0fbc264df0641583878832c24cca100516eba3851c12",
138
+ "apiShape": "responses"
139
+ }
140
+ },
141
+ {
142
+ "location": "remote",
143
+ "phase": "selected",
144
+ "model": "muse-spark-1.3-contributor-free",
145
+ "providerId": "opencode",
146
+ "backendType": "vllm",
147
+ "schemaAdapter": {
148
+ "omittedNativeKeywords": [
149
+ "uniqueItems",
150
+ "rootAnyOf"
151
+ ],
152
+ "hostValidation": "unchanged"
153
+ }
154
+ },
155
+ {
156
+ "location": "remote",
157
+ "phase": "succeeded",
158
+ "model": "muse-spark-1.3-contributor-free",
159
+ "providerId": "opencode",
160
+ "backendType": "vllm",
161
+ "schemaAdapter": {
162
+ "omittedNativeKeywords": [
163
+ "uniqueItems",
164
+ "rootAnyOf"
165
+ ],
166
+ "hostValidation": "unchanged"
167
+ }
168
+ }
169
+ ],
170
+ "finished": true,
171
+ "selectedRoute": {
172
+ "providerId": "opencode",
173
+ "model": "muse-spark-1.3-contributor-free",
174
+ "kind": "keyless"
175
+ },
176
+ "outcome": {
177
+ "state": "passed",
178
+ "schemaValid": true,
179
+ "visibleChars": 186,
180
+ "toolCalls": 0,
181
+ "outputSha256": "9c1b1bf16b0e1f7d152009dbad5698176de2e06ca39c697b0bbec805e1758ddf"
182
+ },
183
+ "elapsedMs": 9949
184
+ }
185
+ ],
186
+ "catalogSha256": "24be782386c5cb701cfc0f074ff314f7f50d08fa9b05dc7cafba745772099f3e",
187
+ "availableSha256": "4821bf18034717dd138fc9ad8e8b2ad1db51e37419fb1f0b2292b9e0ec5ebd23",
188
+ "selectedModels": [
189
+ "big-pickle",
190
+ "cat-jam-free",
191
+ "ling-3.1-flash-free",
192
+ "longcat-2.5-preview-free",
193
+ "mimo-v2.6-flash-free",
194
+ "muse-spark-1.3-contributor-free",
195
+ "nemotron-3.5-lightning-free",
196
+ "space-bunny-free",
197
+ "step-5-preview-free"
198
+ ],
199
+ "bundleVersion": "1.0.850",
200
+ "sourceModules": {
201
+ "agenticRunner": "b4a0291effd917bae0fb710b3d0369f3ef0213f678de5b0c3293c4ffc1f10629",
202
+ "opencode-responses-compatibility": "c99cb4c324a966936050266f205427da3a64b6e7665a2190e166e64906c15afa",
203
+ "opencode-chat-compatibility": "aeed3f7bc98dc2fa817b3364ef874b95684ddcd21db38b102e9d3e5e491bac94",
204
+ "opencode-free-models": "d8fbc9a3d30c0ee298647be7f8a3b55402d08e821c3d35a937b1f0ad793eb3c1"
205
+ },
206
+ "attentionSchemaSha256": "15d827c6ec46a34d5edfe219dda0c382b8d7a28480d4952b3e0df14c7d48507a",
207
+ "reviewSchemaSha256": "a9ac7ee9ce3436361dee69396f9ee208745e1ab80c6d50eb5913f7dc8dced13d",
208
+ "finishedAt": "2026-10-13T06:46:09.629Z",
209
+ "physicalCalls": 3,
210
+ "passed": true
211
+ }