fix(azure): offload detached gate validation privately - #327
Closed
ruby-dlee wants to merge 13 commits into
Closed
Conversation
ruby-dlee
force-pushed
the
fm/azure-nm-offload-fix-k4
branch
3 times, most recently
from
August 25, 2026 15:55
3c8c480 to
86e5eb8
Compare
ruby-dlee
force-pushed
the
fm/azure-nm-offload-fix-k4
branch
from
August 25, 2026 23:48
85f89f8 to
feb1b2f
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
PR 327 head feb1b2f is the exact base. Live break-test run 01M0XP2M07JJCTRDG1TQMTGRSM selected test=behavior-heavy from a clean committed detached gate worktree at unadvertised private candidate dfbd137e, but bin/fm-azure-runner.py prepare() called public_origin_proof once with private_source false before reaching the intended direct-private proof and refused that candidate as not the advertised source-ref head. Make the smallest source-ref fix on PR 327: select the --private-snapshot-from-head proof path before any public-candidate advertisement check, while preserving credential-free public remote/default identity, exact synthetic source_ref, clean committed HEAD/object/tree binding, complete non-shallow one-ref bundle verification and digest binding, no capacity parent, and existing retry identity. Ensure one intended origin proof rather than a failing public pre-proof followed by private proof. Add a focused behavioral regression that uses a committed detached unadvertised candidate and fails if prepare attempts a public advertised-candidate proof, then verifies private-direct-bundle mode, exact source head/ref/tree, complete fetchable history, and no parent reservation. Preserve the tracked pytest coverage/liveness proof and YAML route proof. Do not modify shared allocator/daily-bound/capacity-release behavior: the separate zero-compute ccm-0e0afca63b48 release timeout belongs to its allocator owner. Run focused Azure runner tests, bounded normal validation, lint and required CI only. Do not launch another live Azure generation, merge, change Crosscheck tooling, or broaden scope. Push the smallest tested fix to existing PR 327.
What Changed
Risk Assessment
✅ Low: The direct-private path now performs exactly one private-source origin proof before generic public-candidate checks, while preserving public origin/default identity, local commit/tree binding, complete one-ref bundle verification, digest binding, no-parent semantics, and retry behavior.
Testing
The supplied baseline passed; targeted testing then exercised a committed detached unadvertised candidate end-to-end, confirming one private origin proof, private-direct-bundle identity, exact source ref/head/tree, complete fetchable non-shallow ancestry, digest-backed bundle preparation, and no parent reservation, while preserved pytest liveness/coverage and executable YAML route proofs also passed.
Evidence: Private direct-bundle regression
ok - private prepare binds parent, exact-checkout, and detached direct source graphsEvidence: YAML routing proof
ok - no-mistakes YAML test routing executes the local wrapper and validation shard bridge exclusivelyPipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
🔧 **Review** - 1 issue found → auto-fixed ✅
bin/fm-azure-runner.py:892- The required ordering fix is absent. For--private-snapshot-from-head, execution first enters the genericelseand callspublic_origin_proof(..., private_source=False)at lines 886–891, so an unadvertised detached candidate is rejected before the later private proof runs. This contradicts “select the --private-snapshot-from-head proof path before any public-candidate advertisement check” and “Ensure one intended origin proof.” Branch onprivate_snapshot_from_headbefore the generic public path, and make the regression fail on any non-private origin-proof invocation; the current permissive mock at tests/fm-azure-runner.test.sh:391 allows both calls and misses the reported failure.🔧 Fix: Fix direct private origin proof ordering
✅ Re-checked - no issues remain.
✅ **Test** - passed
✅ No issues found.
if [ "${FM_AZURE_VALIDATION_CELL:-0}" = 1 ]; then exec "$FM_AZURE_VALIDATION_SHARD_BRIDGE" behavior --count "${FM_AZURE_VALIDATION_SHARD_COUNT:-8}"; else exec bin/fm-no-mistakes-test-command.sh; fiConfigured baseline test command supplied by the outer executor (passed).Behavioral selectorprivate_snapshot_prepare_contractfromtests/fm-azure-runner.test.shusing real test helpers (passed).uv run --with pytest python -m pytest -q tests/test_azure_proof_contracts.py(passed).Behavioral selectorno_mistakes_yaml_test_route_contractfromtests/fm-azure-runner.test.sh(passed).git status --shortconfirmed testing left the worktree unchanged.✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.