Skip to content

Workflow publishing: program supports it, but no contract/backend/UI path (missing on mobile + VSCode + CLI) #88

Description

@zo-sol

Status: Planned / not yet implemented. Deferred from the current VSCode parity pass because it does not exist on mobile either (so it is a net-new feature, not a port).

Summary

You can buy a workflow but you cannot publish one. The on-chain program already supports workflows; nothing above it does. Workflow publishing is missing on every surface (mobile, VSCode, CLI), and in the shared contract and backend.

What exists vs what's missing (verified)

Layer Workflow publish? Evidence
Rust program publish_item yes — supports required_skills + workflows collection agent-workflow-nft (RustRover)
Low-level ix publishItemIx yes — takes requiredSkills + group packages/core/src/nft/workflowGate.ts
Backend publishSkill() no — hardcodes requiredSkills: [], skills collection only packages/core/src/nft/skill.ts:168,170
Shared contract publishSkill message no — has no requiredSkills / kind field packages/core/src/chat/marketMessages.ts:113
UI (mobile PublishForm, VSCode publishView, CLI) no — no kind toggle, no required-skills picker surfaces/webview/src/market/PublishForm.tsx (skill-only form)

Note: the publish progress path is already kind-aware — publishProgress carries kind: "skill" | "workflow" and the progress view tints workflows amber. Only the authoring path is missing.

Proposed (full-stack)

  1. Contract: extend publishSkill (or add publishWorkflow) with kind + requiredSkills: string[] (prerequisite skill mint ids).
  2. Backend: a publish path that forwards requiredSkills and enrolls into the workflows collection group (the ix + program already accept this).
  3. UI (all surfaces): a skill/workflow kind toggle + a required-skills picker (pick from owned/published skill mints). Reuse the existing forge/progress view.

Scope

mobile + VSCode + CLI (parity), plus contract + backend. Net-new feature, not a port.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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