Copyright Β© 2026, Society of Motion Picture and Television Engineers. All rights reserved. No part of this material may be reproduced, by any means whatsoever, without the prior written permission of the Society of Motion Picture and Television Engineers.
The Society of Motion Picture and Television Engineers (SMPTE) is an internationally-recognized standards developing organization. Headquartered and incorporated in the United States of America, SMPTE has members in over 80 countries on six continents. SMPTEβs Engineering Documents, including Standards, Recommended Practices, and Engineering Guidelines, are prepared by SMPTEβs Technology Committees. Participation in these Committees is open to all with a bona fide interest in their work. SMPTE cooperates closely with other standards-developing organizations, including ISO, IEC and ITU. SMPTE Engineering Documents are drafted in accordance with the rules given in its Standards Operations Manual.
For more information, please visit www.smpte.org.
This Standards Administrative Guideline forms an adjunct to the use and interpretation of the SMPTE Standards Operations Manual. In the event of a conflict, the Operations Manual shall prevail.
This document describes the process and workflow for the development and publication of SMPTE Engineering Documents using the GitHub-based authoring tooling defined in SMPTE AG 26.
The following keywords have a specific meaning in the context of this document:
The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
No terms and definitions are listed in this document.
meta tags to Document Statusπ
Table 1 maps the required content values of pubState, pubStage, and pubConfidential as defined in SMPTE AG 26 during the various stages of document development. These values represent the naming convention(s) as defined in SMPTE AG 02 and flowcharts as defined in SMPTE AG 07
| Document Status | pubStage value |
pubState value |
pubConfidential value |
See |
|---|---|---|---|---|
| Initial draft or revision (Working Draft) in:
Draft Group (DG) Study Group (SG) Working Group (WG) |
WD |
draft |
yes |
7.3 |
| >> Document moves to TC >> | ||||
| Pre-FCD (Final Committee Draft) review | WD |
pub |
yes |
7.4 |
| >> If pre-FCD comments received, back to DG/SG/WG >> | ||||
| Pre-FCD comment resolution ongoing | CD |
draft |
yes |
7.5 |
| Pre-FCD comment resolution complete | CD |
pub |
yes |
7.6 |
| >> Document moves to TC >> | ||||
| PCD (Public Committee Draft) period | CD |
pub |
no |
7.7 |
| PCD comment resolution ongoing (moves back to DG/SG/WG) | CD |
draft |
yes |
7.5 |
| PCD comment resolution complete | >> Back to Pre-FCD (Final Committee Draft) review >> | |||
| (OR) | ||||
| Ready for FCD ballot | CD |
pub |
yes |
7.6 |
| FCD ballot period | CD |
pub |
yes |
7.8 |
| >> If FCD ballot comments received >> | ||||
| FCD ballot comment resolution ongoing | FCD |
draft |
yes |
7.9 |
| FCD ballot comment resolution complete | FCD |
pub |
yes |
7.10 |
| Pre-DP (Draft Publication) review | FCD |
pub |
yes |
7.10 |
| DP ballot period | FCD |
pub |
yes |
7.11 |
| (ELSE) | ||||
| FCD ballot passes, no comments | DP |
pub |
yes |
7.12 |
| DP ballot passes | DP |
pub |
yes |
7.12 |
| Ready for ST (Standards Committee) Audit | DP |
pub |
yes |
7.12 |
| ST Audit period | DP |
pub |
yes |
7.13 |
| ST Audit complete | PUB |
draft |
yes |
7.14 |
| Waiting for publication | PUB |
draft |
yes |
7.14 |
| Published | PUB |
pub |
no |
7.15 |
See Clause 7 for the workflow utilizing these statuses.
Changes to a document shall not be made directly on the main branch. All changes shall be made on a separate branch and merged to main via a Pull Request, so that the tooling can produce the required redlines (see SMPTE AG 26).
Each PR shall have at least one approver who is not the PR author. Approval requirements that vary by document stage are specified in Clause 7.
At any moment, a document is in one of the statuses listed in Table 1. The document's pubState, pubStage, and (during the PCD period) pubConfidential metadata values determine which one, as defined in SMPTE AG 26.
A pub status (pubState=pub) lives on main, marked by an auto-drafted release. A draft status (pubState=draft) lives on a feature branch with an open Pull Request, which is the work container for that status β the PR accumulates commits while work is ongoing, and the tooling generates redlines on each PR build per SMPTE AG 26. The document advances by merging that PR to main; merges that result in pubState=pub trigger the tooling to auto-draft a release per SMPTE AG 26.
Each status is described below in a card with the same fields: Description, Metadata, Branch, Latest release, Redline, and Notification. After the fields, each card lists numbered procedures for entering and leaving the status, following Clause 6. Each procedure step that requires a specific role is tagged with the role identifier defined in 7.2; steps without a role tag (such as merging the PR or publishing the auto-drafted release) may be performed by any party with appropriate permissions.
NOTE ββ Editors and Chairs should be aware of the general guidelines provided in SMPTE AG 31.
Roles are as defined by SMPTE Standards Operations Manual. The identifiers below are used in this clause to tag procedure steps with the responsible role.
WD-draft β Initial draft / DG draftingπpubState=draft, pubStage=WD, pubConfidential=yesYYYY-initial-draft (new document) or YYYY-revision (revising), branched from mainYYYYMMDD-pub release of the previous edition.pub-rl.html versus the prior published edition (revisions only)Entering this status:
For an initial draft:
YYYY-initial-draft from main.pubState=draft, pubStage=WD, and pubConfidential=yes per SMPTE AG 26.main. The PR build generates redlines per SMPTE AG 26.WD-draft. Drafting work continues as additional commits to this open PR.For a revision:
YYYYMMDD-pub.YYYY-revision from main (which contains the prior published state).pubState=draft, pubStage=WD, and pubConfidential=yes per SMPTE AG 26.main. The PR build generates redlines including pub-rl.html versus the prior published edition.WD-draft. Revision work continues as additional commits to this open PR.Leaving this status:
When the DG declares drafting complete:
pubState=pub.pubDateTime to the date drafting was completed (format: YYYY-MM-DD).main. The tooling auto-drafts a YYYYMMDD-wd release.WD-pub β Pre-FCD TC reviewπpubState=pub, pubStage=WD, pubConfidential=yesmain.YYYYMMDD-wdrelease-rl.html versus the prior dated release (when present)Leaving this status:
If pre-FCD comments are received:
YYYYMMDD-cd1 from main.pubState=draft and pubStage=CD.main. The PR is the work container for the next status; do not merge yet.CD-draft.If no pre-FCD comments are received:
YYYYMMDD-cd1 from main.pubState=pub and pubStage=CD.main.main. The tooling auto-drafts a YYYYMMDD-cd1 release.CD-draft β CD comment resolutionπpubState=draft, pubStage=CD, pubConfidential=yesYYYYMMDD-cdn from main (n increments per iteration: cd1, cd2, β¦)YYYYMMDD-wd or YYYYMMDD-cdn-1 release.release-rl.html versus the prior CD or WD releaseLeaving this status:
When comment resolution is complete:
pubState=pub.pubDateTime to the date resolution was completed (format: YYYY-MM-DD).main. The tooling auto-drafts a YYYYMMDD-cdn release.CD-pub β Committee Draft (private)πpubState=pub, pubStage=CD, pubConfidential=yesmain.YYYYMMDD-cdnrelease-rl.htmlLeaving this status:
If the document is to undergo a PCD (Public Committee Draft) period:
main.pubConfidential=no.main.YYYYMMDD-cdn release, include [force-release] in the merge commit message per SMPTE AG 26.main. The tooling auto-drafts a release (with a -2, -3, β¦ suffix when [force-release] was used).If the document is to undergo a FCD (Final Committee Draft) ballot:
CD-pub-public β PCD period (public)πpubConfidential reflects this.pubState=pub, pubStage=CD, pubConfidential=nomain.YYYYMMDD-cdn tag as the originating 7.6 release, possibly with a numeric suffix if [force-release] was used (see SMPTE AG 26).release-rl.html (unchanged from CD-pub)Leaving this status:
When the PCD period ends:
YYYYMMDD-cdn+1 from main.pubState=draft, pubStage=CD, and pubConfidential=yes.main. The PR is the work container for the next status; do not merge yet.CD-draft.FCD-ballot β FCD ballot periodπpubState=pub, pubStage=CD, pubConfidential=yesmain.YYYYMMDD-cdnrelease-rl.htmlLeaving this status:
If the FCD ballot received comments:
YYYYMMDD-fcd-cr from main.pubState=draft and pubStage=FCD.main. The PR is the work container for the next status; do not merge yet.FCD-draft.If the FCD ballot passed without comments:
YYYYMMDD-dp from main.pubStage=DP. (pubState remains pub.)main.main. The tooling auto-drafts a YYYYMMDD-dp release.FCD-draft β FCD ballot comment resolutionπpubState=draft, pubStage=FCD, pubConfidential=yesYYYYMMDD-fcd-cr (or similarly named comment-resolution branch) from mainYYYYMMDD-cdn release (the FCD ballot zip).release-rl.html versus the prior CD releaseLeaving this status:
When comment resolution is complete:
pubState=pub.pubDateTime to the date resolution was completed (format: YYYY-MM-DD).main. The tooling auto-drafts a YYYYMMDD-fcd release.FCD-pub β Pre-DP reviewπpubState=pub, pubStage=FCD, pubConfidential=yesmain.YYYYMMDD-fcdrelease-rl.html versus the prior CD or FCD releaseLeaving this status:
When the Pre-DP review is complete:
DP-ballot β DP ballot periodπpubState=pub, pubStage=FCD, pubConfidential=yesmain.YYYYMMDD-fcdrelease-rl.html versus the prior CD or FCD releaseLeaving this status:
When the DP ballot passes:
YYYYMMDD-dp from main.pubStage=DP. (pubState remains pub.)main.main. The tooling auto-drafts a YYYYMMDD-dp release.If the DP ballot does not pass:
YYYYMMDD-cdn+1 from main.pubState=draft and pubStage=CD.main. The PR is the work container for the next status; do not merge yet.CD-draft.DP-pub β Draft PublicationπpubState=pub, pubStage=DP, pubConfidential=yesmain.YYYYMMDD-dprelease-rl.html versus the prior FCD or CD releaseLeaving this status:
When the document is ready for ST audit:
ST-audit β ST audit periodπpubState=pub, pubStage=DP, pubConfidential=yesmain.YYYYMMDD-dprelease-rl.html versus the prior FCD or CD releaseLeaving this status:
When the ST audit completes:
YYYYMMDD-pub from main.pubStage=PUB and pubState=draft.main. The PR is the work container for the next status; do not merge yet.PUB-draft.If the ST audit does not pass:
NOTE ββ An ST audit failure typically indicates a process issue rather than a content defect. No dedicated fall-back path exists at present; the procedure below routes the document back to CD-draft for resolution as a temporary measure.
YYYYMMDD-cdn+1 from main.pubState=draft and pubStage=CD.main. The PR is the work container for the next status; do not merge yet.CD-draft.PUB-draft β Awaiting publicationπpubState=draft, pubStage=PUB, pubConfidential=yesYYYYMMDD-pub branch used to enter this status persists; the leaving change is made on this same branch.YYYYMMDD-dp release. No release is auto-drafted on entering this status.pub-rl.html versus the prior published edition.Leaving this status:
When ready to publish:
pubState=pub and pubConfidential=no.main. The tooling auto-drafts a YYYYMMDD-pub release.PUB-pub β PublishedπpubState=pub, pubStage=PUB, pubConfidential=nomain. Terminal β no further outgoing branch is created.YYYYMMDD-pubpub-rl.html versus the prior published editionLeaving this status:
None β this is a terminal status. A subsequent revision begins a new lifecycle from 7.3, working from this YYYYMMDD-pub release as the baseline.