Add non-default live room bridge#310
Merged
Merged
Conversation
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.
Linked Issue
Closes #305
Scope
Adds the first non-default unified room bridge behind
cr console --live-room. This does not replace the defaultcrpath and does not changecr console --snapshot; it creates a staged live room path where the composer and dashboard render together and submissions are routed through existing REPL parse semantics.Implemented:
console_roombridge that routes composer submissions throughrepl::parse_line.@roledispatches to the target role.@allbroadcast is recognized.cr startuntil dogfood parity closes.cr console --live-roomnon-default TTY path with composer/dashboard rendering together.Acceptance Criteria
@roletext to the target role using existing routing semantics.cr console --snapshotread-only/debug mode unchanged.Preserved / Deferred REPL Behavior Matrix
live_room_routes_bare_text_to_host_and_preserves_public_user_turn@role-> targetlive_room_routes_explicit_role_mentions_with_existing_repl_semantics@allbroadcast parseLiveRoomAction::Broadcast/help,/exit,/halt,/fresh,/refresh,/permissions,/allow,/deny,/hostlive_room_command_specs, bridge route arms/journal,/patch,/compact,/resume,/transcript,/stop,/welcomelive_room_blocks_runtime_only_slash_commands_with_clear_messagepermission_overlay_stays_out_of_snapshot_conversationcrentrypoint replacementChanged Files
src/console_room.rs— non-default live room bridge and routing model.src/console_tui.rs—cr console --live-roomTTY loop and composer/dashboard rendering.src/main.rs— adds non-default--live-roomflag; keeps--snapshotread-only.src/lib.rs— exportsconsole_room.tests/console_room_test.rs— integration-style bridge and render tests.Validation
cargo fmt --all -- --check— passcargo test --test console_room_test --locked --quiet— pass, 5 testscargo test --test console_tui_test --locked --quiet— pass, 7 testscargo clippy --all-targets --all-features --locked -- -D warnings— passcargo test --all-features --locked --quiet— passcargo run --locked --quiet -- console --help— pass; help shows--live-roomand keeps--snapshotgit diff --check— passRisk
Medium. This introduces a new non-default TTY input loop, but it is isolated behind
cr console --live-room, keepscr console --snapshotunchanged, and does not alter the defaultcrstartup behavior.Rollback
Revert this PR. No migrations, persisted project state, release metadata, or user data are changed.
Tracker Update