Skip to content

Add agentic-workflow infrastructure for code review and onboarding#66964

Draft
lewing wants to merge 5 commits into
dotnet:mainfrom
lewing:lewing/agentic-workflow-onboarding
Draft

Add agentic-workflow infrastructure for code review and onboarding#66964
lewing wants to merge 5 commits into
dotnet:mainfrom
lewing:lewing/agentic-workflow-onboarding

Conversation

@lewing
Copy link
Copy Markdown
Member

@lewing lewing commented Jun 1, 2026

This change adds a code-review surface, test-quality enforcement, self-improving guidance plumbing, and supporting infrastructure for agentic workflows in aspnetcore. Builds on patterns proven in other .NET org repos (runtime, msbuild, maui) and the cross-agent AGENTS.md convention.

Files added (16 plus PROPOSAL-README.md reviewer notes)

Cross-cutting infrastructure

  • .github/workflows/shared/pat_pool.md — shared PAT-pool import used by new agentic workflows (avoids duplicating the case() expression per workflow).
  • .github/workflows/shared/pat_pool.README.md — operator docs for the PAT pool.
  • .github/workflows/validate-pat-pool.yml — daily PAT health check that catches expired tokens before they break a real workflow.
  • .github/AGENTIC-WORKFLOWS.md — one-page rubric for adding new gh-aw workflows (tenets, required structure, references to public reference implementations).

Code-review surface (Blazor-aware)

  • .github/workflows/code-review.md — thin dispatcher workflow. On PR open or sync, routes to area-specific reviewer agents in parallel and aggregates findings into a single review submission.
  • .github/skills/code-review/SKILL.md — routing table + general aspnetcore conventions fallback for areas without a dedicated agent. Follows the skill-as-shim pattern: the skill is for discoverability; the agent is the source of truth for content.
  • .github/agents/blazor-expert-reviewer.agent.md — 12 principles
    • 12 review dimensions covering render-mode parity, pre-rendering
    • PersistentComponentState, trim/AOT safety, disposal contracts, JS interop discipline, public API surface, server-circuit thread safety, accessibility, localization, Razor source generator, and hot-reload determinism. Four-wave review process (Discover → Validate → Post → Summary) with proof-or-disprove validation before posting to minimize false positives. Severity ladder: BLOCKING / MAJOR / MODERATE / MINOR. Inline review comments for diff-line findings via create_pull_request_review_comment; design-level concerns via add_comment. Never APPROVE (the agent must not count as a PR approval).

Test-contract enforcement

  • .github/workflows/evaluate-pr-tests.md — slash-command (/evaluate-tests) and workflow_dispatch triggered. Pre-gates deterministically in bash on "no test files in diff = exit early" before the agent activates.
  • .github/skills/evaluate-pr-tests/SKILL.md — 8-dimension rubric for assessing whether tests added in a PR actually exercise the change. Includes Blazor-specific dimensions for render-mode coverage at the E2E level. Calls out the TestRenderer pattern (shared infra from src/Components/Shared/test/) as the canonical component-unit-test approach. Selenium is the incumbent E2E framework; prefer Playwright for new E2E projects (reference pattern in src/ProjectTemplates/test/Templates.Blazor.Tests/).
  • .github/skills/verify-tests-fail-without-fix/SKILL.md — reverts the production change in a PR, reruns the new tests, and verifies they fail. Strongest objective signal that a regression test exercises the bug it claims to fix.

Compatibility & breaking-change discipline

  • .github/skills/assessing-breaking-changes/SKILL.md — blast-radius checklist, deprecation protocol, decision framework. aspnetcore- specific: API review board (not ChangeWave); render-mode parity as a compat dimension; wire-compat considerations for SignalR / DataProtection / Antiforgery / Authentication / PersistentComponentState; WASM trim-safety + NativeAOT regression checks. The Warnings-as- Errors rule (new warnings break consumers that set true).

Self-improving guidance

  • .github/workflows/learn-from-pr.md — manual dispatch with apply: false (report only) or apply: true (open draft PR with applied guidance updates). allowed-files restricted to .github/.
  • .github/skills/learn-from-pr/SKILL.md — analysis pass: extract reusable lessons from a completed PR, classify them by destination (general copilot-instructions.md, per-area AGENTS.md, area instructions.md shim, skill enhancement, agent dimension addition), and prioritize High / Medium / Low.
  • .github/agents/learn-from-pr.agent.md — apply pass: takes the skill's High/Medium recommendations and opens a single draft PR with the matching edits.

Skill validation

  • .github/workflows/skill-validation.yml — validates skills and agents on every PR touching .github/skills/** or .github/agents/**. Downloads the skill-validator binary from dotnet/skills releases, caches daily, smart-filters to only validate changed skills.
  • .github/workflows/skill-validation-comment.yml — workflow_run- triggered companion that posts results as a PR comment. Safe for fork PRs (never checks out PR code).

Conventions adopted

Per-area guidance: AGENTS.md is the canonical destination Follows the cross-agent AGENTS.md convention (https://agents.md) already used in this repo at src/Components/AGENTS.md and eng/common/AGENTS.md. Closest-to-the-edited-file wins; works with Copilot, Claude Code, Cursor, Codex, and others. When Copilot needs to auto-load guidance via applyTo: glob, the

.github/instructions/.instructions.md shim delegates to the AGENTS.md (the existing aspnetcore pattern).

Test frameworks

  • Razor component unit logic uses the TestRenderer pattern from src/Components/Shared/test/, brought in via $(ComponentsSharedSourceRoot)test/**/*.cs. bUnit is not used in aspnetcore source.
  • Selenium is the incumbent E2E framework for components (src/Components/test/E2ETest/, imports $(SharedSourceRoot)E2ETesting/E2ETesting.props). For new E2E projects or surfaces, prefer Playwright (reference pattern in src/ProjectTemplates/test/Templates.Blazor.Tests/). Don't mix frameworks within an existing Selenium project.
  • Render-mode parity (Server / WASM / Auto) is proven at the E2E level — TestRenderer is in-process and does not model render modes.

Not included (intentional)

  • .lock.yml files for the new workflows — must be regenerated with 'gh aw compile' before push.
  • Changes to existing workflows (community-pr-issue-check, issue-triage-agent, cswin32-update, browsertesting-deps-update, test-quarantine) — kept stable; augmentation is a separate follow-up.
  • .github/copilot/settings.json and .github/copilot-instructions.md — kept stable; the learn-from-pr agent will extend the latter over time.
  • .github/agents/aspnetcore-expert-reviewer.agent.md for non-Blazor areas — left as forward-reference for the maintainer to author.

{PR title}

  • You've read the Contributor Guide and Code of Conduct.
  • You've included unit or integration tests for your change, where applicable.
  • You've included inline docs for your change, where applicable.
  • There's an open issue for the PR that you are making. If you'd like to propose a new feature or change, please open an issue to discuss the change or find an existing issue.

Summary of the changes (Less than 80 chars)

Description

{Detail}

Fixes #{bug number} (in this specific format)

Copilot AI review requested due to automatic review settings June 1, 2026 19:34
@lewing lewing requested review from a team and wtgodbe as code owners June 1, 2026 19:34
@lewing lewing marked this pull request as draft June 1, 2026 19:35
@github-actions github-actions Bot added the needs-area-label Used by the dotnet-issue-labeler to label those issues which couldn't be triaged automatically label Jun 1, 2026
Copy link
Copy Markdown
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

Adds new agentic-workflow infrastructure under .github/ to support automated code review, test-quality evaluation, guidance self-improvement, PAT-pool token selection, and validation of skills/agents.

Changes:

  • Introduces a shared Copilot PAT pool import + a scheduled PAT-health validation workflow.
  • Adds new gh-aw workflows/skills/agents for PR code review, PR test evaluation, and “learn from PR” guidance updates.
  • Adds CI workflows to validate skills/agents and post validation results back to PRs.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
