Skip to content

[deploy-plugin DPB-8] Extract deploy-aspire (target-by-op table, applier matrix, secret-safe state policy) #900

Description

@rickylabs

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

  • gate: operations generated from the table — AST scan matches
  • gate: sentinel secret absent from state cache, artifacts, argv, logs after a secret-resolving op
  • gate: prebuilt applier digest-verifies before first mutation (per declared row)
  • gate: legacy compose plan still publishes (shim goldens); canonical plan writes nothing

Metadata

Dependencies: DPB-2, DPB-3, DPB-5, DPB-6
Delivery shape: adapter extraction delegating to the aspire CLI

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions