Repository navigation
[Engineering] Decentralize repository-owned agents and tooling - #10421
Closed
Aditya Pujara (a0x1ab) wants to merge 3 commits into
Closed
Aditya Pujara (a0x1ab) wants to merge 3 commits into
Aditya Pujara (a0x1ab) wants to merge 3 commits into
Conversation
Collaborator
|
Thank you for your contribution! We will review the pull request and get back to you soon. |
Contributor
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The coordinated migration remains draft-only and has unresolved role access, extension coverage, provenance, and integration-safety issues.
Review effort: Balanced
Findings: 1
Open (5)
Unscoped source PR matching bypasses AAZ provenance checks · New No eligible intake path for extension issues · New Risk evidence excludes workflow and dependency file changes · New Extension changes bypass regression coverage checks · New Reviewer lacks required regression coverage tool access · New
What changed in this PR
Migrates agent definitions and tooling into the canonical repository-owned package layout while retaining central orchestration and validation boundaries.
Changes:
- Adds repository-owned agent definitions, review/fix/test tools, and manifest configuration.
- Adds deterministic validation tooling and pinned dependencies.
- Removes legacy charters and forwarding skill stubs.
| File | Description |
|---|---|
.x/x.yml |
Defines package profile, tools, files, and dependencies. |
.x/README.md |
Documents package ownership and validation. |
.x/migration-provenance.json |
Records migration sources and digests. |
.x/definitions/coordinator.md |
Adds scoped Coordinator definition. |
.x/definitions/fixer.md |
Adds comprehensive Fixer workflow. |
.x/definitions/tester.md |
Adds live-test orchestration guidance. |
.x/definitions/reviewer.md |
Adds combined CI and review workflow. |
.x/tools/settings.py |
Centralizes repository domain patterns. |
.x/tools/validation/checks.py |
Implements repository validation. |
.x/tools/validation/assets/CSharpSyntax.csproj |
Defines the C# syntax validator. |
.x/tools/validation/assets/Program.cs |
Implements C# syntax checking. |
.x/tools/validation/assets/Validate-PowerShell.ps1 |
Implements PowerShell validation. |
.x/tools/tester/azure_cli/live_tests.py |
Implements test and coverage evidence collection. |
.x/tools/reviewer/policy/analysis.py |
Implements review policy and risk analysis. |
.x/tools/reviewer/azure_cli/review.py |
Implements CLI release-review rules. |
.x/tools/reviewer/azure_cli/failures.py |
Classifies pytest failures by scope. |
.x/tools/fixer/title_gate/title_repair.py |
Implements deterministic title repair. |
.x/tools/fixer/formatting/guidance.py |
Generates PR formatting guidance. |
.x/tools/fixer/azure_cli/targets.py |
Resolves CLI modules and extensions. |
.x/tools/fixer/azure_cli/routing.py |
Implements cross-repository issue routing. |
.x/tools/fixer/azure_cli/guidance.py |
Provides AAZ code-generation guidance. |
.x/tools/fixer/azure_cli/aaz.py |
Implements durable AAZ source operations. |
.x/coordinator.md |
Removes the legacy Coordinator charter. |
.x/fixer.md |
Removes the legacy Fixer charter. |
.x/tester.md |
Removes the legacy Tester charter. |
.x/reviewer.md |
Removes the legacy Reviewer charter. |
.x/skills/start_aaz_source_task.py |
Removes the forwarding source-task stub. |
.x/skills/promote_aaz_fork_pr.py |
Removes the forwarding promotion stub. |
.x/skills/infer_target_for_repo.py |
Removes legacy target inference. |
.x/skills/get_pr_regression_coverage_summary.py |
Removes legacy coverage analysis. |
.x/skills/find_promoted_aaz_source_pr.py |
Removes legacy source-PR lookup. |
.x/skills/find_aaz_fork_prs_ready_for_promotion.py |
Removes legacy promotion discovery. |
.x/skills/changed_test_files.py |
Removes legacy test-file selection. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+174
to
+176
| if generation_source_prs is None: | ||
| linked_generation_source = bool(_GENERATION_SOURCE_PR.search(str((pr or {}).get('body') or ''))) | ||
| linked_aaz_source = linked_generation_source |
Comment on lines
+74
to
+83
| Given a bug issue selected by Priority 2 of the loop — on `Azure/azure-cli` **or** | ||
| `Azure/azure-powershell` - or a confirmed Azclips bug handoff from | ||
| `azclips_triager`. I read the issue's repo | ||
| from the candidate and adapt routing and PR conventions to it via | ||
| `get_profile(repo_full)` and `infer_target_for_repo(repo_full, ...)`: | ||
|
|
||
| Reject other repositories, including analysis-only | ||
| `Azure/terraform-provider-azapi`. For `Azure/azclips`, accept only a | ||
| sufficiently specified bug handoff from `azclips_triager`, never a direct | ||
| issue candidate. |
| added = sum((int(change.get('additions') or 0) for change in changes)) | ||
| deleted = sum((int(change.get('deletions') or 0) for change in changes)) | ||
| changed_lines = added + deleted | ||
| evidence = '\n'.join(('\n'.join([change['filename'], *[text for _, text in _review_added_lines(change)][:100]]) for change in production_changes)) |
Comment on lines
+214
to
+228
| if repo_full != "Azure/azure-cli": | ||
| return { | ||
| "applicable": False, | ||
| "gap": False, | ||
| "modules": [], | ||
| "uncovered_modules": [], | ||
| "production_files": [], | ||
| "test_files": [], | ||
| "recording_files": [], | ||
| "scenario_status": "not_applicable", | ||
| "scenario_evidence": [], | ||
| "issue_evidence": [], | ||
| "issue_evidence_status": "not_applicable", | ||
| "review_feedback": [], | ||
| } |
Comment on lines
+95
to
+98
| tester.azure_cli.live_tests:get_pr_regression_coverage_summary: | ||
| role: Tester | ||
| entry_point: tools/tester/azure_cli/live_tests.py:get_pr_regression_coverage_summary | ||
| public: true |
Yong Zhang (yonzhan)
requested review from
Yu Chen (jsntcy) and
ZelinWang (wangzelin007)
October 2, 2026 11:17
Preserve all agents, domain functions, durable job pins and execution safeguards. Declare tool modules once, keep generic language validation central, and retain old package formats for recorded jobs. Activation remains disabled; no merge or deployment. Copilot-Session: 9b1d5c02-4be1-4677-ac69-1046a5632dbc
Aditya Pujara (a0x1ab)
force-pushed
the
a0x1ab/repository-owned-agents-9b1d5c02
branch
from
October 2, 2026 13:07
3c83938 to
8df916d
Compare
Remove duplicated agent, tool, function and file inventories. Preserve repository workflow settings in profile.yml, all definitions and domain implementations, and optional exact Python dependency pins. Copilot-Session: 9b1d5c02-4be1-4677-ac69-1046a5632dbc
Keep common fields in the same order and retain optional feature fields without changing configuration or tooling. Copilot-Session: 9b1d5c02-4be1-4677-ac69-1046a5632dbc
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.


Repository-owned agents and tooling
Own Coordinator, Fixer, Tester and Reviewer definitions under
.x/definitions/, with complete domain tooling under.x/tools/. Agents and tools are discovered automatically.