PROPOSAL-README.md Proposal/operational notes for introducing agentic workflows and onboarding patterns.
.github/AGENTIC-WORKFLOWS.md Rubric/tenets and required structure for adding gh-aw workflows in this repo.
.github/workflows/shared/pat_pool.md Shared gh-aw import job that selects a random PAT index from a secret pool.
.github/workflows/shared/pat_pool.README.md Operator documentation for configuring and using the PAT pool import.
.github/workflows/validate-pat-pool.yml Daily check that verifies PAT pool entries can successfully run a Copilot CLI request.
.github/workflows/code-review.md New gh-aw PR-triggered dispatcher workflow that routes to area reviewer agents and aggregates results.
.github/skills/code-review/SKILL.md Dispatcher skill defining routing rules + general review conventions fallback.
.github/agents/blazor-expert-reviewer.agent.md Blazor/Razor/JSInterop-specific review agent with principles, dimensions, and posting process.
.github/workflows/evaluate-pr-tests.md New gh-aw slash-command/dispatch workflow to evaluate tests added/changed in a PR (with a bash pre-gate).
.github/skills/evaluate-pr-tests/SKILL.md Rubric for judging adequacy of tests in PRs (including Blazor-specific dimensions).
.github/skills/verify-tests-fail-without-fix/SKILL.md Skill guidance for validating new tests fail when the production fix is reverted.
.github/workflows/learn-from-pr.md New gh-aw workflow to analyze completed PRs and optionally open a draft PR with guidance updates.
.github/skills/learn-from-pr/SKILL.md Analysis-only skill to extract reusable lessons from completed PRs and recommend guidance updates.
.github/agents/learn-from-pr.agent.md Apply-mode agent that turns high/medium recommendations into a single draft PR updating guidance files.
.github/skills/assessing-breaking-changes/SKILL.md Checklist/decision framework for compatibility and breaking-change risk in aspnetcore (with Blazor specifics).
.github/workflows/skill-validation.yml Validates changed skills/agents on PRs (and all on push) using skill-validator from dotnet/skills nightly.
.github/workflows/skill-validation-comment.yml workflow_run companion that posts/updates a PR comment summarizing skill-validator results.

Comment thread .github/workflows/code-review.md
Comment thread .github/workflows/evaluate-pr-tests.md
Comment thread .github/workflows/learn-from-pr.md
Comment thread .github/workflows/evaluate-pr-tests.md
Comment thread .github/workflows/evaluate-pr-tests.md
Comment on lines +1 to +5
---
description: Evaluates test quality, coverage, and appropriateness on PRs that add or modify tests in dotnet/aspnetcore
on:
slash_command:
name: evaluate-tests
Comment on lines +1 to +6
---
description: "Analyze a completed PR for lessons learned about codebase conventions, agent failures, and reusable patterns. Use to keep .github/instructions/ and agentic guidance current as the codebase and contributor pool evolves."
on:
workflow_dispatch:
inputs:
pr_number:
Comment on lines +84 to +87
if [ "$STATE" != "OPEN" ]; then
echo "⏭️ PR #$PR_NUMBER is $STATE — skipping evaluation."
exit 1
fi
Comment on lines +105 to +108
if [ -z "$TEST_FILES" ]; then
echo "⏭️ No test source files (.cs/.razor) found in PR diff. Nothing to evaluate."
exit 1
fi
Comment on lines +222 to +225
if [ $valid -eq 0 ]; then
echo "::error::The PAT pool is empty — no PATs are available"
exit 1
fi
@lewing lewing force-pushed the lewing/agentic-workflow-onboarding branch from cc00e83 to 941f05a Compare June 1, 2026 19:42
@github-actions github-actions Bot added area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework and removed needs-area-label Used by the dotnet-issue-labeler to label those issues which couldn't be triaged automatically labels Jun 1, 2026
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

Hey @dotnet/aspnet-build, looks like this PR is something you want to take a look at.

lewing added a commit to lewing/aspnetcore that referenced this pull request Jun 5, 2026
Six unique findings from the Copilot reviewer (each posted twice across
two review passes):

1-3. Missing .lock.yml files for code-review, evaluate-pr-tests, learn-from-pr
     → Compiled via 'gh aw compile'. Lock files + .github/aw/actions-lock.json
       delta now included.

4-5. evaluate-pr-tests.md gate exits 1 for legitimate skip cases (PR not OPEN;
     no test files in diff), causing the workflow run to show as failed.
     → Changed to 'exit 0' with ::notice:: emission. The downstream agent
       still activates and calls 'noop' when there's no work — one wasted
       activation per skip is acceptable cost to avoid false CI failures.
       Genuine infra failures (gh API errors) still exit 1.

6.   validate-pat-pool.yml summary text said empty pool would 'fall back to
     COPILOT_GITHUB_TOKEN' but the workflow exits 1 on empty pool.
     → Reworded the empty-pool summary to acknowledge both behaviors:
       runtime falls back (correctly), but the validator surfaces empty as a
       failure to prompt operators to seed the pool. Kept exit 1 — alerting
       on empty pool is the desired behavior.

Additional fixes uncovered by compilation:

