Skip to content

Lattice 3/4: hot-path control wiring (flag-gated)#4083

Draft
mgazza wants to merge 2 commits into
lattice-pr2-producersfrom
lattice-pr3-hotpath
Draft

Lattice 3/4: hot-path control wiring (flag-gated)#4083
mgazza wants to merge 2 commits into
lattice-pr2-producersfrom
lattice-pr3-hotpath

Conversation

@mgazza

@mgazza mgazza commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

PR 3/4 of the Lattice merge train. Stacked on #2. This is the one that touches the live control path — review closely.

Commits (story):

  1. site control plane — execute.lattice_express_control (resolve + execute via held task, log failures, return False so the normal write is never lost)
  2. inverter expresses intent upward — adjust_charge_rate/discharge_rate/battery_target/reserve hand intent to the site plane via _lattice_expresses; bespoke write skipped only when Lattice owns it, else runs unchanged

Gated by lattice_projection_enable (default off) → identical behaviour today. Harness-verified (run_all --test inverter --test execute).

🤖 Generated with Claude Code

mgazza and others added 2 commits June 18, 2026 09:53
Expresses a control intent at the execute layer and lets the projection fulfil it (best provider
+ fallback) via an awaited task whose reference is held and whose failures are logged. Returns
False on any problem so the caller does its normal write — control is never lost. Not yet called.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…lag-gated)

adjust_charge_rate/discharge_rate/battery_target/reserve hand the intent up via _lattice_expresses
(thin delegate to execute.lattice_express_control); when Lattice owns it the bespoke per-inverter
write is skipped, else it runs unchanged. Reads inverter_serial so the unit maps to its Lattice node.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant