Uh oh!
There was an error while loading. Please reload this page.
Add job execution view model - #4470
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
e92366a to
2901269CompareThere was a problem hiding this comment.
Pull request overview
Introduces an internal JobExecutionView model under Runner.Worker.Dap to render a stable synthetic “job execution” YAML-like source (with deterministic line numbers) that the DAP debugger can later serve and map stack frames/pauses back onto. This is the rendering/model half of the planned 2-part change, with focused L0 tests validating the output shape and line mapping invariants.
Changes:
- Add
JobExecutionViewrenderer that splits steps intopre/main/post, supports predicted post steps, and tracks per-step line numbers plus a synthetic “Complete job” line. - Add L0 tests covering section rendering, predicted post-step claiming without line shifts, and “Complete job” name collision behavior.
- Normalize
InternalsVisibleTo.csfile header/encoding (no functional behavior change).
Show a summary per file
| File | Description |
|---|---|
| src/Runner.Worker/Dap/JobExecutionView.cs | New typed model that renders the synthetic execution view and preserves step→line mappings for later DAP source/stack mapping. |
| src/Test/L0/Worker/JobExecutionViewL0.cs | New L0 tests asserting rendered content and stable line assignments, including predicted post-step claiming behavior. |
| src/Runner.Worker/InternalsVisibleTo.cs | Minor file header/encoding change; no behavioral impact. |
Copilot's findings
- Files reviewed: 3/3 changed files
- Comments generated: 3
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Part 1 of 2 of adding a job execution view for the DAP debugger. Followed by #4471.
This PR introduces a typed
JobExecutionViewmodel so we can define and review the rendered job view separately from the debugger plumbing that will serve it.The reason for splitting it this way is that the view has its own behavior and invariants:
Complete jobrow consistentlyPutting that behavior behind a dedicated type keeps the follow-up DAP integration PR much smaller and lets us validate the output shape directly in focused tests.
Example rendered job view: