feat: event-driven eval, multi-model composition, state machine (REQ-ARCH-036/037/039)#2
Merged
Merged
Conversation
REQ-ARCH-036: Event-driven evaluation (arbiter_event.h/c) - Watch/notify bitmask API for triggering eval on fact changes - Static bitmask implementation (uint32_t for <=32 facts, byte array for larger) - CONFIG_ARBITER_EVENT_DRIVEN Kconfig option REQ-ARCH-037: Multi-model composition (arbiter_compose.h/c) - Shared fact bus with bus-to-model mappings - Static array of attached contexts (CONFIG_ARBITER_MAX_MODELS) - Sync and eval_all APIs - CONFIG_ARBITER_COMPOSE Kconfig option REQ-ARCH-039: State machine support (arbiter_state.h/c) - State/transition definitions with priority-based evaluation - Guard conditions, on_enter/on_exit actions - Schema: states array with nested transitions - Compiler: _flatten_states/_flatten_transitions in canonical.py - Emitter: state/transition table generation in emit_c.py - CONFIG_ARBITER_STATE_MACHINE Kconfig option All 63 existing Python tests pass with no regressions. Co-Authored-By: Oz <oz-agent@warp.dev>
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.
Event-driven evaluation, multi-model composition, and state machine support
REQ-ARCH-036: Event-driven evaluation
arbiter_event.h/arbiter_event.c-- watch/notify bitmask APICONFIG_ARBITER_EVENT_DRIVENKconfig optionREQ-ARCH-037: Multi-model composition
arbiter_compose.h/arbiter_compose.c-- shared fact busCONFIG_ARBITER_MAX_MODELS, default 4)CONFIG_ARBITER_COMPOSEKconfig optionREQ-ARCH-039: State machine support
arbiter_state.h/arbiter_state.c-- priority-based transition evaluationCONFIG_ARBITER_STATE_MACHINEKconfig optionTesting
All 63 existing Python tests pass with no regressions.
Conversation: https://app.warp.dev/conversation/50231a26-f141-4a10-b259-3c6e6ce7aad9
Run: https://oz.warp.dev/runs/019e88b0-c5eb-797d-a667-37b36969ea66
This PR was generated with Oz.