Skip to content

docs(runtime): add delivery-profile ADR and simplification ARD#96

Merged
Lythaeon merged 2 commits intomainfrom
docs/runtime-profile-spec
Apr 11, 2026
Merged

docs(runtime): add delivery-profile ADR and simplification ARD#96
Lythaeon merged 2 commits intomainfrom
docs/runtime-profile-spec

Conversation

@Lythaeon
Copy link
Copy Markdown
Owner

Description

Add explicit architecture docs for runtime delivery profiles and for simplification policy, while keeping the implementation work on this branch limited to low-risk skeleton cleanup.

This matters because the branch is documenting the intended runtime direction before wider behavior changes land. It also improves sof-support structure so the support crate is easier to navigate without changing its public API shape.

Changes

Detailed list of what changed:

  • docs/architecture/adr/0013-runtime-delivery-profiles.md: adds the proposed runtime delivery profile ADR with explicit semantics, invariants, non-guarantees, rollout, and verification requirements
  • docs/architecture/ard/0010-simplification-without-capability-regression.md: adds an explicit simplification policy for SOF so future cleanup preserves performance, stability, and capability boundaries
  • docs/architecture/README.md: indexes the new ADR/ARD entries
  • crates/sof-support/src/*: splits the previous large lib.rs implementation into explicit named modules; lib.rs is now a small export surface
  • crates/sof-observer/src/runtime.rs: adds typed RuntimeDeliveryProfile shape and RuntimeSetup serialization helper only
  • crates/sof-observer/src/app/config/base.rs: adds lightweight env parsing coverage for RuntimeDeliveryProfile without changing wider runtime behavior
  • Runtime/infra implication: this branch documents and scaffolds policy shape, but does not wire profile-specific runtime behavior yet

For slice-related changes, include:

  • Affected slices: app/runtime config surface, support utilities, architecture docs
  • Cross-slice communication changes (if any) and why: none; no runtime wiring behavior changed
  • Migration requirements (if any): none for users on this branch

Motivation

Business motivation:

Make the runtime direction explicit before expanding downstream policy knobs, and make future simplification work defensible instead of ad hoc.

Technical motivation:

Reduce support-crate maintenance cost, document runtime delivery semantics clearly, and establish explicit guardrails for simplifying SOF without losing capability, stability, or performance.

Alternative approaches considered:

  • Keep ADR-0013 implicit in issue/branch discussion only
  • Delay support-crate cleanup until after wider runtime work
  • Simplify SOF opportunistically without a standing ARD defining what must remain explicit

Scope and impact

  • Affected slices: support, app/runtime config surface, architecture docs
  • Data/API changes: adds typed RuntimeDeliveryProfile scaffolding; no public runtime behavior change yet
  • Backward compatibility: preserved
  • Performance impact: none expected; support-crate split is structural only
  • Security impact: none expected

Testing

  • Unit tests
  • Integration tests
  • Manual verification
  • Performance checks (if applicable)
  • Security checks (if applicable)

Commands/results:

cargo fmt --all
cargo test -p sof-support
cargo test -p sof runtime_delivery_profile --lib
cargo clippy -p sof-support --all-targets -- -D warnings
git diff --check

Results:

  • sof-support tests passed
  • focused RuntimeDeliveryProfile tests passed in sof
  • sof-support clippy passed with -D warnings
  • diff hygiene check passed

Related issues and documentation

  • Fixes: n/a
  • Related: branch docs/runtime-profile-spec
  • Architecture docs: docs/architecture/README.md
  • Relevant ARD/ADR: docs/architecture/adr/0013-runtime-delivery-profiles.md, docs/architecture/ard/0010-simplification-without-capability-regression.md
  • Operations/runbook updates: none

Reviewer checklist

  • Code follows project standards and architecture constraints
  • Slice boundaries are respected (docs/architecture/ard/0003-slice-dependency-contracts.md)
  • Tests added/updated and passing
  • Documentation updated (README/docs/operations as needed)
  • No undocumented breaking change
  • Performance trade-offs documented where relevant
  • Security considerations addressed where relevant

Additional notes

This PR intentionally stops at docs plus skeleton cleanup. It does not attempt to wire RuntimeDeliveryProfile into queue sizing, ordering, or drain behavior on this branch.

@Lythaeon Lythaeon merged commit 358e879 into main Apr 11, 2026
2 checks passed
@Lythaeon Lythaeon deleted the docs/runtime-profile-spec branch April 11, 2026 08:36
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