Repository navigation
Description
Description
Section 6 of #288 covers typed validation/secret placeholders and scaffold integration. PR #287 contains the proposed implementation but remains unmerged. Dependencies: #289, #290, #291, #292, #293.
Steps to reproduce
Inspection steps (no tests executed):
- Inspect generated CLI provision/serve dispatch.
- 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
Generated CLIs still call the untyped path and cannot emit placeholders derived from their app config.
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: #289, #290, #291, #292, #293.
Done when
- Task 29: Add
pub fn run_provision_typed<C>export tocrates/edgezero-cli/src/lib.rs; full body with cloud short-circuit, base-preflight gates (capability + handler paths), three-step typed validation viarun_typed_preflight, shared staging for dry-run - Task 30: Update scaffold template
main.rs.hbs:98—Cmd::Provision(args) => edgezero_cli::run_provision_typed::<{{NameUpperCamel}}Config>(&args) - Task 30b: Update in-tree
examples/app-demo/crates/app-demo-cli/src/main.rs:98to callrun_provision_typed(mirror of Task 30; smokes warm up via app-demo-cli) - Task 31:
edgezero newgenerator loopsrun_provisionover every selected adapter (untyped — scaffolded#[secret]fields commented out) - Run the complete manifest-shape gates for typed dry-run as well as non-dry-run, per the umbrella amendment.
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. #289, #290, #291, #292, #293
July amendment: all five generated manifests, including axum.toml, are gitignored.
Activity
[-]Section 6 — Typed provision wiring (Tasks 29–31, 30b)[/-][+]Wire typed local provisioning into generated CLIs[/+]