Skip to content

Configure agentic workflow for new crashes report#2783

Open
gabritto wants to merge 2 commits intomainfrom
gabritto/aw-crashes
Open

Configure agentic workflow for new crashes report#2783
gabritto wants to merge 2 commits intomainfrom
gabritto/aw-crashes

Conversation

@gabritto
Copy link
Member

I want to set up a workflow so that every new errors report from typescript-bot also gets a summary of the reported errors vs existing issues, like this: #2778 (comment).
Not entirely sure if this will work since agentic workflows are new.

Copilot AI review requested due to automatic review settings February 13, 2026 19:31
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR configures an automated triage workflow for server crash reports. The workflow uses GitHub's agentic workflow framework to automatically analyze crash reports filed by typescript-bot and match them against existing issues in the repository.

Changes:

  • Adds a new agentic workflow that triggers when issues are opened, specifically targeting crash reports from typescript-bot
  • The workflow reads crash signatures from issue comments and searches for matching open issues
  • Produces a summary comment linking crashes to potentially related existing issues

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
.github/workflows/server-errors-crash-triage.md Workflow definition specifying the agent's task: verify issue criteria, gather crash data from comments, search for matching issues, and produce a summary comment
.github/workflows/server-errors-crash-triage.lock.yml Auto-generated compiled workflow (1011 lines) containing the full GitHub Actions configuration with security controls, MCP servers, and safe outputs
.github/aw/actions-lock.json Locks action versions for reproducibility (actions/github-script@v8 and gh-aw/actions/setup@v0.43.20)
.gitattributes Marks .lock.yml files as linguist-generated and sets merge strategy to 'ours' for auto-generated files

1. The issue title starts with `[ServerErrors][TypeScript]`.
2. The issue was opened by the user `typescript-bot`.

If **either** condition is not met, call the `noop` safe output with the message: "Issue does not match criteria (must be opened by typescript-bot with title starting with [ServerErrors][TypeScript])." and stop.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If **either** condition is not met, call the `noop` safe output with the message: "Issue does not match criteria (must be opened by typescript-bot with title starting with [ServerErrors][TypeScript])." and stop.
If **either** condition is not met, call the `noop` safe output with the message: "Issue does not match criteria (must be opened by typescript-bot with title starting with `[ServerErrors][TypeScript]`)." and stop.


1. Read the issue body for summary information.
2. Read **all comments** on the issue. Each comment from `typescript-bot` contains one or more crash reports. Each crash report includes:
- An error heading (e.g., `Server exited prematurely with code unknown and signal SIGABRT`).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is pretty specific to something harder to diagnose - maybe add another example as well?

- A list of affected repos, each inside a `<details>` block with:
- A link to the affected repository.
- Raw error text artifact references.
- The last few tsserver requests (JSON).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- The last few tsserver requests (JSON).
- The last few LSP requests (JSON).


Before doing any work, verify **both** of the following:

1. The issue title starts with `[ServerErrors][TypeScript]`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe

Suggested change
1. The issue title starts with `[ServerErrors][TypeScript]`.
1. The issue title starts with `[ServerErrors]`.

?

Be sure to update the below as well if you do this

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think my thinking here is that in the future we'll likely run this for JavaScript as well, so those issues would be titled [ServerErrors][JavaScript]


### Step 4: Produce Summary Comment

Create a single summary comment on the issue using the `add-comment` safe output. The comment should be formatted as follows:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Create a single summary comment on the issue using the `add-comment` safe output. The comment should be formatted as follows:
Create a single summary comment on the original report's issue using the `add-comment` safe output. The comment should be formatted as follows:


| Crash Signature | Affected Repos | Matching Issues | Created Issue |
|----------------|----------------|-----------------|---------------|
| <error heading> | repo1, repo2, ... | #123, #456 or "No matching issues found" | #789 or "-" |
Copy link
Member

@DanielRosenwasser DanielRosenwasser Feb 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem with using markdown here is that these placeholders will appear incorrectly when rendered

Maybe

Suggested change
| <error heading> | repo1, repo2, ... | #123, #456 or "No matching issues found" | #789 or "-" |
| \[error heading] | [repo1](link-to-repo1), [repo2](link-to-repo2), ... | #123, #456 or "No matching issues found" | #789 or "None" |

Or maybe it's fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments