Skip to content

Develop - #439

Merged
cristibleotiu merged 8 commits into
mainfrom
develop
Jun 12, 2026
Merged

Develop#439
cristibleotiu merged 8 commits into
mainfrom
develop

Conversation

@toderian

Copy link
Copy Markdown
Contributor

No description provided.

cristibleotiu and others added 8 commits June 8, 2026 16:31
* test: add local comms consensus testbed

What changed:\n- add isolated EMQX-based comms compose stack, local entrypoint, NetMon probe, validators, and OracleSync overlay\n- enable local-only OracleSync debug/bootstrap flags for testbed consensus validation\n\nWhy:\n- provide an end-to-end safety bed for heartbeat QoS, summary NetMon, command routing, and local oracle consensus checks

* test: validate local oracle sync signatures

What changed:\n- document a short-epoch local OracleSync validation flow\n- add a Docker-based validator for persisted OracleSync availability/signature coherence\n\nWhy:\n- make the local comms testbed verify consensus signature correctness, not just plugin state

* feat: enable default heartbeat qos split

What changed:
- Add explicit channel QoS to the default app communication config.
- Keep command/config traffic on QoS 2 while heartbeat ctrl traffic uses QoS 1.
- Add a regression test for the default config split.

Why:
- The runtime feature should be active in the default edge configuration, not only in the isolated local comms testbed.

* feat: enable oracle-only heartbeat receive by default

What changed:
- Set EE_NETMON_ORACLE_ONLY_HEARTBEAT_RECEIVE=1 in runtime Dockerfile defaults.
- Keep the local comms Dockerfile aligned with the compose testbed.
- Add regression coverage that all runtime images carry the default.

Why:
- The heartbeat receive reduction policy should be enabled by default for the rollout, while operators can still override the env flag to 0 if needed.

* fix: gate oracle sync bootstrap by debug mode

What changed:
- Require DEBUG_MODE before honoring EE_ORACLE_SYNC_BOOTSTRAP_PREVIOUS_EPOCH.
- Keep the local testbed bootstrap behavior behind the existing debug env flag.
- Add a regression assertion for the guard.

Why:
- The bootstrap shortcut skips historical backfill and must not be reachable in production from a leaked env flag alone.

* fix: default oracle heartbeat mode as one switch

What changed:
- set EE_NETMON_ORACLE_ONLY_HEARTBEAT_MODE in runtime Dockerfiles and the local comms testbed
- stop setting the low-level receive and summary flags by default
- update config tests to enforce the coupled policy default

Why:
- prevent normal-node deployments from disabling heartbeat receive without also deriving NetMon summary fallback

* fix: require channel-qos capable sdk

What changed:
- require ratio1>=3.5.41 in runtime and devcontainer requirements
- add a config test that guards the SDK floor

Why:
- per-channel QoS support requires a wrapper version that exposes get_channel_qos

* Bump version from 2.10.310 to 2.10.311
* feat: chunk local RedMesh LLM reports

* fix: tolerate local LLM e2e poll timeouts

* chore: inc ver
* fix: validate summary-backed NetMon control paths

What changed:
- add local NetMon API probe and comms testbed validation coverage
- use control-liveness APIs at edge call sites that depend on summary-backed visibility
- fail closed on unknown supervisor state during Deeploy target selection

Why:
- normal nodes need safe command/config visibility from summaries without treating summaries as heartbeat evidence

* Bump version from 2.10.312 to 2.10.313
* fix: align stack volume storage validation

What changed:
- aggregate Stack storage from selected CONTAINER_RESOURCES.storage only
- validate Stack fixed-size volumes against each plugin's selected Volume Storage
- allow explicit zero Stack Volume Storage when no fixed volumes exist
- use Decimal-backed two-decimal CPU aggregation for paid-tier checks
- preserve legacy additive fixed-volume storage aggregation for non-Stack app types

Why:
- DPLY-010 defines Stack storage as a fixed-volume reservation budget, not extra storage on top of fixed volumes

Checks:
- PYTHONPATH=/home/vi/work/ratio1/repos/edge_node/naeural_core:/home/vi/work/ratio1/repos/edge_node/ratio1_sdk /tmp/dply010-edge-node-venv/bin/python -m unittest extensions.business.deeploy.tests.test_stack_resources: passed
- PYTHONPATH=/home/vi/work/ratio1/repos/edge_node/naeural_core:/home/vi/work/ratio1/repos/edge_node/ratio1_sdk /tmp/dply010-edge-node-venv/bin/python -m unittest discover -s extensions/business/deeploy/tests -p 'test_*.py': passed
- /tmp/dply010-edge-node-venv/bin/python -m py_compile extensions/business/deeploy/deeploy_mixin.py extensions/business/deeploy/tests/test_stack_resources.py: passed

* fix: validate stack target-node disk

Check selected Volume Storage against available disk for manual target-node validation and auto-selection.

Keep Stack fixed-size volumes scoped to the selected storage budget by relying on the Stack aggregate resource semantics.

Tests: PYTHONPATH=/home/vi/work/ratio1/repos/edge_node/naeural_core:/home/vi/work/ratio1/repos/edge_node/ratio1_sdk /tmp/dply010-edge-node-venv/bin/python -m unittest extensions.business.deeploy.tests.test_summary_control_liveness

Tests: PYTHONPATH=/home/vi/work/ratio1/repos/edge_node/naeural_core:/home/vi/work/ratio1/repos/edge_node/ratio1_sdk /tmp/dply010-edge-node-venv/bin/python -m unittest extensions.business.deeploy.tests.test_stack_resources

Tests: PYTHONPATH=/home/vi/work/ratio1/repos/edge_node/naeural_core:/home/vi/work/ratio1/repos/edge_node/ratio1_sdk /tmp/dply010-edge-node-venv/bin/python -m unittest discover -s extensions/business/deeploy/tests -p 'test_*.py'

Tests: /tmp/dply010-edge-node-venv/bin/python -m py_compile extensions/business/deeploy/deeploy_target_nodes_mixin.py extensions/business/deeploy/tests/test_summary_control_liveness.py

* fix: require Docker SDK for container apps

What changed:
- Pin the Python Docker SDK dependency across runtime, local, and devcontainer requirements.
- Add Dockerfile preflight checks for docker.types.DeviceRequest and make CAR report a clearer missing-SDK error.
- Cover the dependency and image preflight contract with config tests and record the deployment lesson in AGENTS.md.

Why:
- WAR imports CAR at startup, and a missing Docker SDK caused stack deployments to fail with No module named docker.types.

* chore: inc ver

* Revert "fix: require Docker SDK for container apps"

This reverts commit bbb8f78.
@cristibleotiu
cristibleotiu merged commit 38d37e1 into main Jun 12, 2026
4 checks passed
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.

2 participants