Skip to content

schemas: publish external target protocol schemas #708

Description

@flyingrobots

Problem

#680 now has a documented protocol MVP and PR #707 shipped wesley target verify, but target authors still lack canonical JSON Schemas for the external-process protocol envelopes.

Without checked-in schemas, descriptor/request/response/artifact examples remain prose-only and downstream SDK templates cannot validate conformance fixtures mechanically.

Scope

Add machine-readable schemas for the external target protocol without adding target execution.

Acceptance Criteria

  • Add canonical JSON Schemas under schemas/ for:
    • wesley.target-descriptor/v1
    • wesley.target-request/v1
    • wesley.target-response/v1
    • wesley.target-diagnostic/v1 or an embedded diagnostic definition
    • wesley.target-artifact-manifest/v1
  • Add representative generic fixtures or generated values and validate them in cargo test -p wesley-core --test generated_json_artifacts.
  • Update schemas/README.md and docs/reference/external-target-protocol.md to point at the schema files.
  • Keep examples domain-empty and generic; no Postgres, Echo, Continuum, auth, routing, deployment, or product runtime behavior.
  • Do not add wesley target run, target process execution, sandboxing, or artifact copy-out in this issue.

Related

Activity

  1. added
    featureNew feature or request
    docsDocumentation changes
    testsTest suite and coverage
    work-in-progressMethod issue is actively being worked
    legend:SPECSpecification/design work
    legend:DXDeveloper experience work
    v0.3.0Scheduled work for the v0.3.0 release.
    on Jul 5, 2026
  2. coderabbitai commented on Jul 5, 2026

    @coderabbitai
    🔗 Related PRs

    #499 - test(stack): add Stack Witness 0001 fixture artifact shape [merged]
    #513 - expand parity fixture coverage [merged]
    #618 - feat: LE binary Rust codec emitter (le-binary-rust) + output-object codecs [merged]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

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

    docsDocumentation changesfeatureNew feature or requestlegend:DXDeveloper experience worklegend:PLATFORMPlatform/infrastructure worklegend:SPECSpecification/design worktestsTest suite and coveragev0.3.0Scheduled work for the v0.3.0 release.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions