Skip to content

[deploy-plugin DPB-6] Two-phase config loader + deploy schema re-home + frozen legacy union #898

Description

@rickylabs

Part of #892 (RFC #891; corpus .llm/runs/plan-deploy-plugin--seed/ r5).

Two-phase loader: bootstrap-parse (identity + plugins + deploy.targets unstripped) → resolve adapter schemaLoaders → compose the target schema registry → full parse. Unknown target key ⇒ DeployTargetAdapterMissingError — the ONE deliberate behavior change (today unknown keys are silently stripped). DeployTargetBaseSchema re-homes to core ./config; @netscript/config keeps the loader seam + a frozen delegating legacy union. Includes resolveDeploymentEnvironment normalization (omitted Aspire env ⇒ production; bare + @production alias registrations rejected). (DP-2 §6; SF-10, SG-5.)

Acceptance

  • gate: installed-custom-target, missing-adapter, malformed-config, loader-failure, and all-existing-key tests pass
  • gate: unknown key errors with the target-add hint — never silently stripped
  • gate: bare + @production alias registration rejected

Metadata

Dependencies: DPB-1
Delivery shape: config bootstrap contract

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configpackages/config and runtime-configarea:deployDeployment: CLI/Aspire deploy, targets, bare-metalepic:deploy-pluginDeploy plugin family epic (RFC #891)priority:p0Critical / release blockerstatus:planHarness plan phasetype:feat

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions