Skip to content

Let public artifact tuple validation complete without a private callback #90

Description

@rmcdaniel

Problem

The trusted Public Artifact Tuple workflow successfully computes and uploads its signed pipeline handoff, then fails when PIPELINE_GATE_URL is absent. Because the direct routing step is required, the workflow also skips validation of the refreshed docs.

Artifact polling is the durable handoff path and must work without exposing a private pipeline endpoint to GitHub Actions. A missing optional callback should not turn a valid tuple refresh into a red workflow or suppress public validation.

Acceptance criteria

  • Complete refreshed-doc validation after the signed handoff artifact is uploaded even when no direct callback is configured.
  • Treat direct callback delivery as an optional bounded acceleration path; never require or disclose a private pipeline URL.
  • Keep artifact identity, trusted-run binding, fail-closed recovery validation, and duplicate routing guarantees intact.
  • Fail the workflow for tuple generation, artifact upload, or docs validation defects, while reporting optional delivery state separately.
  • Cover both callback-present and callback-absent executions.
  • Prove one public dispatch can finish green and its handoff is accepted once by artifact recovery.

Delete when

Delete when the public tuple workflow validates and completes successfully without PIPELINE_GATE_URL and the signed artifact remains sufficient for exactly-once pipeline routing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    authority:githubGitHub is the authoritative lifecycle record for this workbeta:compatibleMay be completed without changing the frozen beta contractcompletion:evidence-requiredClose only after all explicit acceptance and operational evidence is publiccompletion:evidence-verifiedAcceptance, fixed version, and required operational evidence are publicly verifiedkind:defectA public product behavior is incorrectpriority:P1High-priority product or release riskrepo:documentationOwned by the public documentation repositorystatus:doneDerived from the authoritative closed issue state

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions