Skip to content

Phase 2.1 follow-up to #640: manifest validation gate at findIaCPluginDir #693

@intel352

Description

@intel352

Follow-up to #640 Phase 2 (PRs land via Phase 2 cascade).

Per Phase 1 inventory + ADR 0040 Assumption 8: cmd/wfctl/deploy_providers.go::findIaCPluginDir uses json.Unmarshal without schema validation. A typo in computePlanVersion (e.g. "v2.0" or "V2") would silently fall back to v1 dispatch, breaking the Phase 2 hard-cutover contract.

Phase 2 design doc records three implementation options for this gate:

  1. Full pluginmanifest package (schema-driven, generic)
  2. Reuse existing schema/ JSON Schema validator
  3. Lightweight computePlanVersion ∈ {v1, v2} enum check (minimum viable)

Pick at design time. Track via this issue.

Filed per Phase 2 plan Pre-dispatch setup step 2 (team-lead action). See docs/plans/2026-05-16-v2-lifecycle-phase2.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions