Skip to content

[Engineering] Decentralize repository-owned agents and tooling - #10421

Closed
Aditya Pujara (a0x1ab) wants to merge 3 commits into
mainfrom
a0x1ab/repository-owned-agents-9b1d5c02
Closed

Aditya Pujara (a0x1ab) wants to merge 3 commits into
mainfrom
a0x1ab/repository-owned-agents-9b1d5c02

Conversation

@a0x1ab

@a0x1ab Aditya Pujara (a0x1ab) commented Oct 2, 2026 •

Copy link
Copy Markdown
Member

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.

@yonzhan

Copy link
Copy Markdown
Collaborator

Thank you for your contribution! We will review the pull request and get back to you soon.

@a0x1ab
Aditya Pujara (a0x1ab) marked this pull request as ready for review October 2, 2026 08:51
Copilot AI balanced review requested due to automatic review settings October 2, 2026 08:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 High severity · 4 Medium severity

Open (5)
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 thread .x/definitions/fixer.md
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 thread .x/x.yml Outdated
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
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
@a0x1ab
Aditya Pujara (a0x1ab) force-pushed the a0x1ab/repository-owned-agents-9b1d5c02 branch from 3c83938 to 8df916d Compare October 2, 2026 13:07
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
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.

3 participants