Skip to content

fix: reject stale Deeploy lifecycle commands - #206

Draft
cristibleotiu wants to merge 1 commit into
mainfrom
deeploy-0003-lifecycle-ordering
Draft

fix: reject stale Deeploy lifecycle commands#206
cristibleotiu wants to merge 1 commit into
mainfrom
deeploy-0003-lifecycle-ordering

Conversation

@cristibleotiu

Copy link
Copy Markdown
Contributor

Summary

  • accept structured Deeploy DELETE_CONFIG payloads while preserving legacy string deletes
  • compare Deeploy lifecycle markers on update/delete and skip stale commands
  • add fixture-backed receiver tests for old delete after newer update and same-runtime tombstone behavior

Why

Cap_34 showed an older Deeploy delete can arrive after a newer update and stop the refreshed app. This adds the receiver-side half of the ordering contract.

Validation

  • /home/bleot/venvs/umbrella313/bin/python -m unittest naeural_core.business.test_framework.test_deeploy_lifecycle_ordering -> 7 tests passed
  • /home/bleot/venvs/umbrella313/bin/python -m compileall naeural_core/config/config_manager_commands.py naeural_core/business/mixins_base/cmdapi.py naeural_core/business/test_framework/test_deeploy_lifecycle_ordering.py
  • git diff --check
  • Two-node Deeploy Docker testbed run from the dependent edge_node branch with this local core mounted: create generation 1, update generation 2, stale delete ignored, current delete accepted, result ok

Notes

  • Required before the companion edge_node PR is deployed; the edge branch emits structured delete payloads.
  • Legacy string DELETE_CONFIG remains unconditional.
  • Durable tombstones across receiver restart are not included in this slice.

What changed:
- accept structured Deeploy DELETE_CONFIG payloads while preserving legacy string deletes
- skip Deeploy update/delete commands when their lifecycle marker is older than current state
- add fixture-backed receiver tests for stale delete and tombstone behavior

Why:
- prevent delayed Deeploy deletes from stopping a newer updated app
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