Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/azure-validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -397,4 +397,6 @@ The exact failed leg, retained resources, and recovery action must be reported.

The first complete no-mistakes pipeline run inside an isolated Azure `validation-standard` cell executed on 2026-08-14 against this repository: run `01M00YX1QS5H608DPH6DFV7CDN`, validation generation `azv-stage-c-013`, lease task `azure-stage-c-validation`, task generation `spawn:558423dc544ebe5c`, validating exact head `126b60419613938c055b41447f9a65c76c31923a` through the pushed `codex/azure-stage-c-validation` branch.
Generations `azv-stage-c-014` and `azv-stage-c-015` (same head, branch, and lease coordinates) then ground-truthed the guest's outcome derivation until the authenticated result recorded that success end to end.
Those cells validated an already-merged head, so their pipeline completed at pre-push with nothing to publish; this section, submitted on the `fm/stage-c-live-acceptance` branch under the same lease coordinates in one isolated Azure `validation-standard` cell, is itself the first change validated by a cell through the full push, pull request, and CI-green proof path.
Those cells validated an already-merged head, so their pipeline completed at pre-push with nothing to publish; the original submission of this section on the `fm/stage-c-live-acceptance` branch under the same lease coordinates became the first change validated by one isolated Azure `validation-standard` cell through the full push, pull request, and CI-green proof path.
The full publish path then completed live across generations `azv-stage-c-044` through `azv-stage-c-046` at head `0fc9ff4f7537536aa2efd4cc81b757411b751e64`: generation 044 pushed this branch and opened its pull request from inside the cell, generation 046 executed every pipeline step through the CI poll, and the pull requests were merged on fully green checks (13 of 13, including the behavior shards) on 2026-08-16.
This paragraph, submitted after the branch was reconciled onto the merged mainline, records that acceptance and is itself the documentation change validated by the closing cell.
9 changes: 5 additions & 4 deletions tests/fm-azure-validation.test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ PY
[ "$rc" -ne 0 ] || fail "submit accepted broad GitHub authority"
assert_contains "$out" "must declare only" "broad GitHub authority refusal was not explicit"
# The fine-grained UI's successor pair for checks:read is accepted as an
# equally minimal declaration; validate_credential_lease alone proves it
# equally minimal declaration; load_credential_lease alone proves it
# (submit would next require the live disk).
make_lease "$tmp/lease.json" task-one generation-one "fixture/repository"
python3 - "$tmp/lease.json" "$ROOT/bin/fm-azure-validation.py" <<'PY'
Expand All @@ -355,7 +355,7 @@ spec=importlib.util.spec_from_file_location("v", sys.argv[2])
m=importlib.util.module_from_spec(spec); spec.loader.exec_module(m)
import os
os.chmod(p, 0o600)
m.validate_credential_lease(p, "task-one", "generation-one")
m.load_credential_lease(p, "task-one", "generation-one", "fixture/repository")
print("successor authority pair accepted")
PY
# A modified file whose stale manifest digest remains otherwise structurally
Expand Down Expand Up @@ -465,7 +465,7 @@ PY

retail_price_transport_contract() {
python3 - "$HOST" <<'PY' || fail "validation retail-price transport contract failed"
import importlib.util,io,json,sys
import importlib.util,io,json,pathlib,sys,tempfile
spec=importlib.util.spec_from_file_location("validation",sys.argv[1]); m=importlib.util.module_from_spec(spec); spec.loader.exec_module(m)
payload={"Items":[{"productName":"Virtual Machines Dasv6 Series","meterName":"D8as v6","unitOfMeasure":"1 Hour","retailPrice":0.4}]}
class Reply(io.BytesIO):
Expand All @@ -476,7 +476,8 @@ def urlopen(request,timeout):
seen.append((request.full_url,request.headers,timeout)); return Reply(json.dumps(payload).encode())
m.urllib.request.urlopen=urlopen
m.az_command=lambda *_args,**_kwargs: (_ for _ in ()).throw(AssertionError("Azure CLI must not proxy the public retail API"))
assert m.retail_rate({},"Standard_D8as_v6")==0.4
state_dir=pathlib.Path(tempfile.mkdtemp())
assert m.retail_rate({"state_dir":state_dir},"Standard_D8as_v6")==0.4
assert seen[0][2]==20 and seen[0][1]["User-agent"]=="firstmate-azure-validation/1"
PY
pass "validation reads the public retail API directly with a bounded identified request"
Expand Down
Loading