Summary
The release dispatch contract still defines a defunct 4th repository_dispatch event, openemr-docs-binaries (emitted by website-openemr, consumed by website-openemr-files). The docs-publishing flow has moved to git-lfs publishing, so this event and its consumer no longer exist in practice. The contract should be cleaned up at the canonical source and re-vendored into the consuming repos.
This surfaced during review of openemr/openemr#12397, which rewrites docs/RELEASE_PROCESS.md to describe the current three-event + git-lfs-publish flow. Copilot correctly flagged that the rewritten runbook no longer matches the vendored contract. Rather than re-document the dead flow (the PR intentionally replaces website-openemr-files/openemr-docs-binaries with git-lfs publishing), the doc stays as the forward source of truth and the contract gets cleaned up here.
Canonical location
The dispatch schema's $id points to openemr-devops as canonical, and the contract is vendored + drift-checked into the consuming repos. So the fix must start here, then re-vendor.
Changes needed (canonical dispatch.schema.json)
- Remove
openemr-docs-binaries from the event-type enum.
- Remove the
const branch / conditional schema for that event.
- Remove
website-openemr-files as a consumer reference.
- Update both
description fields that mention the 4th event / consumer.
- Resolve an internal contradiction in the schema: the
$id says canonical = openemr-devops, but the description says "The canonical copy lives here." Reconcile these.
Also
- Drop
DispatchRequest.php::EVENT_DOCS_BINARIES (public const EVENT_DOCS_BINARIES = 'openemr-docs-binaries';). It has a definition but no usages in tools/ or .github/.
Re-vendor
After the canonical update, re-vendor the contract (schema + DispatchRequest.php) into:
openemr/openemr (tools/release/contracts/dispatch.schema.json, tools/release/src/DispatchRequest.php)
openemr/website-openemr
Context
Umbrella tracker: openemr-devops#706
Surfaced by: openemr/openemr#12397 (review threads on docs/RELEASE_PROCESS.md)
Summary
The release dispatch contract still defines a defunct 4th
repository_dispatchevent,openemr-docs-binaries(emitted bywebsite-openemr, consumed bywebsite-openemr-files). The docs-publishing flow has moved to git-lfs publishing, so this event and its consumer no longer exist in practice. The contract should be cleaned up at the canonical source and re-vendored into the consuming repos.This surfaced during review of openemr/openemr#12397, which rewrites
docs/RELEASE_PROCESS.mdto describe the current three-event + git-lfs-publish flow. Copilot correctly flagged that the rewritten runbook no longer matches the vendored contract. Rather than re-document the dead flow (the PR intentionally replaceswebsite-openemr-files/openemr-docs-binarieswith git-lfs publishing), the doc stays as the forward source of truth and the contract gets cleaned up here.Canonical location
The dispatch schema's
$idpoints toopenemr-devopsas canonical, and the contract is vendored + drift-checked into the consuming repos. So the fix must start here, then re-vendor.Changes needed (canonical
dispatch.schema.json)openemr-docs-binariesfrom the event-typeenum.constbranch / conditional schema for that event.website-openemr-filesas a consumer reference.descriptionfields that mention the 4th event / consumer.$idsays canonical = openemr-devops, but thedescriptionsays "The canonical copy lives here." Reconcile these.Also
DispatchRequest.php::EVENT_DOCS_BINARIES(public const EVENT_DOCS_BINARIES = 'openemr-docs-binaries';). It has a definition but no usages intools/or.github/.Re-vendor
After the canonical update, re-vendor the contract (schema +
DispatchRequest.php) into:openemr/openemr(tools/release/contracts/dispatch.schema.json,tools/release/src/DispatchRequest.php)openemr/website-openemrContext
Umbrella tracker: openemr-devops#706
Surfaced by: openemr/openemr#12397 (review threads on
docs/RELEASE_PROCESS.md)