Goal
Migrate this plugin to Workflow strict gRPC proto contracts so contract shape issues are caught during code generation, compilation, wfctl validation, or startup checks instead of runtime execution.
Context
Workflow now supports strict plugin contract descriptors and typed proto payloads. Use the current Workflow repo as the source of truth, especially:
- docs/plans/2026-04-26-strict-grpc-plugin-contracts.md
- docs/plans/2026-04-26-strict-grpc-plugin-contracts-design.md
- docs/WFCTL.md sections for wfctl audit plugins --strict-contracts and wfctl plugin validate --strict-contracts
Current workspace strict-contract audit result for this repo:
- manifest shape: canonical
- modules strict/total: 0/0
- steps strict/total: 0/0
- triggers strict/total: 0/0
- service methods strict/total: 0/0
- findings: placeholder_plugin_identity
Required work
- Inspect this repository's AGENTS.md, CLAUDE.md, README, Makefile, go.mod, plugin manifest, proto/codegen setup, and tests before editing.
- If the plugin manifest is missing or legacy-shaped, add or migrate it to the canonical Workflow plugin manifest shape expected by current wfctl audit plugins.
- Add or update strict proto-backed contracts for every advertised module, step, trigger, and service method.
- Add or update proto messages for typed module config, step config/input/output, trigger payloads, and service method payloads as applicable.
- Add plugin.contracts.json or inline manifest contracts in the format expected by Workflow's current strict contract audit.
- Replace map-only boundary parsing at plugin entrypoints with Workflow SDK typed adapters where applicable, while preserving internal behavior.
- Keep compatibility code only when explicitly needed and documented; strict descriptors should be the default for advertised types.
- Update docs only where they help future maintainers run validation or understand generated code.
Validation
Run and include results in the PR body:
- go test ./...
- go test -race ./... if practical for this repo; otherwise explain why not.
- go vet ./...
- go mod tidy and confirm no unintended diff remains.
- Build the plugin binary using the repo's normal build command.
- With a current wfctl, run wfctl plugin validate --file plugin.json --strict-contracts.
- From a sibling Workflow checkout if available, run GOWORK=off go run ./cmd/wfctl audit plugins --repo-root --strict-contracts and confirm this repo no longer reports strict-contract findings.
PR expectations
- Open a PR against main.
- Request Copilot code review on the PR.
- Keep iterating until CI is green and meaningful Copilot review comments are addressed.
Goal
Migrate this plugin to Workflow strict gRPC proto contracts so contract shape issues are caught during code generation, compilation, wfctl validation, or startup checks instead of runtime execution.
Context
Workflow now supports strict plugin contract descriptors and typed proto payloads. Use the current Workflow repo as the source of truth, especially:
Current workspace strict-contract audit result for this repo:
Required work
Validation
Run and include results in the PR body:
PR expectations