3.4 KiB
| id | ticket | title | status | created | completed | tags | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0044 | studio-debugger-workspace-integration | Ordered Plan 4 - Runtime handshake integration from selective debugger knowledge | review | 2026-04-06 |
|
Objective
Integrate the minimum runtime/debug-session handshake needed for the current flow, using selective knowledge from ../debugger without creating a project linkage.
Background
DEC-0022 allows handshake details to be derived from ../debugger while keeping Studio-native boundaries. DEC-0021 reserves debug for the future but requires enough session behavior to support the current run flow and debugger destination.
Scope
Included
- Study and selectively port the useful runtime-handshake behavior from
../debugger. - Implement Studio-native handshake/session integration code.
- Publish handshake state into the shared execution session boundary.
Excluded
- Composite build or live dependency on
../debugger. - Full debugger feature parity.
- Profiler behavior.
- Manual rich connection-control UI.
Execution Steps
Step 1 - Identify the useful handshake slice
What: Isolate the exact handshake/protocol/session behavior needed from ../debugger.
How: Read the sibling repo and extract only the minimum details necessary for the current run/debug-session handshake. Do not mirror the standalone app structure.
File(s): Study ../debugger; implement only Studio-native targets under prometeu-studio.
Step 2 - Implement a Studio-native handshake service
What: Add handshake/session integration code in Studio-native shape.
How: Create a dedicated service or adapter layer that can publish connecting, connected, and failure information into the shared execution session.
File(s): prometeu-studio/src/main/java/p/studio/.../debug/* or equivalent service package.
Step 3 - Connect the handshake to the shared session
What: Make handshake outcomes visible to shell and workspace consumers. How: Feed successful and failed handshake events into the session state machine and merged logs without requiring the visual workspace to own the protocol. File(s): shared session service, handshake adapter/service, tests.
Test Requirements
Unit Tests
- Verify handshake success updates the shared session to the expected connected/running path.
- Verify handshake failure updates the shared session to a failure state and emits visible log output.
Integration Tests
- Simulate the runtime handshake sequence and confirm session consumers receive the expected state transitions.
Manual Verification
- Run a development build and confirm the session reflects connecting/connected/failed without needing the standalone debugger app.
Acceptance Criteria
- Studio contains a native handshake/service implementation shaped for the current flow.
- No technical linkage to
../debuggeris introduced. - Shared session state reflects handshake success and failure.
- The implementation selectively reuses useful debugger knowledge without wholesale copying.
Dependencies
- Accepted
DEC-0021andDEC-0022. PLN-0042shared execution session and log contracts.PLN-0043first-wave debug workspace surface.
Risks
- Porting too much from
../debuggercould drag standalone assumptions into Studio. - Porting too little may leave the current flow without a stable enough handshake.