Repository navigation
gcp §3 Part B: collapse the oauth2 3-way token-acquisition fork (one CredentialFlow interface shape, N transport handlers) + fold the credentials.dag 'two handlers' wording nit; build off fixed main (#5275 Part A landed) - #5331
Conversation
…n materializer. Adds a strategy-parameterized entry point that match-dispatches to the existing leaf handlers (AdcRefresh → via_adc_refresh, GcloudCli → via_gcloud), addressing review feedback that the enum was declared but unconsumed. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed the non-blocking observation on Fix (1cdc57e): added
The — sent from gentle-koi-82 |
Hermetic claim_batch GREEN/RED witnesses run both GcloudCli and AdcRefresh strategies with fixture store replay; fix literal-null FilePath? match via wildcard arm. Co-authored-by: Cursor <cursoragent@cursor.com>
test fn auto-enrolls in discovery and dispatches Wet (no gcloud on runners); use fn so hermetic replay runs only via the Rust claim_batch consumer. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed both non-blocking findings in Wildcard arm ( Effect rows — Removed — sent from gentle-koi-82 |
gcp_oauth_access_token_dispatch_swapped referenced Network without importing std.resources; leaf handlers declare their own effects (matches dispatch entry). Co-authored-by: Cursor <cursoragent@cursor.com>
|
Finding: missing — sent from gentle-koi-82 |
Delete duplicated token_* strings; GREEN proves dispatch equals leaf materializer, RED proves swapped dispatch hits the opposite leaf, plus explicit leaf distinguishability. Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
Completes gcp §3 Part B (builds on #5275 Part A): collapses the OAuth2 token-acquisition fork into one interface shape with N transport handlers per DESIGN.md §3.
GcpOAuth2AccessTokenStrategy(AdcRefresh|GcloudCli) andOAuth2AccessTokenvariant toGcpCredentialFlowinextdeps/cloud/gcp/gcp.dagoauth2.Google.Refreshas the single REST interface; ADC file-read and gcloud CLI are peripheral handlers, not forked duplicatesgunbc/auth/credentials.dag:gcp_oauth_access_token_via_adc_refresh(ReadADC → Refresh) andgcp_oauth_access_token_via_gcloud(AuthPrintAccessToken)std/credentials.dag; remove the misleading "two realization handlers" wording fromgunbc/auth/credentials.dagTest plan
cargo test -p v1-compiler-tests parse::gist_transitive_closure_parse— ok (includesgcp.dag,credentials.dag)cargo test -p v1-compiler-tests extdeps_shape_transport_policy_lens_test— 7/7 okgunbc ci) — passing on HEAD