feat(runtime): add delivery profile presets#97
Merged
Conversation
added 5 commits
April 11, 2026 10:58
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds runtime delivery profiles as a typed runtime-level policy for SOF-owned downstream delivery defaults. This implements the Rust runtime side of ADR-0013 after the docs branch was merged to
main.The feature makes the default downstream delivery posture explicit while preserving bounded ingest and keeping caller-supplied plugin/extension hosts untouched.
Changes
Detailed list of what changed:
crates/sof-observer/src/runtime.rs: addedRuntimeDeliveryProfileSettings, profile-to-builder helpers,ObserverRuntime::with_runtime_delivery_profile, setup defaults, regression tests, and ignored soak/benchmark fixtures.crates/sof-observer/src/app/config/base.rs: addedSOF_RUNTIME_DELIVERY_PROFILEparsing with explicit warning fallback for unknown env values.crates/sof-observer/src/app/runtime/entrypoints.rs: applies the selected profile to SOF-owned default plugin and extension hosts.docs/architecture/adr/0013-runtime-delivery-profiles.md: documents the implemented profile table and manual soak/benchmark commands.docs/gitbook/operations/knob-registry.mdanddocs/operations/advanced-env.md: document the new env knob.For slice-related changes, include:
latency_optimizedand explicit caller-supplied hosts preserve their existing configuration.Motivation
Business motivation: make SOF easier to operate across latency-sensitive, balanced, and stateful/analytics-style consumers without exposing a bag of low-level toggles.
Technical motivation: replace implicit downstream runtime bias with one typed, testable policy bundle while preserving bounded queues and explicit runtime ownership.
Alternative approaches considered: keeping only env knobs, exposing per-hook/per-plugin queue policy, or claiming lossless delivery. These are intentionally avoided per ADR-0013.
Scope and impact
sofruntime API, runtime env config, app runtime entrypoints, runtime docs.RuntimeDeliveryProfileapplication helpers andObserverRuntime::with_runtime_delivery_profile; addsSOF_RUNTIME_DELIVERY_PROFILEvalueslatency_optimized,balanced,delivery_disciplined.Testing
Commands/results:
Results:
Related issues and documentation
docs/architecture/README.mddocs/architecture/adr/0013-runtime-delivery-profiles.md,docs/architecture/ard/0010-simplification-without-capability-regression.mddocs/gitbook/operations/knob-registry.md,docs/operations/advanced-env.mdReviewer checklist
docs/architecture/ard/0003-slice-dependency-contracts.md)Additional notes
This PR is based directly on the merged
mainthat already contains the docs/runtime-profile-spec work. TS/Python SDK enum exposure remains future follow-up work from ADR-0013 and is not implemented here.