docs(adr): ADR-001 — reactive state via scoped StateBus and ownership-based discovery#196
Open
WilliamKarolDiCioccio wants to merge 1 commit into
Open
docs(adr): ADR-001 — reactive state via scoped StateBus and ownership-based discovery#196WilliamKarolDiCioccio wants to merge 1 commit into
WilliamKarolDiCioccio wants to merge 1 commit into
Conversation
e5bd3c0 to
0cc6de7
Compare
0d2e3e1 to
77e2cce
Compare
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.
Summary
state-bus.md,agent-session-agent-state.md,agent-runtime-thread-state.md,agent-session-bus-route.md,agent-state-as-bus-view.md) with a single consolidated ADR covering the full PR feat(soliplex_client): GenUI P0 — Surface + StateProjection + StateBus #189–refactor(soliplex_agent): agentState is now a view of bus.agentState #193 stackThreadKeyover barethreadId,@immutable ThreadStatewithwithHistory,ensureThreadStatevsthreadStateOf, runtime-owned disposal cascade, and ownership-based discovery as the RAII substitutelate final agentState/ plainbusgetter asymmetry as a contractual (not mechanical) safety guarantee — the invariant that_threadStates[key]is never overwritten with a freshThreadStatefor an existing key must hold foragentStateto stay on the correct busWhat changed from the per-PR docs
The five source docs were written incrementally as each PR landed. The ADR reflects the final state after #193 collapsed the parallel
computed()path intobus.agentState. Key corrections vs the original per-PR framing:AgentRuntimeas the concrete bus owner throughoutagentStatedata-flow diagram updated to the PR refactor(soliplex_agent): agentState is now a view of bus.agentState #193 final form (_onStateChange → bus.setAgentState → bus.agentState = session.agentState)_onStateChange, it no longer powersagentStatedirectlyRuntime → ThreadState → StateBuscascade, not a manual host teardownTest plan
markdownlint-cli2— clean🤖 Generated with Claude Code