Runtime Ownership Boundaries
Understand which repository owns native runtime code, web bridge behavior, and Dart integration changes.
On this page
llamadart follows a zero-patch strategy for upstream runtime ownership.
Rules#
- Do not patch upstream
llama.cppsources in this repo. -
Do not add local native build graph changes that belong in
llamadart-native. -
Do not add Apple SPM runtime binaries or Flutter plugin manifests to the core
package root; keep them isolated in the Flutter runtime companion packages
under
packages/. -
Do not treat bridge runtime internals as owned by this repo; those belong in
llama-web-bridge.
Where changes should go#
-
llama.cpp native wrapper/runtime behavior and Apple SPM-compatible artifacts:
llamadart-native -
LiteRT-LM native wrapper/runtime behavior and Apple SPM-compatible artifacts:
litert-lm-native -
Flutter Apple SPM package manifests:
packages/llamadart_llama_cpp_flutterandpackages/llamadart_litert_lm_flutter - Web bridge runtime behavior:
llama-web-bridge - Published bridge assets:
llama-web-bridge-assets - Dart API/runtime selection/docs/tests:
llamadart
Why this matters#
Keeping ownership boundaries clear avoids drift between:
- bundle publishing pipelines,
- runtime contract implementations, and
- consumer-facing Dart APIs.
It also keeps this repo focused on integration correctness.