Files
kandev/docs/plans/plugins/host-data-api/task-01-proto-contract.md
T

2.2 KiB

id, title, status, wave, depends_on, plan, spec, adr
id title status wave depends_on plan spec adr
01-proto-contract Host data proto contract + regenerated stubs done 1
plan.md ../../../specs/plugins/requirements/plugins.md ../../../decisions/0043-plugin-host-data-api.md

Task 01: Host data proto contract + regenerated stubs

Fold the Host data RPCs and DTOs from docs/plans/plugins/HOST-DATA-API.proto into the frozen plugin proto and regenerate Go stubs. This is the contract every later task compiles against.

Scope

  • Read RPCs: ListTasks, GetTask, ListWorkspaces, ListWorkflows, ListWorkflowSteps, ListAgentProfiles, ListRepositories, ListSessions, ListSessionCodeStats.
  • Implemented write RPCs: CreateTask, UpdateTask, and SendMessage.
  • DTOs + Page/PageInfo/filter messages from the draft.
  • Decide placement: add RPCs to the existing service Host (recommended — reuses the single broker connection and the capability interceptor) rather than a new service HostData. Record the choice in a proto comment.
  • Verify DTO fields against the real shapes in apps/backend/pkg/api/v1/{task,workflow,agent,workspace}.go; keep RFC3339 string timestamps and optional nullables per ADR 0043.

Acceptance

  • apps/backend/proto/kandev/plugin/v1/plugin.proto contains the read + write write RPCs and DTOs; existing Host/Plugin RPCs are unchanged.
  • make -C apps/backend proto regenerates plugin.pb.go / plugin_grpc.pb.go with no manual edits, and the tree builds.

Verification

  • make -C apps/backend proto
  • cd apps/backend && go build ./...

Files likely touched

  • apps/backend/proto/kandev/plugin/v1/plugin.proto
  • apps/backend/proto/kandev/plugin/v1/plugin.pb.go (generated)
  • apps/backend/proto/kandev/plugin/v1/plugin_grpc.pb.go (generated)

Inputs

  • Spec: "Host data API" section, capability table.
  • Draft: docs/plans/plugins/HOST-DATA-API.proto.
  • DTO shapes: apps/backend/pkg/api/v1/{task,workflow,agent,workspace}.go.
  • ADR 0043 (DTO discipline, conventions).

Dependencies

None.

Output contract

Summary of RPC placement decision, files changed (incl. regenerated stubs), make proto + build result, any DTO field deviations from the draft, and status update here + in plan.md.