Repository navigation
Description
Description
Section 1 of #288 covers foundation types, CLI flag and shared typed preflight. PR #287 contains the proposed implementation but remains unmerged. Dependencies: none beyond the umbrella contract.
Steps to reproduce
Inspection steps (no tests executed):
- Inspect main Adapter::provision contract.
- Compare this section’s tasks in local-provision plan with the open branch.
- Confirm the local-provision contract is still absent from main rather than treating checked-off branch tasks as delivery.
Expected behavior
The section’s contract is present on main and composes with the other local-provision sections without cloud operations during local mode.
Impact
The CLI and adapter trait cannot express local/cloud provision modes or return deployed state.
Proposed fix
Review and merge this section through PR #287, preserving the tasks below and subsequent umbrella amendments. Reconcile with current main rather than reintroducing removed Fastly runtime-env descriptors.
Dependencies: none beyond the umbrella contract.
Done when
- Task 1: Add
ProvisionModeenum +localflag onProvisionArgs(extend manualDefaultimpl) - Task 2: Add neutral
AdapterDeployedState+ProvisionOutcometypes inedgezero-adapter; crate-root re-exports - Task 3: Thread
ProvisionMode,deployed: Option<&AdapterDeployedState>, andProvisionOutcomethroughAdapter::provision - Task 4: Add
Adapter::provision_typedtrait method with default no-op - Task 5: Extract
run_typed_preflight(&typed, &ctx);pub(crate)accessors onValidationContext; rewrite validate/push/diff sites
Required repository verification: cargo fmt --all -- --check; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo test --workspace --all-targets; cargo check --workspace --all-targets --features "fastly cloudflare spin"; cargo check -p edgezero-adapter-spin --target wasm32-wasip2 --features spin. These are acceptance requirements, not tests executed during this audit.
Related
#288; local-provision plan; PR #287 is the fully covering open PR. This section is a foundation for later sections.
July amendment: all five generated manifests, including axum.toml, are gitignored.
Activity
[-]Section 1 — CLI surface, neutral types, trait method (Tasks 1–5)[/-][+]Local provision CLI contracts and typed preflight[/+]