fix(control): preserve live fuse relief - #926
Conversation
|
@miravoss26 could you review this P0 safety fix on exact head The old deadband/holdoff path can replace a live -5 kW discharge with about -1.38 kW while a phase is overloaded. The new path starts from live battery power and adds relief from there. Focused tests passed 100 times with race, full package race passed, two full This draft is intentionally ordered before #769. It will not merge without normal human/CODEOWNER review. @codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5ef2d3eb5f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
5ef2d3e to
6d05571
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6d0557130a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
6d05571 to
efe9b50
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. 🚀 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
efe9b50 to
8a98fae
Compare
|
Rebased this P0 fuse-relief fix onto current master |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8a98faeca4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Exact head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9ee92e9867
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
9ee92e9 to
cff14ed
Compare
|
@codex review @miravoss26 please refresh review on exact head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cff14ed26d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 53e4774633
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
53e4774 to
c3c82ee
Compare
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
What changed
The deadband and holdoff fuse-saver now starts from each controllable battery's live power instead of an artificial 0 W target.
This closes a post-v1.15 safety regression. With a battery already discharging at about -5 kW and one phase at 18 A on a 16 A fuse, the old early-exit path replaced the live output with about -1.38 kW. That raised the worst phase to about 23.25 A. The new path adds the required relief to the live target, yielding about -6.38 kW and reducing the phase to 16 A.
Mode Idle still sends real 0 W hold targets. A deadband or holdoff tick that needs no relief remains silent and does not update
LastDispatch.Evidence
f0c9ad2: live -5 kW becomes about -1.38 kW.go test -race ./internal/control ./internal/telemetry ./cmd/ftwpassed.make verifyruns passed, including 167 optimizer tests, all Go and driver packages, external optimizer E2E, Compose migration, boundaries, vet, and build.Order and ownership
This PR intentionally goes before #769. That PR has prior ownership of
dispatch.go, but the fault is already onmasterand blocks the 2.0 candidate. The release owner explicitly approved both this fuse fix and the separate #816 slew fix. After this lands, rebase #769, rebuild its synthetic stack base, then restack #887 and #888. Merge-tree checks against all three heads are conflict-free.This is a draft until normal CODEOWNER or human review is complete. It is not approval to publish a stable release.