- learn-from-pr.md: dropped 'imports: shared/pat_pool.md' and the engine
  PAT-pool case() expression. The shared pat_pool job needs a pre_activation
  job that workflow_dispatch-only triggers don't auto-generate. learn-from-pr
  is manually invoked, so default COPILOT_GITHUB_TOKEN is fine (same pattern
  as cswin32-update.md).

- evaluate-pr-tests.md: changed workflow_dispatch input pr_number from
  'required: true' to 'required: false' — slash_command triggers can't
  enforce required manual inputs (gh aw compile rejects this combination).

- evaluate-pr-tests.md: removed 'bots: copilot-swe-agent[bot]' — gh aw warns
  that bots + slash_command can cause a bot's comment starting with the
  command to occupy the concurrency slot, blocking manual invocations.

SKILL.md improvements (informed by simulating the workflow against real
recently-opened PRs):

- evaluate-pr-tests/SKILL.md: added dimension D0 (Substantive value), weighted
  highest. The rubric was rewarding tests that score well on style/convention
  even when they duplicated pre-existing coverage or asserted non-existent
  invariants. D0 leads the evaluation with 'what does this test exercise that
  wasn't covered before, and does the assertion match the source?'

- Added an 'Assertion fabrication' check explicitly: agents must trace
  assertions back to the production source line(s) and verify the relationship
  before scoring D4 ✅. Documents four common failure modes (cargo-cult
  invariant, convenient enumeration, tautology, self-referential setup) at
  severity 🚩 above ⚠️.

- Added 'Coverage-burst pattern recognition' for multi-author 'improve test
  coverage' waves common with new-contributor onboarding bursts: extra
  scrutiny to D0, look for 'ISSUE #N FIX' comments, don't let headline test
  counts overstate real coverage gain, calibrate tone direct rather than
  encouraging.

