diff --git a/doc/source/contributor/bug-deputy.rst b/doc/source/contributor/bug-deputy.rst
new file mode 100644
index 0000000000..57bff71e11
--- /dev/null
+++ b/doc/source/contributor/bug-deputy.rst
@@ -0,0 +1,85 @@
+Bug Deputy Guide
+================
+
+Ironic has a rotating bug deputy role with assigned responsibilities around
+ensuring recurring project maintenance occurs, with a specific focus on bug
+triage.
+
+It is the intent that the time commitment of an upstream bug deputy be no more
+than two to four hours a week on average.
+
+Schedule
+--------
+Typically, a bug deputy will serve for a one week period, with the Ironic
+meeting marking the beginning and end of the term.
+
+A bug deputy schedule will be built at the beginning of the OpenStack release
+cycle and populated by project volunteers. Contributors can select weeks to
+volunteer for stints as bug deputy.
+
+If there are insufficient volunteers, to cover a majority of weeks, the bug
+deputy program will be cancelled.
+
+Responsibilities
+----------------
+
+Bug Triage
+^^^^^^^^^^
+Triage bugs opened in any Ironic project.
+
+All Ironic project bugtrackers, filtered and sorted for triage:
+
+* `ironic <https://bugs.launchpad.net/ironic/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `ironic-inspector <https://bugs.launchpad.net/ironic-inspector/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `ironic-python-agent <https://bugs.launchpad.net/ironic-python-agent/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `ironic-lib <https://bugs.launchpad.net/ironic-lib/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `bifrost <https://bugs.launchpad.net/bifrost/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `ironic-prometheus-exporter <https://bugs.launchpad.net/ironic-prometheus-exporter/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `ironic-python-agent-builder <https://bugs.launchpad.net/ironic-python-agent-builder/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `ironic-ui <https://bugs.launchpad.net/ironic-ui/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `metalsmith <https://bugs.launchpad.net/metalsmith/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `molteniron <https://bugs.launchpad.net/molteniron/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `networking-baremetal <https://bugs.launchpad.net/networking-baremetal/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `networking-generic-switch <https://bugs.launchpad.net/networking-generic-switch/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `python-ironic-inspector-client <https://bugs.launchpad.net/python-ironic-inspector-client/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `python-ironicclient <https://bugs.launchpad.net/python-ironicclient/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `sushy <https://bugs.launchpad.net/sushy/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `sushy-tools <https://bugs.launchpad.net/sushy-tools/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `tenks <https://bugs.launchpad.net/tenks/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+* `virtualbmc <https://bugs.launchpad.net/virtualbmc/+bugs?field.status%3Alist=NEW&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&orderby=-id>`_
+
+Bug Bash
+^^^^^^^^
+A bug bash is an informal, synchronous meeting to triage bugs. A bug deputy
+runs one per week at a time and in a format convenient for them.
+
+The selected time and venue for this should be announced on the mailing list
+and at the Ironic meeting when the bug deputy position is handed over.
+
+.. note::
+  Bug bashes may be discontinued when the backlog of old, untriaged bugs have
+  been worked through.
+
+Review Periodic Stable CI Jobs
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The bug deputy is responsible for reviewing the periodic stable CI jobs once
+during their week and notifying the community if one fails for a new,
+non-random reason. The bug deputy should also be prepared to help debug the
+issue, but is ultimately only responsible for documenting it.
+
+* `Periodic Zuul build failures for Ironic/IPA/Ironic-Prom-Exp/Bifrost <https://zuul.opendev.org/t/openstack/builds?project=openstack%2Fironic&project=openstack%2Fironic-python-agent&project=openstack%2Fironic-lib&project=openstack%2Fironic-prometheus-exporter&project=openstack%2Fbifrost&pipeline=periodic&pipeline=periodic-stable&result=FAILURE&result=RETRY_LIMIT&result=POST_FAILURE&result=ERROR&skip=0>`_
+* `Periodic Zuul build failures for Ironic UI/NBM/NGS <https://zuul.opendev.org/t/openstack/builds?project=openstack%2Fnetworking-generic-switch&project=openstack%2Fironic-ui&project=openstack%2Fnetworking-baremetal&pipeline=periodic&pipeline=periodic-stable&result=FAILURE&result=RETRY_LIMIT&result=POST_FAILURE&result=ERROR&skip=0>`_
+* `Periodic Zuul build failures for inspector-client/sushy/sushy-tools/vbmc/vpdu/ <https://zuul.opendev.org/t/openstack/builds?project=openstack%2Fpython-ironic-inspector-client&project=openstack%2Fsushy&project=openstack%2Fsushy-tools&project=openstack%2Fvirtualbmc&project=openstack%2Fvirtualpdu&pipeline=periodic&pipeline=periodic-stable&result=FAILURE&result=RETRY_LIMIT&result=POST_FAILURE&result=ERROR&skip=0>`_
+
+As of this writing, no other projects under Ironic governance run periodic
+jobs.
+
+Weekly Report
+^^^^^^^^^^^^^
+Once a week, at the end of the bug deputy's term, they should deliver a report
+to the Ironic meeting and the mailing list. This report should include any
+concerning bugs or CI breakages, as well as any other issues that the bug
+deputy feels the community needs to know about.
+
+For contributors who do not wish to attend the weekly meeting, a small written
+report in the meeting agenda is sufficient.
diff --git a/doc/source/contributor/index.rst b/doc/source/contributor/index.rst
index 4e41642180..2b969d1c04 100644
--- a/doc/source/contributor/index.rst
+++ b/doc/source/contributor/index.rst
@@ -14,6 +14,7 @@ project.
   Bare Metal Community <community>
   Developer Contribution Guide <contributing>
   Bugs Reporting and Triaging Guide <bugs>
+  Bug Deputy Guide <bug-deputy>
   Setting Up Your Development Environment <dev-quickstart>
   Priorities <https://specs.openstack.org/openstack/ironic-specs/#priorities>
   Specifications <https://specs.openstack.org/openstack/ironic-specs/>