brief: row 65 adds a Console routing table for harness, model, thinking and fallback (mos-0840), and refuses thinking a harness can't apply
This commit is contained in:
@@ -139,6 +139,15 @@ what is still missing: no execution fallback, a fallback route, thinking
|
||||
applied on both harnesses, and the harness plug-in kind. The first
|
||||
version of this section is blob 8872802c in git.
|
||||
|
||||
Mos's reading of Q83 option A (mos-0840, 2026-10-19) keeps this
|
||||
amendment on one condition, which keeps A apart from the rejected option
|
||||
C: the Console shows every instance's harness, model, thinking and
|
||||
fallback together in one table, and the human edits them there. No view
|
||||
does that at 54786df03. The Agent limits form edits only the model key,
|
||||
and the Role instances table shows vars as raw JSON. So this row adds
|
||||
that table. If Jason overrules Mos's reading, this section is redone
|
||||
before review.
|
||||
|
||||
### Problem
|
||||
|
||||
At 54786df03:
|
||||
@@ -196,6 +205,9 @@ At 54786df03:
|
||||
`packages/plugins/harness/pi/` and `packages/plugins/harness/claude-code/`,
|
||||
their tests, and the harness section of `packages/plugins/README.md`
|
||||
- test business fixtures that set `harness`, `model` or `thinking`
|
||||
- `packages/webui/src/public/bus.js` (the launch settings section only),
|
||||
`packages/webui/src/reads.mjs` and `serve.mjs` if the settings read or
|
||||
post needs a field, and the webui tests for them
|
||||
- `agents/sage/work/queue-65/`
|
||||
|
||||
A change outside this list is named in the packet with its reason.
|
||||
@@ -250,7 +262,24 @@ A change outside this list is named in the packet with its reason.
|
||||
Code gets its effort or thinking setting. Probe the exact flag or
|
||||
setting on the pinned versions first and record it in the packet and
|
||||
`adapters/README.md`. The README line saying thinking isn't applied
|
||||
goes.
|
||||
goes. Probed 2026-10-19: Pi 0.85.1 takes `--thinking` with off,
|
||||
minimal, low, medium, high, xhigh or max. Claude Code 2.1.302 takes
|
||||
`--effort` with low, medium, high, xhigh or max, and has no off or
|
||||
minimal. Each module exports the levels it applies. A launch or a
|
||||
write that gives a harness a level it can't apply refuses with
|
||||
`thinking-unsupported` and names the harness. Nothing is remapped.
|
||||
Every live instance uses high or medium on claude-code.
|
||||
- One table in the Console (mos-0840). The launch settings section gets a
|
||||
routing table with one row per instance and these columns: harness,
|
||||
model, thinking, and the fallback's harness, model and thinking. Each
|
||||
cell is a select drawn from the switched-on harnesses, the
|
||||
`launch.models` keys and the levels that harness applies. A fallback is
|
||||
set as a whole or cleared as a whole. Save goes through the existing
|
||||
settings post with its revision check, identity and receipt, and
|
||||
replaces the "Role models" fieldset, which edited only the model key.
|
||||
The server checks the same rules as the CLI: `harness-off`,
|
||||
`thinking-unsupported`, unknown model, partial fallback. The Role
|
||||
instances section stays as it is.
|
||||
- No new table. The live file already sets the three vars on every
|
||||
instance, and this row changes none of them. Every fallback starts
|
||||
unset. The first table in the old version of this section is void.
|
||||
@@ -261,7 +290,15 @@ A change outside this list is named in the packet with its reason.
|
||||
preflight fails, an unstated one never is, and a primary that passes
|
||||
never uses it; the manifest records the route and the reason; the
|
||||
limit check sees the fallback's provider and model; thinking reaches
|
||||
the Pi and Claude Code fake adapters as the recorded flag.
|
||||
the Pi and Claude Code fake adapters as the recorded flag; a level the
|
||||
harness can't apply refuses with `thinking-unsupported` at a write and
|
||||
at launch.
|
||||
- Console tests: the routing table lists every instance with its six
|
||||
values; a browser test edits a harness, a model, a thinking level and
|
||||
a fallback, saves, and reads each back from the file; a partial
|
||||
fallback, a switched-off harness and an unsupported level each refuse
|
||||
with the draft kept; a stale revision refuses as the other settings
|
||||
saves do.
|
||||
- Harness tests: a launch on a harness that isn't switched on refuses
|
||||
with `harness-off`, primary or fallback, and so does a write that
|
||||
sets one; a business file with harness vars and no `plugins.harness`
|
||||
@@ -272,7 +309,9 @@ A change outside this list is named in the packet with its reason.
|
||||
with the exceptions under Out of scope listed in the test. One mutant
|
||||
per refusal (`no-route`, `harness-off` at launch, `harness-off` at a
|
||||
write, a partial fallback, a fallback taken when the primary passes),
|
||||
and one that puts a harness name back in core.
|
||||
and one that puts a harness name back in core, plus one for
|
||||
`thinking-unsupported` and one that drops the fallback columns from the
|
||||
table.
|
||||
- Gate suites: `node --test 'packages/plugins/tests/*.test.mjs'`,
|
||||
`node --test 'packages/bus/tests/*.test.mjs'`,
|
||||
`node --test 'packages/business/tests/*.test.mjs'`,
|
||||
@@ -322,6 +361,10 @@ showing the module loaded, the route used, the provider and model
|
||||
counted, and the thinking flag passed. The modules go live only through
|
||||
a re-pin on Mos's go (decision 109).
|
||||
|
||||
The table changes `packages/webui/src/public/`, so its diff goes to Mos
|
||||
under decision 123 before the in-review move. The landing report names
|
||||
the view that meets mos-0840.
|
||||
|
||||
## Managed sessions run the unslop check on both harnesses
|
||||
|
||||
### Problem
|
||||
|
||||
Reference in New Issue
Block a user