Skip to content

Migrate Tempo memory ownership to Strata - #3

Merged
zekageri merged 39 commits into
mainfrom
strata-integration
Sep 7, 2026
Merged

Migrate Tempo memory ownership to Strata#3
zekageri merged 39 commits into
mainfrom
strata-integration

Conversation

@zekageri

@zekageri zekageri commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • bump Tempo to v0.2.0 and require Strata v0.1.2
  • adopt Strata::MemoryPolicy for scheduler metadata and task-stack placement with PreferExternal defaults
  • route deterministic scheduler containers through Strata-backed storage
  • replace raw scheduler service, worker-pool, and dedicated-task creation with Strata::FreeRTOS::Task
  • replace dynamic queues and the queue-set wake path with Strata queues plus a binary wake semaphore
  • move scheduler command completion signaling to Strata::FreeRTOS::BinarySemaphore
  • route scheduler implementation objects, command objects, task items, runtime state, and callback holders through Strata ownership
  • preserve external task-deletion handoff so Strata task owners release stacks/TCBs safely
  • add CI dependency setup and source audits that reject the legacy allocation/task paths

Memory policy

Tempo v0.2.0 intentionally defaults movable storage and task stacks to Strata::Placement::PreferExternal. Strata-owned FreeRTOS control structures remain internal according to Strata's safety contract.

Compatibility

This is the v0.2.0 memory-policy migration and intentionally establishes the shared Strata placement vocabulary rather than retaining Tempo-specific task-stack PSRAM policy.

Validation

CI covers host regressions and ESP32/ESP32-S3/ESP32-C3/ESP32-P4 example builds with Strata v0.1.2. Follow-up CI fixes also make the source audit distinguish raw free() from the intended Strata::free() path and update README/version documentation for 0.2.0.

zekageri commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator Author

CI failure investigation: the failing runs never reached checkout or repository code; they failed in GitHub Actions Set up job on the self-hosted zekstack-ci runners. I re-ran the failed workflows. Host Tests and Lint are now green, and the main CI rerun has passed source-audit, version-check, and host-tests; the ESP32 build matrix is still running. No repository code change was required for this failure.

@zekageri
zekageri merged commit c723fd8 into main Sep 7, 2026
24 of 36 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