Add job execution view model#4470
Merged
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
e92366a to
2901269
Compare
This was referenced Jun 3, 2026
Contributor
There 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
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
TingluoHuang
reviewed
Jun 3, 2026
salmanmkc
reviewed
Jun 3, 2026
AllanGuigou
approved these changes
Jun 4, 2026
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.
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: