Repository navigation
Description
Description
Section 4 of #288 covers typed deployed-state schema, writeback and shared env-file merging. PR #287 contains the proposed implementation but remains unmerged. Dependencies: #289.
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 manifest cannot persist the provision outcome required by repeatable local binding generation.
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.
Done when
- Task 14: Add
ManifestAdapterDeployedstruct +deployedfield onManifestAdapter; removedeployedfrom unknown-subtable reject list - Task 15: Add Manifest-level case-insensitive
validate_manifest_deployed_adapter_matchschema validator - Task 16: Add CLI
merge_deployed_into_manifestwriteback viatoml_edit::DocumentMut(canonical adapter key fromadapter_entry) - Task 16b: Cloudflare cloud
provisionreturns created namespace ids (create-with-platform, persist-under-logical) - Task 16c: Add
edgezero_adapter::env_file::append_lines_deduphelper used by Section 5 (single-#dedup semantics; lives inedgezero-adapter, notedgezero-cli) - Reject deployed fields belonging to the wrong adapter even when its manifest key uses mixed case.
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
July amendment: all five generated manifests, including axum.toml, are gitignored.
Activity
[-]Section 4 — ManifestAdapterDeployed schema + writeback (Tasks 14–16, 16b–16c)[/-][+]Persist deployed adapter state during provisioning[/+]