Skip to content

Phase 4: Twin Event Journal #2

Description

@nilsonfh

Phase 4: Twin Event Journal

Milestone 3 — Ditto-Style Twin Layer. Roadmap phase 4 of 6.

Goal

Cada cambio de twin/atributo/relación emite un evento durable; el WS deja de depender de broadcasts in-process para multi-réplica.

Requirement

  • R4 — Event journal: stream TF_TWIN_EVENTS declarativo (max_age/max_bytes) con eventos de twin/atributo/relación + fan-out WS multi-réplica.

Plans (2)

  • 04-01 (Wave 1) — Declarative TF_TWIN_EVENTS stream + control-plane event publisher (values.yaml + bootstrap converge + guard coverage + internal/twinevents publisher wired into twin/attribute/relation writers incl. silent writers device_state + alarm materializer)
  • 04-02 (Wave 2) — WS multi-réplica fan-out via the journal (journal consumer feeding the broadcasters, documented replace-vs-complement decision, retention guard playbook + docs)

Success Criteria

  • Stream TF_TWIN_EVENTS (tf.twin.events.<tenant>.<type>.<id>) declarado en values.yaml con max_age/max_bytes y verificado por el guard de streams
  • flow-core publica eventos en cada write de twin/atributo/relación del control plane (incluidos los writers hoy silenciosos: device_state, alarm materializer)
  • Fan-out WS multi-réplica consumiendo el journal (decisión documentada: reemplaza o complementa los 3 broadcasters in-process)
  • Retención del stream cubierta por el patrón de guards ("failed Job IS the alert")

Next Action

Run /legion:build to execute Phase 4.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    legionLegion workflow managed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions