orchestrator: Let Platform::execute return a follow-up event An executor that learns something synchronously — a verification verdict — had no way to feed it back; every shell needed its own queue, drained between dispatches. execute now returns Result<Option<Event>, EffectError>: the driver queues the returned event and settles it in the same run, so one dispatch runs to quiescence. The pending queue pops as it settles, bounding it by in-flight events instead of a run's length; overflow injects EffectFailed and latches Locked — the same fail-closed rule as a failed effect. Assisted-by: Claude:claude-fable-5 Signed-off-by: Christina Quast <christina.quast@9elements.com>
The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md
NOTE: We are converting our build system to bazel. We recommend installing bazelisk to automatically manage bazel versions.
You can run tasks using the Pigweed workflow launcher pw or bazel.
./pw presubmit - Run presubmit checks: formatting, license checks, C/C++ header checks and clippy../pw format - Run the code formatters.bazel test //... - Run all tests.bazel build //docs - Build documentation.The project is structured as a bazel module.
No additional tools are required - all dependencies are managed by bazel.