Conversation
The Plan screen uses the forecast slider and battery-export choice already on the box. Passive and Active are no longer buttons. Use the plan asks for the mode the box maps from those prefs. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Fredrik Ahlgren <fredrik@sourceful-labs.com>
6 tasks done
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
ftw-webapp | 0ad0173 | Commit Preview URL Branch Preview URL |
Sep 29 2026, 07:20 PM |
The simulator catalogue still called idle "Idle". The box renamed the label and tooltip; the key is still idle. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Fredrik Ahlgren <fredrik@sourceful-labs.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contract-pair: srcfl/ftw@cursor/plan-household-prefs-1a28
Problem and result
The on-box Plan card no longer offers Passive arbitrage and Active arbitrage as buttons. Household planner prefs are the knobs: a safety-factor slider and whether the battery may sell. The phone app still showed the two old choices, and "Use the plan" picked the first primary catalogue entry.
The Plan screen now matches the box. The slider is
safety_k(0–2, step 0.05). An unansweredbattery_exportshows the existing banner and Allow / Keep off. A known answer shows the existing checkbox. Manual modes stay behind Manual…. Planner keys and hidden-tier modes are not buttons. "Use the plan" is shown only while a manual mode is driving, and it sendsmapped_modefromGET /api/planner/prefs, falling back toplanner_passive_arbitragewhen that read fails.Prefs are written with
planner.prefs.set. The app does not turn an export permission into a mode itself.The manual mode whose key is
idleis labelled Stop batteries, with the box's current tooltip. The old "Idle" / "Do nothing — no dispatch." wording is gone from the simulator catalogue.Paired with srcfl/ftw#1479, which adds that command.
contract/registry.yamlis the same file in both.Scope and safety
The box remains the authority for
mapped_mode. A failed prefs read on "Use the plan" lands on passive arbitrage, which never sells from the battery. A prefs write while a manual mode is driving does not leave that mode; only "Use the plan" does.Open PR #72 also edits
src/lib/sim/api.tsanddocs/protocol.mdfor the charging schedule. This change adds the planner-prefs routes beside that and does not touch the schedule step-up.Verification
npx vitest run src/lib/format/plan-prefs.test.ts src/lib/state/plan.test.ts src/views/Plan.svelte.test.ts tests/plan-e2e.test.ts tests/registry-contract.test.tspassed.npm run checkandnpm run buildpassed.npm test: plan and contract tests passed. 33 failures are in passkey/escrow suites (SubtleCrypto/ escrowunsupported) and are unrelated to this change.Manual list with Stop batteries
manual-stop-batteries.mp4
Checklist
src/lib/sim/api.tsanddocs/protocol.md.To show artifacts inline, enable in settings.