Skip to content

chore: adopt strict-contracts (plugin.contracts.json + proto definitions) #9

Closed

Description

@intel352

Part of workflow ecosystem strict-pb-typing migration. workflow-plugin-admin currently lacks a plugin.contracts.json declaring typed-proto contracts for its exposed module/step/trigger types.

Ask

  • Add plugin.contracts.json at repo root declaring each exposed type with mode: strict (or strict_proto).
  • For each declared type, add corresponding proto message under internal/contracts/ (or similar).
  • Generate *.pb.go and wire the typed server impl via sdk.ServeIaCPlugin / sdk.ServePluginFull / sdk.ServeHybrid per the entrypoint pattern.
  • Update plugin.json to bump minEngineVersion to v0.51.7+.

Reference precedents (just-merged)

Filed as part of post-#617 autonomous workflow ecosystem strict-contracts audit. 🤖

Activity

  1. intel352 commented on May 14, 2026

    @intel352
    ContributorAuthor

    Closing as no-surface: this plugin is a pure ConfigProvider with no ModuleTypes(), StepTypes(), or TriggerTypes() implementations. It injects a config fragment that exercises engine-native module types (http.server, auth.*, storage.sqlite, etc.) but exposes zero plugin-owned types. No plugin.contracts.json is needed — there are no types to declare contracts for. The plugin.json correctly declares empty capabilities arrays.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions