Part of #892 (RFC #891; corpus .llm/runs/plan-deploy-plugin--seed/ r5).
The target×op table (DP-3 §1) is the generated source of operations; pure plan surfaces aspire deploy --list-steps; canonical down = aspire destroy; state-cache delegation under the SG-2 no-save secret policy (doctor fails closed on secret-mapped cache keys); Parameters__* secrets convention; per-variant --prebuilt applier rows (compose → docker compose -f … up -d; kubernetes → kubectl apply -f …; azure rows absent until proven — no row, no op); adapter-neutral runCapabilityCheck; Radius watch (predicate-gated, DP-9 §3). Anti-scope: the pipeline STEP ships with DPB-17; legacy semantics preserved via the shim (DP-9 §2/§2a; SG-1/2/6/7).
Acceptance
Metadata
Dependencies: DPB-2, DPB-3, DPB-5, DPB-6
Delivery shape: adapter extraction delegating to the aspire CLI
Part of #892 (RFC #891; corpus
.llm/runs/plan-deploy-plugin--seed/r5).The target×op table (DP-3 §1) is the generated source of
operations; pureplansurfacesaspire deploy --list-steps; canonicaldown=aspire destroy; state-cache delegation under the SG-2 no-save secret policy (doctor fails closed on secret-mapped cache keys);Parameters__*secrets convention; per-variant--prebuiltapplier rows (compose →docker compose -f … up -d; kubernetes →kubectl apply -f …; azure rows absent until proven — no row, no op); adapter-neutralrunCapabilityCheck; Radius watch (predicate-gated, DP-9 §3). Anti-scope: the pipeline STEP ships with DPB-17; legacy semantics preserved via the shim (DP-9 §2/§2a; SG-1/2/6/7).Acceptance
operationsgenerated from the table — AST scan matchesMetadata
Dependencies: DPB-2, DPB-3, DPB-5, DPB-6
Delivery shape: adapter extraction delegating to the aspire CLI