Skip to content

feat(lattice): project fragments into auto config - #4324

Open
mgazza wants to merge 1 commit into
feat/lattice-autoconfig-indexed-rolesfrom
feat/lattice-autoconfig-projection
Open

feat(lattice): project fragments into auto config#4324
mgazza wants to merge 1 commit into
feat/lattice-autoconfig-indexed-rolesfrom
feat/lattice-autoconfig-projection

Conversation

@mgazza

@mgazza mgazza commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds the generic, fragment-published capability-to-PredBat configuration projection layer on top
of #4322.

  • provider snapshots can publish immutable entity, constant, or explicit-None projection values
  • projections bind to published capabilities with optional strong-identity/access-path selectors
  • scalar and ordered per-index cardinalities cover single- and multi-device sites
  • leaf and coordinator routing cover direct arrays and coordinator fan-out
  • required/optional fields, ordered transform flags, and explicit user overrides retain complete
    provider/user provenance
  • deterministic candidate selection rejects type, cardinality, identity, contract, and
    multi-provider ambiguity
  • projection metadata participates in the provider-generation fingerprint, so any registered
    integration can invalidate and cause a fresh all-provider compile with a new immutable plan
    digest

The compiler contains no Gateway/GE/Fox/SolaX/Solis brand switch.

Safety

This remains a pure, unregistered, default-off library. Even a projection-complete plan reports
atomic_materializer_missing, and the coordinator suppresses the materializer callback.
No production auto-config, Home Assistant, provider runtime, MQTT, or control path is modified.

Public compiled-Lattice publication/versioning, durable adapter registration, runtime override
injection, and the atomic materializer are deliberately separate stacked tranches.

Verification

  • 47 focused compiler/state-machine tests pass
  • 11 adjacent topology tests pass
  • Black, Ruff, cspell, Python compilation, docstring, and diff checks pass
  • GitNexus staged audit: LOW risk, two files, zero affected existing execution flows
  • post-commit GitNexus index refreshed successfully

Fixtures cover Gateway multi-AIO arrays, GE EMS coordinator fan-out, Fox transforms/constants,
Solis explicit None/absence, correlated local/cloud candidates, user overrides, deterministic
ordering, invalidation-driven recompilation, and fail-closed conflicts.

Stack

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