diff --git a/howto/release/repositories/ci-management/misc.rst b/howto/release/repositories/ci-management/misc.rst
new file mode 100644
index 0000000..59b6247
--- /dev/null
+++ b/howto/release/repositories/ci-management/misc.rst
@@ -0,0 +1,62 @@
+Misc Todo Items
+===============
+
+- Baseline build
+
+  - Update copyright notices :ref:`Release Task Copyright`
+
+- Pre-branch build
+  - make help
+  - make lint
+
+- Build
+
+  - make help
+  - make sterile
+  - make lint
+  - make build
+  - make test
+
+## Post editing on the release branch:
+
+- Update VERSION file to contain X.Y.{1+Z}
+- Update .gitreview, defaultbranch=votlha-X.Y
+
+- `bbsim-tests.groovy <https://gerrit.opencord.org/plugins/gitiles/ci-management/+/refs/heads/master/jjb/pipeline/voltha/bbsim-tests.groovy#35>`_
+
+.. code:: groovy
+
+   // -----------------------------------------------------------------------
+   // Intent: Return branch name for the script.  A hardcoded value is used
+   //   as a guarantee release jobs are running in an expected sandbox.
+   // -----------------------------------------------------------------------
+   String branchName()
+   {
+       String br = 'master'  // <<----** Change to release branch
+
+       // "${branch}" is assigned by jenkins
+       if (br != branch)
+       {
+           String err = [
+               'ERROR: Detected invalid branch',
+               "(expected=[${br}] != found=[${branch}])"
+           ].join(' ')
+           throw new Exception(err) // groovylint-disable-line ThrowException
+       }
+       return (br)
+   }
+
+## TODO
+
+- Tools bbsim and voltctl are versioned for release.
+- Track down which test scripts contain hardcoded versions for checkout.
+
+  - Command use is all over the place and not all are being frozen.
+  - Abstract this into makefile targets (~voltctl) or a central script
+    that simply returns version string for a package.  A standalone entity
+    will simplify maintenance and can be generated/autoamtically frozen
+    on a branch at release time.
+
+- Consider tool versioning in general.  Planning for tool upgrades helps
+  minimize unplanned breakage.
+
diff --git a/howto/release/repositories/ci-management/release.rst b/howto/release/repositories/ci-management/release.rst
new file mode 100644
index 0000000..f90440e
--- /dev/null
+++ b/howto/release/repositories/ci-management/release.rst
@@ -0,0 +1,82 @@
+.. _Release Repository ci-management:
+
+Repository: ci-management
+=========================
+
+- `repo:ci-management <https://gerrit.opencord.org/plugins/gitiles/ci-management>`_
+- First repsitory to release.
+- One of only three repositories to branch-then-tag.
+- Dependency for releasing all other repositories, test suites are
+  launched from release branch=votha-X.Y.
+
+Release: {Tag,Branch}ing script
+-------------------------------
+`repo:voltha-release <https://gerrit.opencord.org/plugins/gitiles/voltha-release>`_ :: `bttb.sh <https://gerrit.opencord.org/plugins/gitiles/voltha-release/+/refs/heads/master/bttb.sh>`_ (branch-tag/or/tag-branch)
+
+The bttb.sh script will perform several tasks to release a repository.
+
+- Clone a named sandbox.
+- Identify release activity by repository name: tag-branch or branch-tag.
+
+## Identify release activity by repository (TagBranch-or-BranchTag)
+
+.. code :: python
+
+  # Identify by repository name then tag-branch or branch-tag:
+  if repo in ['ci-management', 'voltha-helm-charts', 'voltha-system-tests']:
+      create_branch voltha-X.Y
+      create_tag attached to branch=voltha-X.Y
+  else:
+      create_tag 2.12.0 OR v2.12.0
+      create_branch voltha-2.12 attached to tag=2.12.0
+
+   % git push {tags,branches}
+
+## Create a release dev branch for edits
+
+.. code-block:: shell-session
+   :caption: Identify release activity by repository
+
+   % git clone -b dev-joey voltha-2.12  (or origin/voltha-2.12)
+
+   # Edit VERSION file: X.Y.{1+Z}
+   % echo 'X.Y.{1+Z}' > VERSION
+
+   # Edit .gitreview: defaultbranch=voltha-X.Y
+   % grep -v 'defaultbranch' .gitreview > .gitreview.tmp
+   % echo "defaultbranch=voltha-2.12" >> .gitreview.tmp
+   % mv -f .gitreview.tmp .gitreview
+
+## Command usage: bttb.sh
+
+.. code-block:: shell-session
+   :caption: Release tagging and branching
+
+   % git clone ssh://gerrit.opencord.org:29418/voltha-release
+   % cd voltha-release
+
+   % ./bttb.sh --help
+
+   declare -a args=()
+
+   args+=('--clean')                  # Remove existing checkouts
+   args+=('--edit')                   # Edit VERISON, commit message, etc
+
+   args+=('--[no-]gerrit')            # View repo branch & tags early
+   args+=('--sandbox' './sandbox')    # git clone target directory
+
+   args+=('--repo' 'ci-management')
+   args+=('--version' '2.12')         # votlha-2.12 release
+
+   args+=('--jira' 'VOL-5020') # Jira ticket: release the repository
+   args+=('--jira' 'VOL-5021') # addendum
+   args+=('--jira' 'VOL-5022')
+
+   # Generate branch={master,voltha-2.12} commit messages
+   args+=('--commit-message-dir' "${PWD}/sandbox/messages")
+
+   % ./bttb.sh "${args[@]}" 2>&1 | tee ci-management.log
+
+See Also
+--------
+https://docs.voltha.org/master/release_notes/release_process.html
