Skip to content

feat: configure staged CommandControl rollout - #487

Open
cristibleotiu wants to merge 2 commits into
developfrom
integrate/ecomms-0017-commandcontrol
Open

feat: configure staged CommandControl rollout#487
cristibleotiu wants to merge 2 commits into
developfrom
integrate/ecomms-0017-commandcontrol

Conversation

@cristibleotiu

@cristibleotiu cristibleotiu commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary\n- regroup communication roles so CONFIG owns commands and CTRL owns heartbeats\n- add heartbeat ingress queue, auth-worker, targeted-topic, and mirror rollout controls\n- retain an explicit legacy topology fixture and persisted-config rollback guidance\n- extend the isolated EMQX/four-node testbed with broker topology and SDK fanout validation\n\n## Configuration\n- production targeted heartbeat mirroring remains opt-in and default-off\n- the dedicated local communication testbed enables mirroring for selected-node proof\n- existing nodes must update both the startup seed and effective persisted /edge_node/_local_cache/_data/box_configuration/config_app.txt\n- an explicit environment value of 0 can disable persisted targeted mirroring during rollback\n\n## Verification\n- python -m unittest tests.test_comms_testbed_config tests.test_commandcontrol_combined_config: pass, 24 tests\n- all tracked and fixture JSON configurations parse: pass\n- broker topology: 14 managed subscriptions and 20 managed clients with expected owners and QoS\n- all 32 observer-to-target command routes: pass during burst and after reconnect\n- full legacy rollback and mixed legacy/regrouped topology: pass\n- selected-node exact-topic delivery, summary discovery, unavailable-node degradation, and mirror-off no-fallback: pass\n- post-rebase verification against latest develop: pass\n\n## Dependencies\n- SDK: https://github.com/Ratio1/ratio1_sdk/pull/181\n- Core: https://github.com/Ratio1/naeural_core/pull/222\n- deploy these three coordinated candidates together; do not merge only the edge configuration slice into a runtime lacking the matching APIs\n\n## Rollout\n- deploy compatible code with existing roles, full_network SDK, auth shadow, and mirror off\n- calibrate workers on a small oracle cohort for at least one full Epoch\n- migrate persisted roles, then enable targeted mirroring and reduced SDK modes separately\n- enable auth enforcement only after shadow diagnostics are understood\n\n## Residual Risk\n- the isolated testbed uses non-secret ecomms/ecomms placeholders against its anonymous local broker\n- targeted topics are not confidentiality boundaries without broker ACLs\n- config_app.txt is generated runtime state and is intentionally not committed\n\n## Exact PR-Head Artifact\n- image: local_edge_node_comms_ecomms0017:20260818-pr\n- image ID: sha256:e54acaf5c848bcbfd17acc074755a04a42d6712b268f27c87042ce346fb0cc5a\n- installed core affected union: pass, 63 tests\n- clean regrouped broker topology: pass, 14 managed subscriptions / 20 managed clients\n- all 32 observer-to-target command routes: pass\n- teardown: all isolated containers, network, and volumes removed

What changed:
- configure regrouped communication roles and heartbeat ingress controls
- add targeted heartbeat testbed support and legacy rollback fixtures
- document persisted config migration, rollout, and SDK fanout validation

Why:
- deploy the CommandControl changes compatibly across existing and new nodes
- provide executable broker and configuration rollout evidence
What changed:
- remove forced targeted mirror env override from the comms compose testbed
- assert persisted comms config enables mirror behavior separately from env precedence

Why:
- fanout validation should fail if persisted config mirroring is ignored
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