Skip to content

feat(lattice): publish durable compiled config - #4326

Open
mgazza wants to merge 1 commit into
feat/lattice-mixed-provider-compositionfrom
feat/lattice-compiled-publication
Open

feat(lattice): publish durable compiled config#4326
mgazza wants to merge 1 commit into
feat/lattice-mixed-provider-compositionfrom
feat/lattice-compiled-publication

Conversation

@mgazza

@mgazza mgazza commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add an additive, shadow-only compiled-Lattice publication coordinator
  • let any registered fragment integration or durable user-override source invalidate the aggregate compiler
  • fresh-read every registered input through the existing single-flight/bounded-follow-up compiler
  • atomically publish immutable versions with semantic digest, full observed provider cursor,
    requested-generation high-water marks, fingerprints, diagnostics, readiness, causes, and plan
  • preserve last-known-good state across failures, restarts, ambiguous writes, and multi-writer CAS races
  • keep configuration materialization absent and default-off

Safety properties

  • generation/fingerprint or diagnostic changes advance lattice_version even when the projected
    values are unchanged
  • exact identical input is a no-op; later materialization remains separately digest-gated
  • OFFLINE, DEGRADED, and fingerprinted-invalid registered inputs remain in the durable input cursor
    even when they do not contribute to the usable plan
  • accepted-but-unobserved generations survive later publications and restarts
  • same-generation semantic mutation is rejected after restart
  • CAS recovery requires the exact attempted publication; a losing compiler retains any missing
    accepted cause in one bounded follow-up version
  • no production registry, MQTT, Home Assistant, configuration writer, or materializer is wired

Verification

  • python3.9 -m unittest apps/predbat/tests/test_lattice_compiled_publication.py apps/predbat/tests/test_lattice_autoconfig.py — 72 passed on the stacked branch
  • the publication tranche also passed its pre-stack suite on Python 3.14
  • Black, Ruff, cspell, and pre-commit checks passed
  • GitNexus staged change detection: LOW, exactly two files, zero affected existing symbols or flows

Tracks Predictive-Cloud-Ltd/predbat-saas-infra#561 and #466.

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