Skip to content

Fix the Server start example's duplicate_policy value #357

Closed

Description

@rmcdaniel

Problem

The Server API reference's start example sends a duplicate_policy the Server rejects. A reader who copies it gets HTTP 422 instead of a started workflow, and the reference never lists the values the field accepts.

The Python SDK's docstring had the same mismatch, tracked in sdk-python#163. This is the docs site's copy of the request shape.

Source-verified, not reproduced.

Acceptance criteria

  • The start example uses a value the Server accepts, and running it against a current Server starts the workflow.
  • The Server API reference lists the accepted duplicate_policy values, the default when the field is omitted, and what each does when a run with that id is already open or has closed.

Activity

  1. rmcdaniel commented on Oct 22, 2026

    @rmcdaniel
    MemberAuthor

    Accepted as a P2 documentation correction. The Server's start validator and published control-plane contract already agree on fail and use-existing; changing the runtime to accept the erroneous example is unnecessary.

    The fix will update the runnable example, explain the omitted default and active/closed-run outcomes, and update all seven translated copies and their source hashes alongside English. Acceptance includes a real current-Server start using the corrected request. No API, dependency or protocol change is required. General owns this follow-through after the urgent trust-dependency remediation already in progress.

  2. rmcdaniel commented on Oct 22, 2026

    @rmcdaniel
    MemberAuthor

    Delivered through #358, normal merge 9684116, with exactly the reviewed tree 44b872fc. All applicable candidate checks pass, including executable examples, translations, CodeQL, Sonar and the public boundary. The merged remote branch is absent.

    GitHub Pages deployment 39787625509 is successful. Independent live checks return HTTP 200 for English, German, Spanish, French, Japanese, Brazilian Portuguese, Ukrainian and Simplified Chinese. Each serves the corrected literal fail request and both policy values, with no locale redirect or English fallback.

    Ten isolated published-Server HTTP controls pass: invalid reject returns 422, the literal documented fail request starts with 201, default/null/omitted duplicates refuse, use-existing returns the same active run, both policies refuse after closure, and a new id starts a new run. Server 2.11.0 was borrowed for that control; its controller and start-service hashes exactly match published 2.11.1 source. The first recorder's absent started-field assumption remains an unsuccessful fixture observation, followed by a separate fresh-database control using canonical outcome.

    All API, bootstrap, database and network resources are retired; the API exited 0 without OOM. No production requests or new image pull. This was a documentation correction to the existing contract, with all eight language copies and reviewed source hashes delivered together.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions