feat: production-ready kernel execution — replace all ecosystem stubs with real dispatch#5
Merged
mivertowski merged 3 commits intomainfrom Feb 7, 2026
Conversation
… with real dispatch Core infrastructure: - Add TypeErasedBatchKernel<K,I,O> wrapper for type-erased batch execution via JSON serde - Add TypeErasedRingKernel<K,M,R> wrapper for type-erased ring message dispatch - Add register_batch_typed() for zero-boilerplate factory registration with type inference - Add register_batch_metadata_from() and register_ring_metadata_from() helpers - Add execute_batch() convenience method on KernelRegistry - Export new types through prelude (BatchKernelDyn, RingKernelDyn, TypeErased* wrappers) Ecosystem — real kernel execution replacing all placeholder stubs: - Axum: execute_kernel() now creates kernel instances from registry factories, serializes input JSON to bytes, calls execute_dyn(), deserializes output — with timeout support and proper error differentiation (batch vs ring vs not-found) - Tower: KernelService::execute() uses same factory-based dispatch pattern - gRPC: KernelGrpcServer::execute_kernel() with timeout and DEADLINE_EXCEEDED handling - Actix: KernelActor handler bridges async execute_dyn() via block_in_place - Ring kernels return informative errors guiding users to Ring protocol/gRPC streaming Health & observability improvements: - Health endpoint aggregates registry status and error rate into component health - Prometheus metrics endpoint reports per-domain kernel counts, batch/ring breakdown, error rate, and request duration alongside existing counters Domain crate registrations (all 14 crates, 106 kernels): - Migrate from register_metadata() to factory-based registration throughout - Batch kernels with BatchKernel<I,O> impl use register_batch_typed() for full execution - Batch kernels with GpuKernel-only use register_batch_metadata_from() for discovery - Ring kernels use register_ring_metadata_from() for metadata registration All 895 tests pass. Zero clippy warnings. https://claude.ai/code/session_01CwVtdXfd1urE8Ab6He77c5
Update all mdBook docs and README to reflect v0.4.0 with RingKernel 0.4.2: - Fix version references (0.2.0/0.1.0 → 0.4.0), crate count (18 → 19) - Fix kernel counts (Risk: 4 → 5), remove RustCompute path dependency refs - Document TypeErasedBatchKernel, factory registration, real ecosystem execution - Add 0.3.0 and 0.4.0 changelog entries with migration guide - Update architecture diagram, domain catalogue, and getting-started guides - Replace mock/stub language with real execution details in ecosystem docs https://claude.ai/code/session_01CwVtdXfd1urE8Ab6He77c5
…acade - Facade: fix catalog counts (72→106), update MIN_RINGKERNEL_VERSION to 0.4.2, add register_all() convenience function - Core errors: add http_status_code(), error_code(), is_client_error() methods; fix is_recoverable() classification - Registry: add all_metadata(), search(), executable_kernel_ids(), is_executable() - Axum: add CORS middleware, X-Request-ID response header propagation, min/max latency in Prometheus metrics - gRPC: implement page_token pagination, propagate client request ID - Actix: add timeout support from RequestMetadata - Tower: implement token bucket rate limiter with burst capacity, add configurable timeout to KernelService - ServiceMetrics: add min/max latency tracking https://claude.ai/code/session_01CwVtdXfd1urE8Ab6He77c5
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.
Core infrastructure:
Ecosystem — real kernel execution replacing all placeholder stubs:
input JSON to bytes, calls execute_dyn(), deserializes output — with timeout support
and proper error differentiation (batch vs ring vs not-found)
Health & observability improvements:
error rate, and request duration alongside existing counters
Domain crate registrations (all 14 crates, 106 kernels):
All 895 tests pass. Zero clippy warnings.
https://claude.ai/code/session_01CwVtdXfd1urE8Ab6He77c5