- Added dimension D9 (Consolidation opportunities) — recognize when 5+
  near-identical [Fact] tests differing only in input value should be one
  [Theory] with [InlineData] rows. Surfaced as the headline finding on a real
  simulated PR (PR dotnet#67019, InputDate) where 14 tests collapse cleanly to 2.

- Step 1 now explicitly requires fetching the pre-existing version of each
  changed test file (via merge-base) for duplicate detection, and fetching
  the production source for assertion-fabrication checks.
lewing and others added 2 commits June 4, 2026 21:18
This change adds a code-review surface, test-quality enforcement,
self-improving guidance plumbing, and supporting infrastructure for
agentic workflows in aspnetcore. Builds on patterns proven in other
.NET org repos (runtime, msbuild, maui) and the cross-agent AGENTS.md
convention.

## Files added (16 plus PROPOSAL-README.md reviewer notes)

### Cross-cutting infrastructure
- .github/workflows/shared/pat_pool.md — shared PAT-pool import used
  by new agentic workflows (avoids duplicating the case() expression
  per workflow).
- .github/workflows/shared/pat_pool.README.md — operator docs for
  the PAT pool.
- .github/workflows/validate-pat-pool.yml — daily PAT health check
  that catches expired tokens before they break a real workflow.
- .github/AGENTIC-WORKFLOWS.md — one-page rubric for adding new
  gh-aw workflows (tenets, required structure, references to public
  reference implementations).

### Code-review surface (Blazor-aware)
- .github/workflows/code-review.md — thin dispatcher workflow. On
  PR open or sync, routes to area-specific reviewer agents in
  parallel and aggregates findings into a single review submission.
- .github/skills/code-review/SKILL.md — routing table + general
  aspnetcore conventions fallback for areas without a dedicated
  agent. Follows the skill-as-shim pattern: the skill is for
  discoverability; the agent is the source of truth for content.
- .github/agents/blazor-expert-reviewer.agent.md — 12 principles
  + 12 review dimensions covering render-mode parity, pre-rendering
  + PersistentComponentState, trim/AOT safety, disposal contracts,
  JS interop discipline, public API surface, server-circuit
  thread safety, accessibility, localization, Razor source
  generator, and hot-reload determinism. Four-wave review process
  (Discover → Validate → Post → Summary) with proof-or-disprove
  validation before posting to minimize false positives. Severity
  ladder: BLOCKING / MAJOR / MODERATE / MINOR. Inline review
  comments for diff-line findings via create_pull_request_review_comment;
  design-level concerns via add_comment. Never APPROVE (the agent
  must not count as a PR approval).

### Test-contract enforcement
- .github/workflows/evaluate-pr-tests.md — slash-command (/evaluate-tests)
  and workflow_dispatch triggered. Pre-gates deterministically in bash
  on "no test files in diff = exit early" before the agent activates.
- .github/skills/evaluate-pr-tests/SKILL.md — 8-dimension rubric for
  assessing whether tests added in a PR actually exercise the change.
  Includes Blazor-specific dimensions for render-mode coverage at the
  E2E level. Calls out the TestRenderer pattern (shared infra from
  src/Components/Shared/test/) as the canonical component-unit-test
  approach. Selenium is the incumbent E2E framework; prefer Playwright
  for new E2E projects (reference pattern in
  src/ProjectTemplates/test/Templates.Blazor.Tests/).
- .github/skills/verify-tests-fail-without-fix/SKILL.md — reverts the
  production change in a PR, reruns the new tests, and verifies they
  fail. Strongest objective signal that a regression test exercises
  the bug it claims to fix.

### Compatibility & breaking-change discipline
- .github/skills/assessing-breaking-changes/SKILL.md — blast-radius
  checklist, deprecation protocol, decision framework. aspnetcore-
  specific: API review board (not ChangeWave); render-mode parity as
  a compat dimension; wire-compat considerations for SignalR /
  DataProtection / Antiforgery / Authentication / PersistentComponentState;
  WASM trim-safety + NativeAOT regression checks. The Warnings-as-
  Errors rule (new warnings break consumers that set
  <TreatWarningsAsErrors>true</TreatWarningsAsErrors>).

### Self-improving guidance
- .github/workflows/learn-from-pr.md — manual dispatch with apply:
  false (report only) or apply: true (open draft PR with applied
  guidance updates). allowed-files restricted to .github/.
- .github/skills/learn-from-pr/SKILL.md — analysis pass: extract
  reusable lessons from a completed PR, classify them by destination
  (general copilot-instructions.md, per-area AGENTS.md, area
  instructions.md shim, skill enhancement, agent dimension addition),
  and prioritize High / Medium / Low.
- .github/agents/learn-from-pr.agent.md — apply pass: takes the
  skill's High/Medium recommendations and opens a single draft PR
  with the matching edits.

### Skill validation
- .github/workflows/skill-validation.yml — validates skills and
  agents on every PR touching .github/skills/** or .github/agents/**.
  Downloads the skill-validator binary from dotnet/skills releases,
  caches daily, smart-filters to only validate changed skills.
- .github/workflows/skill-validation-comment.yml — workflow_run-
  triggered companion that posts results as a PR comment. Safe for
  fork PRs (never checks out PR code).

## Conventions adopted

### Per-area guidance: AGENTS.md is the canonical destination
Follows the cross-agent AGENTS.md convention (https://agents.md)
already used in this repo at src/Components/AGENTS.md and
eng/common/AGENTS.md. Closest-to-the-edited-file wins; works with
Copilot, Claude Code, Cursor, Codex, and others. When Copilot needs
to auto-load guidance via applyTo: glob, the
.github/instructions/<area>.instructions.md shim delegates to the
AGENTS.md (the existing aspnetcore pattern).

### Test frameworks
- Razor component unit logic uses the TestRenderer pattern from
  src/Components/Shared/test/, brought in via
  $(ComponentsSharedSourceRoot)test/**/*.cs. bUnit is not used in
  aspnetcore source.
- Selenium is the incumbent E2E framework for components
  (src/Components/test/E2ETest/, imports
  $(SharedSourceRoot)E2ETesting/E2ETesting.props). For new E2E
  projects or surfaces, prefer Playwright (reference pattern in
  src/ProjectTemplates/test/Templates.Blazor.Tests/). Don't mix
  frameworks within an existing Selenium project.
- Render-mode parity (Server / WASM / Auto) is proven at the E2E
  level — TestRenderer is in-process and does not model render modes.

## Not included (intentional)

- .lock.yml files for the new workflows — must be regenerated with
  'gh aw compile' before push.
- Changes to existing workflows (community-pr-issue-check,
  issue-triage-agent, cswin32-update, browsertesting-deps-update,
  test-quarantine) — kept stable; augmentation is a separate follow-up.
- .github/copilot/settings.json and .github/copilot-instructions.md
  — kept stable; the learn-from-pr agent will extend the latter over
  time.
- .github/agents/aspnetcore-expert-reviewer.agent.md for non-Blazor
  areas — left as forward-reference for the maintainer to author.

## See PROPOSAL-README.md for reviewer notes including open questions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Six unique findings from the Copilot reviewer (each posted twice across
two review passes):

