feat(mesh): load deadline-safe native serving plugins - #1155
Conversation
…ity' into agent/native-serving-plugin # Conflicts: # crates/openai-frontend/src/router.rs # crates/skippy-server/src/frontend/generation/cache_hints.rs # crates/skippy-server/src/frontend/generation_flow.rs # crates/skippy-server/src/frontend/local_generation.rs
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
This pull request is currently a draft. Reviews will not take place until the PR is marked as ready for review. |
|
@coderabbitai review Please perform a full review of the current PR head, including the native serving plugin ABI, deadline/cancellation behavior, and the restored dynamic proposal-width contract. |
|
✅ Action performedFull review finished. |
* feat(openai): propagate stable agent session identity * feat(mesh): load deadline-safe native serving plugins * docs: document native serving integrations * fix(skippy): preserve native proposal query contract * fix(skippy): compile native proposal plugin tests * fix(plugin): use public proposal query constructor
* feat(openai): propagate stable agent session identity * feat(mesh): load deadline-safe native serving plugins * docs: document native serving integrations * fix(skippy): preserve native proposal query contract * fix(skippy): compile native proposal plugin tests * fix(plugin): use public proposal query constructor
* feat(skippy): expose authoritative generation lifecycle * refactor(mesh): remove injected local model launcher * fix(skippy): make serving hooks independent * feat(mesh): load deadline-safe native serving plugins (#1155) * feat(openai): propagate stable agent session identity * feat(mesh): load deadline-safe native serving plugins * docs: document native serving integrations * fix(skippy): preserve native proposal query contract * fix(skippy): compile native proposal plugin tests * fix(plugin): use public proposal query constructor * fix(skippy): make lifecycle delivery nonblocking * refactor(skippy): add lifecycle ingress adapter * fix: address generation lifecycle review --------- Co-authored-by: Nick DiZazzo <nick.dizazzo@gmail.com>
Use case
An inference product should be able to attach a native proposal/state implementation to the normal Mesh OpenAI serving binary without wrapping Mesh, owning another model runtime, or blocking Skippy's decode loop.
Dependencies
This draft is stacked on #1149 and merges #1152 so the complete contract compiles and tests together. The session-identity portion will disappear from this diff when #1152 lands.
Change
mesh-native-serving-plugin-apifunction-table ABI with safe Rust-side types.mesh-native-serving-plugin-host, loaded only when explicit hidden local-serving flags provide the library, config, state directory, and deadline.--local-model-onlystartup path. There is no alternate launcher or compatibility entrypoint.Runtime contract
Without plugin flags, behavior is unchanged. With plugin flags, all flags are required together and local-model-only serving creates the native hook factory after loading the plugin. Skippy remains authoritative for model execution, tokenizer identity, KV cache, scheduling, verification, proposal admission, and outcomes.
Validation
-D warnings.The broader host runtime still reports 28 pre-existing
unfulfilled_lint_expectationswarnings in untouched compatibility code; the focused strict-Clippy set is clean.