feat: add private Azure validation pilot foundation - #125
Open
ruby-dlee wants to merge 2 commits into
Open
Conversation
ruby-dlee
force-pushed
the
fm/azure-pilot-iac-m7
branch
from
August 12, 2026 18:44
7c0d8a9 to
5912aec
Compare
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.
Intent
Land a reviewable declarative Azure foundation for private scale-to-zero no-mistakes validation cells and policy-grade Crosscheck compartments while Firstmate remains local. The default foundation profile must create zero supervisor and author VMs while preserving separate private validation-control, uncredentialed validation-shard, Crosscheck-reviewer, Crosscheck-tools, and genuinely networkless-verifier boundaries; no VM SSH authorization, public VM IP, public listener, or inbound path is acceptable. Keep exact-subscription binding without changing the ambient Azure CLI default, read-only validation and sanitized what-if, explicit irreversible gates, retained encrypted task/account disks, one task per general worker, scale-to-zero, and the two-phase 1000-dollar target/1500-dollar commissioning policy with no automatic termination. Worker-create must validate and deploy the exact singleton plan without profile reset, destroy must fail closed before mutations when inventory cannot be proven, and worker/state-sync alerts must detect total silence. Do not deploy billable resources, track private identifiers or credentials, buy support, or expand this foundation into remote Herdr, full worker migration, or application protocols. Quota support is captain-owned and non-blocking; validate and ship the committed foundation, including executed regression proof for all exact-head Crosscheck findings.
What Changed
Risk Assessment
✅ Low: The follow-up cleanly suppresses all ten supervisor-only resources during singleton worker deployment and makes destroy classify complete VM/disk inventories before any mutation, with targeted structural regressions covering both fixes.
Testing
Completed 1 recorded test check.
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
🔧 **Review** - 3 issues found → auto-fixed ✅
docs/azure-pilot/main.json:1444- The VM definitions disable password authentication while intentionally omittinglinuxConfiguration.ssh.publicKeys. Azure Linux VM provisioning requires an authentication mechanism when password authentication is disabled, so commissioning/full apply and worker-create can fail validation or deployment. This conflicts with the required deployable foundation while SSH authorization is forbidden; use a separately reviewed non-SSH provisioning mechanism supported by Azure rather than an unauthenticatedosProfile.bin/fm-azure-pilot.sh:753- The requiredworker-create“exact singleton plan” is not preserved for slots 3–16: line 753 requirescapacityProfile=full, but the template conditions the supervisor VM and its identity/NIC/disks on any non-foundation profile. Consequently a singleton worker deployment can also create or reconcile supervisor resources. Gate all non-worker resources onincrementalWorkerDeploy == false, or introduce a worker-only nested deployment boundary.bin/fm-azure-pilot.sh:836- The required fail-closed destroy inventory is incomplete: the disk query inventories only disks already carrying the two expected purpose tags, then resource-group deletion destroys every other disk too. An untagged, mistagged, or unexpected disk therefore remains outside the proven inventory but is still deleted. Inventory all disks first and refuse before mutation unless every disk is explicitly classified and authorized.🔧 Fix: Captain: gate supervisors and fail-close disk destruction
✅ Re-checked - no issues remain.
command -v tmux >/dev/null || { echo "tmux is required for e2e tests" >&2; exit 1; }; tmux -V; rc=0; tests/run.sh || rc=1; uv run --directory tools/agent-fleet --locked pytest || rc=1; uv run --directory tools/agent-fleet --locked python -m compileall -q src || rc=1; exit "$rc"✅ **Document** - passed
✅ No issues found.
🔧 **Lint** - 1 issue found → auto-fixed ✅
🔧 Fix: Add private Azure VM key authentication
✅ Re-checked - no issues remain.
✅ **Push** - passed
✅ No issues found.