Skip to content

Migrate Phase memory ownership to Strata - #3

Merged
zekageri merged 25 commits into
mainfrom
strata-migration
Sep 7, 2026
Merged

Migrate Phase memory ownership to Strata#3
zekageri merged 25 commits into
mainfrom
strata-migration

Conversation

@zekageri

@zekageri zekageri commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • bump Phase to v0.2.0 and adopt the ZekStack-standard Strata::MemoryPolicy
  • route Phase graph storage, implementation ownership, callback holders, mutex storage, and task stack/TCB ownership through Strata
  • replace Phase-specific PSRAM task allocation and self-deletion with an external Strata task teardown handoff
  • add memory placement diagnostics, host coverage, a memory-policy example, CI ownership audits, and the Strata v0.1.1 dependency
  • document the v0.1.x to v0.2.0 migration

Memory policy

  • memory.allocation = Strata::Placement::Default
  • memory.taskStack = Strata::Placement::PreferExternal

The task-stack default preserves the old PhaseStackType::Auto behavior.

Validation

  • existing host lifecycle tests retained, including the allocation-free runtime check
  • added memory-policy and diagnostics host coverage
  • CI builds examples for ESP32, ESP32-S3, ESP32-C3, and ESP32-P4 with Strata v0.1.1
  • source audit rejects direct allocation APIs, ESP-IDF heap-capability internals, and Phase-owned raw FreeRTOS allocation primitives

@zekageri
zekageri merged commit 85b6076 into main Sep 7, 2026
52 of 62 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.

1 participant