Repository navigation
feat(utilities): add reviewed regional fallback for Discovery - #264
Edwin Zhang (EdwinDigital) wants to merge 1 commit into
Conversation
| @@ -0,0 +1,5 @@ | |||
| out/ | |||
There was a problem hiding this comment.
[POL-021] @EdwinDigital is classified as a contributor with repository permission 'read'. Public contributors may modify catalog content and documentation. Microsoft organization members may contribute to any repository path, subject to correctness validation and normal GitHub review protections. Remove this file from the PR or ask a Microsoft organization member or repository maintainer to author the change.
How to fix: Correct the issue described above, then push the fix to rerun validation.
| @@ -0,0 +1,268 @@ | |||
| """Read-only regional evidence; quota, offerings and physical capacity are distinct.""" | |||
There was a problem hiding this comment.
[POL-021] @EdwinDigital is classified as a contributor with repository permission 'read'. Public contributors may modify catalog content and documentation. Microsoft organization members may contribute to any repository path, subject to correctness validation and normal GitHub review protections. Remove this file from the PR or ask a Microsoft organization member or repository maintainer to author the change.
How to fix: Correct the issue described above, then push the fix to rerun validation.
| @@ -0,0 +1,47 @@ | |||
| #!/usr/bin/env python3 | |||
There was a problem hiding this comment.
[POL-021] @EdwinDigital is classified as a contributor with repository permission 'read'. Public contributors may modify catalog content and documentation. Microsoft organization members may contribute to any repository path, subject to correctness validation and normal GitHub review protections. Remove this file from the PR or ask a Microsoft organization member or repository maintainer to author the change.
How to fix: Correct the issue described above, then push the fix to rerun validation.
| @@ -0,0 +1,649 @@ | |||
| #!/usr/bin/env python3 | |||
There was a problem hiding this comment.
[POL-021] @EdwinDigital is classified as a contributor with repository permission 'read'. Public contributors may modify catalog content and documentation. Microsoft organization members may contribute to any repository path, subject to correctness validation and normal GitHub review protections. Remove this file from the PR or ask a Microsoft organization member or repository maintainer to author the change.
How to fix: Correct the issue described above, then push the fix to rerun validation.
| @@ -0,0 +1,147 @@ | |||
| #!/usr/bin/env python3 | |||
There was a problem hiding this comment.
[POL-021] @EdwinDigital is classified as a contributor with repository permission 'read'. Public contributors may modify catalog content and documentation. Microsoft organization members may contribute to any repository path, subject to correctness validation and normal GitHub review protections. Remove this file from the PR or ask a Microsoft organization member or repository maintainer to author the change.
How to fix: Correct the issue described above, then push the fix to rerun validation.
| @@ -0,0 +1,90 @@ | |||
| import argparse | |||
There was a problem hiding this comment.
[POL-021] @EdwinDigital is classified as a contributor with repository permission 'read'. Public contributors may modify catalog content and documentation. Microsoft organization members may contribute to any repository path, subject to correctness validation and normal GitHub review protections. Remove this file from the PR or ask a Microsoft organization member or repository maintainer to author the change.
How to fix: Correct the issue described above, then push the fix to rerun validation.
| @@ -0,0 +1,169 @@ | |||
| import copy | |||
There was a problem hiding this comment.
[POL-021] @EdwinDigital is classified as a contributor with repository permission 'read'. Public contributors may modify catalog content and documentation. Microsoft organization members may contribute to any repository path, subject to correctness validation and normal GitHub review protections. Remove this file from the PR or ask a Microsoft organization member or repository maintainer to author the change.
How to fix: Correct the issue described above, then push the fix to rerun validation.
| @@ -0,0 +1,202 @@ | |||
| import argparse | |||
There was a problem hiding this comment.
[POL-021] @EdwinDigital is classified as a contributor with repository permission 'read'. Public contributors may modify catalog content and documentation. Microsoft organization members may contribute to any repository path, subject to correctness validation and normal GitHub review protections. Remove this file from the PR or ask a Microsoft organization member or repository maintainer to author the change.
How to fix: Correct the issue described above, then push the fix to rerun validation.
| @@ -0,0 +1,153 @@ | |||
| from datetime import datetime, timezone | |||
There was a problem hiding this comment.
[POL-021] @EdwinDigital is classified as a contributor with repository permission 'read'. Public contributors may modify catalog content and documentation. Microsoft organization members may contribute to any repository path, subject to correctness validation and normal GitHub review protections. Remove this file from the PR or ask a Microsoft organization member or repository maintainer to author the change.
How to fix: Correct the issue described above, then push the fix to rerun validation.
| @@ -0,0 +1,333 @@ | |||
| #!/usr/bin/env python3 | |||
There was a problem hiding this comment.
[POL-021] @EdwinDigital is classified as a contributor with repository permission 'read'. Public contributors may modify catalog content and documentation. Microsoft organization members may contribute to any repository path, subject to correctness validation and normal GitHub review protections. Remove this file from the PR or ask a Microsoft organization member or repository maintainer to author the change.
How to fix: Correct the issue described above, then push the fix to rerun validation.
Automated Check ResultsSource validation run for commit
Push a fix to rerun validation. Required checks, not these diagnostic labels, determine merge eligibility. CODEOWNERS review requirements still apply. |
Summary
Add an opt-in, self-contained Python standard-library / Azure CLI / Bicep utility under
utilities/regional-deployment/for quota/capacity-aware regional planning and explicitly reviewed Discovery deployment.--applyfor writes. Keep a three-resource workspace-core continuation instead of replaying a completed network.Problem and boundaries
A default region can advertise a service while actual allocation lacks capacity, or have a genuine quota deficit. A whole-stack retry can duplicate healthy compute/storage or overwrite existing networking. Discovery's control-plane placement and managed dependency placement must also be kept distinct.
This utility offers a reviewed alternative; it does not modify the default five-stage PowerShell flow, silently select/move resources, or invent an independent Search-region/ID field. Search/Foundry/Cosmos move as the Workspace managed unit. Retained-compute quota/AKS errors are not misrepresented as fixable by moving only Workspace. Healthy/in-progress source workspaces and conflicting compute ownership block reuse. New Project creation reuses output storage, not old agents/conversations/Workbench state.
Type of change
agents/<name>/)starter-kits/<name>/)docs/schemas/**).github/**)Related issue / tracking
Complements #262, which fixes the existing PowerShell onboarding region gates. This is an independent feature branch from upstream main; it does not duplicate #262's changes or depend on its new helper. No upstream Issue is linked because GitHub Issues are disabled for this repository.
Per the contribution guide, maintainer feedback on an executable utility's interface, operational boundaries and supported region contract is requested before merge. No prior maintainer agreement is claimed.
Schema impact
breaking-changelabel and link the rollout plan belowThe optional utility has its own generated config/parameter pair, not the Stage 1 config format. Existing required fields/defaults and the five-stage PowerShell implementation are unchanged. Bicep uses the published
2026-06-01Discovery resource contract and managed-region override.Validation checklist
README.md, schemas) is updated to match the change..auto-registry/**(it is generated post-merge)..DS_Store,.env,*.swp,.idea/,.vs/, etc.).Validation performed
59self-contained Python tests passed. The test runner blocks external commands during unit execution, so test fixtures cannot accidentally call Azure.git diff --check, added/local README link checks and Bash command-block syntax checks. A full-repository/external-URL crawl was not performed.Reproduce local validation without Azure credentials:
python3 utilities/regional-deployment/check.py # Python-only tests if Azure CLI/Bicep is not installed: python3 utilities/regional-deployment/check.py --skip-bicepReviewer notes (optional)
This is opt-in infrastructure tooling, not a claim of end-to-end cloud certification. Actual ARM Provider validation/what-if, region-specific policies, role propagation, all service-selected backing capacity, private client routing/DNS and scientific workloads still require controlled live validation. A prior related mixed-region deployment informed the preservation pattern; it was not a complete new-environment run of this utility.
Recommendations are not capacity reservations. Fresh mode adds a new stack while retaining partial source resources and their potential charges. Workspace reuse currently requires one public-cloud subscription/customer RG, the baseline private Blob endpoint/DNS layout, and a confirmed failed/missing source with releasable compute ownership. Cross-subscription/RG reuse, centralized/multi-IP DNS and healthy-workspace migration need a separate design.
Source association release is a separate, explicit filtered PUT guarded by Failed state and the exact owned link. It can retry old service processing, never runs automatically, and does not delete resources. There are no policy exemptions, public-storage changes, NSP skip tags, or automated cleanup paths.