HandToHumanCLI referenceAll commands
DocsCLImarketdraft-import

Public command

market draft-import

Validate and retain one existing user-authored request as an unfunded work draft.

Exact invocation
handtohuman market draft-import <FILE> --kind <KIND> --title <TITLE> [--id <DRAFT_ID>]
01

Accepted input

<FILE>

Required readable file containing 1–100,000 bytes of valid JSON. The top level must be a non-empty object; all members are retained.

--kind <KIND>

Required established offer kind: humanization, ugc-video, compute, residential-egress, or phone-sharing.

--title <TITLE>

Required descriptive title of 1–200 characters after trimming.

--id <DRAFT_ID>

Optional stable identity of 1–128 ASCII letters, digits, hyphens, or underscores. Without it, HandToHuman assigns a draft id.

02

Validation, output, and retained state

HandToHuman reads and validates the complete file, title, kind, and optional id before one insert into work_request_drafts in the fleet database handtohuman. It creates no order, reserves no offer capacity, moves no money, assigns nobody, and calls no work provider.

Pretty JSON reports status plus imported, unchanged, conflicting, and rejected. Summaries carry the draft id, kind, title, request SHA-256, and source filename but never echo the request body. Read the body later with draft-show.

When imported or unchanged, the onboarding recorder reopens the same ledger and reads the draft before it supplies work_brief_imported completion evidence.

03

Duplicates, conflicts, and refusals

  • Canonical JSON content is SHA-256 identified within a kind. Repeating the same request, kind, title, and identity is unchanged.
  • An explicit id already attached to different kind, title, or content is conflicting. Identical content retained under a different id or title is also conflicting. Existing state is preserved; there is no replacement mode.
  • An unreadable file fails before the marketplace operation. Empty, oversized, malformed, array, scalar, empty-object JSON, and duplicate object fields at any depth are rejected.
  • A rejected or conflicting result inserts nothing. The request body is never printed in any issue.