Skip to content

Add approval-gated cross-repository dependency publication orchestrator #400

Description

@leehack

Priority

P1 - the current owning-repository schedules can publish independently, which conflicts with the approved single approval boundary and can produce partially coordinated dependency state.

Evidence

  • llamadart-native and litert-lm-native scheduled workflows currently dispatch publishing workflows directly.
  • llama-web-bridge scheduled automation currently couples dependency movement to a bridge pin PR.
  • A repository-scoped GITHUB_TOKEN cannot dispatch and correlate workflows across the owning repositories.
  • llamadart issue Support semantic-version llamadart-native tags in pin synchronization and consumption #393 establishes the consumer tag/provenance contract but intentionally does not broaden into release orchestration.

Required design

Scheduled work is detection/preparation only. Publication starts only from an explicitly approved llamadart workflow and results in one combined downstream pin-upgrade PR after every owning release and consumer smoke passes.

Acceptance criteria

  • Add a scheduled read-only scan that records exact native, Web, and LiteRT candidate versions/source commits without publishing or changing pins.
  • Add an explicit workflow_dispatch protected by a required-approval environment.
  • Dispatch each owning build/publish workflow with exact source refs, target tags, and a shared correlation identifier.
  • Bind verification to exact workflow run IDs and head SHAs; fail closed on ambiguity, timeout, cancellation, or partial success.
  • Verify manifests/provenance, GitHub digests, checksum files, required bundles, and owning-repository smokes.
  • Run the representative llamadart native, Web worker/WASM, and LiteRT consumer smokes against the published artifacts.
  • Open one combined llamadart pin-upgrade PR only after all gates pass; include native headers/bindings, Web assets tag, LiteRT pins, maintained docs, support matrix, and changelog as applicable.
  • Make retries idempotent and concurrency-safe, and publish an auditable summary without logging tokens or signed URLs.
  • Use a least-privilege GitHub App or fine-grained credential; document permissions, rotation, and protected-environment ownership.
  • Keep owner source changes in their own repositories and PRs; dependency publication alone must not require companion pin PRs.

Out of scope

Publishing from the scheduled scan, changing owner source, merging pin PRs, or releasing llamadart automatically.

Activity

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

    dependenciesPull requests that update a dependency fileenhancementNew feature or requestpriority:P2Planned next: useful unblocked work or validation after P1 items

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions