Closed
Description
Tracking issue for work stranded on rchari/solver-wire (PR #14, opened 2026-07-09, ~278 commits behind).
Only the UI half is on the default branch. Verified:
$ git ls-tree -r --name-only origin/local/amicode | grep -i solver
packages/ui/src/amicode/solver-toggle.test.ts
packages/ui/src/amicode/solver-toggle.tsx
packages/ui/src/components/amicode-solver-toggle.tsx
solver-mode.ts and the switch wizard are absent. So the toggle renders but there is no server-side solver-mode contract behind it — PR #14 was the half that makes it do the real switch.
What PR #14 carried that is still missing (+286/-6):
packages/opencode/src/server/amicode/solver-mode.ts— the contract- route registration in
httpapi/server.ts packages/ui/src/amicode/solver-switch-wizard.tsx— the wizardpackages/opencode/test/server/amicode-solver-mode.test.ts- wiring in
packages/app/src/pages/home.tsxandsolver-toggle.tsx
Note home.tsx has changed substantially under the branch, so expect conflicts on any rebase — a fresh implementation against current local/amicode is likely cheaper.
Closing PR #14 as stale. Needs an owner.
Metadata
Metadata
Assignees
Labels
No labels
Activity
feat(solver): release the HP tier — the piccolo half of the mode cont…
Merge pull request #221 from harmoniqs/kate/solver-mode-piccolo-flip
kateebonner commentedon Aug 21, 2026
Resolved by #221 (
d0b2a1conlocal/amicode).The toggle now does a real switch in both directions:
requestHpFlip, Provider permissions: enforcement hook in permission system #167).POST /amicode/solver-mode(piccolo-only) →requestPiccoloFlip(), which revokes theissimoentitlement and writes the mode file in one operation. The extension watcher re-preps the session config and restarts the server.That also closes the split-brain this issue implied but didn't name: a
piccolomode file sitting beside a grantedissimoentitlement, whichreconcileSolverMode(amicode#259) heals straight back to hp.Two deliberate deltas from the checklist above:
server/amicode/solver-mode.ts. The contract landed inconnections.tsinstead, so theswitchingwriters stay in one file — the single-writer rule ADR 0001 asks for.solver-switch-wizard.tsx. Not deferred so much as superseded:connection-banner.tsxalready narrates the restart window ("Server connection dropped — reconnecting…" → "Server reconnected", self-healing), and the extension posts a completion toast. The wizard also polledGET /amicode/solver-mode, which does not exist, and its hp stages assume an hp flip from a button — which ADR 0001 now forbids.The remaining gap is cosmetic: during a deliberate switch the banner reads as a fault rather than an upgrade. Tracked separately if we decide the demo needs it.