1-3. Missing .lock.yml files for code-review, evaluate-pr-tests, learn-from-pr
     → Compiled via 'gh aw compile'. Lock files + .github/aw/actions-lock.json
       delta now included.

4-5. evaluate-pr-tests.md gate exits 1 for legitimate skip cases (PR not OPEN;
     no test files in diff), causing the workflow run to show as failed.
     → Changed to 'exit 0' with ::notice:: emission. The downstream agent
       still activates and calls 'noop' when there's no work — one wasted
       activation per skip is acceptable cost to avoid false CI failures.
       Genuine infra failures (gh API errors) still exit 1.

6.   validate-pat-pool.yml summary text said empty pool would 'fall back to
     COPILOT_GITHUB_TOKEN' but the workflow exits 1 on empty pool.
     → Reworded the empty-pool summary to acknowledge both behaviors:
       runtime falls back (correctly), but the validator surfaces empty as a
       failure to prompt operators to seed the pool. Kept exit 1 — alerting
       on empty pool is the desired behavior.

Additional fixes uncovered by compilation:

- learn-from-pr.md: dropped 'imports: shared/pat_pool.md' and the engine
  PAT-pool case() expression. The shared pat_pool job needs a pre_activation
  job that workflow_dispatch-only triggers don't auto-generate. learn-from-pr
  is manually invoked, so default COPILOT_GITHUB_TOKEN is fine (same pattern
  as cswin32-update.md).

- evaluate-pr-tests.md: changed workflow_dispatch input pr_number from
  'required: true' to 'required: false' — slash_command triggers can't
  enforce required manual inputs (gh aw compile rejects this combination).

- evaluate-pr-tests.md: removed 'bots: copilot-swe-agent[bot]' — gh aw warns
  that bots + slash_command can cause a bot's comment starting with the
  command to occupy the concurrency slot, blocking manual invocations.

SKILL.md improvements (informed by simulating the workflow against real
recently-opened PRs):

- evaluate-pr-tests/SKILL.md: added dimension D0 (Substantive value), weighted
  highest. The rubric was rewarding tests that score well on style/convention
  even when they duplicated pre-existing coverage or asserted non-existent
  invariants. D0 leads the evaluation with 'what does this test exercise that
  wasn't covered before, and does the assertion match the source?'

- Added an 'Assertion fabrication' check explicitly: agents must trace
  assertions back to the production source line(s) and verify the relationship
  before scoring D4 ✅. Documents four common failure modes (cargo-cult
  invariant, convenient enumeration, tautology, self-referential setup) at
  severity 🚩 above ⚠️.

- Added 'Coverage-burst pattern recognition' for multi-author 'improve test
  coverage' waves common with new-contributor onboarding bursts: extra
  scrutiny to D0, look for 'ISSUE #N FIX' comments, don't let headline test
  counts overstate real coverage gain, calibrate tone direct rather than
  encouraging.

- Added dimension D9 (Consolidation opportunities) — recognize when 5+
  near-identical [Fact] tests differing only in input value should be one
  [Theory] with [InlineData] rows. Surfaced as the headline finding on a real
  simulated PR (PR dotnet#67019, InputDate) where 14 tests collapse cleanly to 2.

- Step 1 now explicitly requires fetching the pre-existing version of each
  changed test file (via merge-base) for duplicate detection, and fetching
  the production source for assertion-fabrication checks.
Copy link
Copy Markdown
Member

@javiercn javiercn left a comment

Choose a reason for hiding this comment

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

Some initial comments

Comment thread .github/agents/blazor-expert-reviewer.agent.md Outdated
Comment thread .github/agents/blazor-expert-reviewer.agent.md Outdated
Comment thread .github/agents/blazor-expert-reviewer.agent.md Outdated
Comment thread .github/agents/blazor-expert-reviewer.agent.md Outdated
Comment thread .github/agents/blazor-expert-reviewer.agent.md Outdated
Comment thread .github/agents/blazor-expert-reviewer.agent.md Outdated
Comment thread .github/agents/blazor-expert-reviewer.agent.md Outdated
Comment thread .github/agents/blazor-expert-reviewer.agent.md Outdated
Comment thread .github/agents/blazor-expert-reviewer.agent.md Outdated
Comment thread .github/agents/blazor-expert-reviewer.agent.md Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants