diff --git a/.gitignore b/.gitignore
index 9e8406b..06371ed 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,7 @@
+# -*- makefile -*-
+
 # build related
+.venv/
 venv_docs
 doc_venv
 _build
@@ -27,3 +30,10 @@
 
 # OS
 .DS_Store
+
+# Logfiles
+log
+test-errors.*.log
+*.log
+
+# [EOF]
diff --git a/Makefile b/Makefile
index 0ae2243..7d76ccb 100644
--- a/Makefile
+++ b/Makefile
@@ -62,6 +62,7 @@
 
 ## -----------------------------------------------------------------------
 ## Intent: lint and link verification. linkcheck is part of sphinx
+## See Also: make test-errors
 ## -----------------------------------------------------------------------
 test: lint linkcheck
 
@@ -95,7 +96,7 @@
 	mdl -s $(LINT_STYLE) `find -L $(SOURCEDIR) ! -path "./_$(venv-activate-script)/*" ! -path "./_build/*" ! -path "./repos/*" ! -path "*vendor*" -name "*.md"`
 
 # clean up
-clean:
+clean ::
 	$(RM) -r $(BUILDDIR) $(OTHER_REPO_DOCS) $(STATIC_DOCS)
 
 clean-all sterile :: clean
@@ -182,12 +183,6 @@
  && $(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
 
 ## -----------------------------------------------------------------------
-## -----------------------------------------------------------------------
-BROWSER ?= $(error Usage: $(MAKE) $@ BROWSER=)
-view-html:
-	"$(BROWSER)" _build/html/index.html
-
-## -----------------------------------------------------------------------
 ## Intent: Display makefile target help
 ## -----------------------------------------------------------------------
 help :: $(venv-activate-script)
diff --git a/VERSION b/VERSION
index 371a952..b0c818e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.12.2
+2.12.3-dev
diff --git a/howto/release/ci-management/jjb_software_upgrades.rst b/howto/release/ci-management/jjb_software_upgrades.rst
index d26eb4a..6f37c27 100644
--- a/howto/release/ci-management/jjb_software_upgrades.rst
+++ b/howto/release/ci-management/jjb_software_upgrades.rst
@@ -11,7 +11,7 @@
 
 - Instead obtain snapshot version from pom.xml and type in the explicit URL path:
 
-  - `aaa-app/2.9.0-SNAPSHOT <https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app/2.9.0-SNAPSHOT/>`_
+  - `aaa-app/2.9.0-SNAPSHOT <https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app/>`_
 
   - `aaa.index <https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app>`_
 
diff --git a/makefiles/consts.mk b/makefiles/consts.mk
index bac4362..8961b3a 100644
--- a/makefiles/consts.mk
+++ b/makefiles/consts.mk
@@ -17,6 +17,9 @@
 # SPDX-FileCopyrightText: 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
 # SPDX-License-Identifier: Apache-2.0
 # -----------------------------------------------------------------------
+# https://gerrit.opencord.org/plugins/gitiles/onf-make
+# ONF.makefile.version = 1.0
+# -----------------------------------------------------------------------
 
 $(if $(DEBUG),$(warning ENTER))
 
@@ -24,17 +27,25 @@
 export dot          :=.
 export null         :=#
 export space        := $(null) $(null)
-export quote-single := $(null)"$(null)#"
-export quote-double := $(null)'$(null)#'
+export quote-single := $(null)'$(null)#'
+export quote-double := $(null)"$(null)#"
 
 # [DEBUG] make {target} HIDE=
-HIDE        ?= @
+HIDE           ?= @
 
 env-clean      ?= /usr/bin/env --ignore-environment
 xargs-n1       := xargs -0 -t -n1 --no-run-if-empty
 xargs-n1-clean := $(env-clean) $(xargs-n1)
 
 ## -----------------------------------------------------------------------
+## Intent: NOP command for targets whose dependencies do all heavy lifting
+## -----------------------------------------------------------------------
+## usage: foo bar tans
+## <tab>$(nop-command)
+## -----------------------------------------------------------------------
+nop-cmd        := :
+
+## -----------------------------------------------------------------------
 ## Default shell:
 ##   o set -e            enable error checking
 ##   o set -u            report undefined errors
diff --git a/makefiles/help/include.mk b/makefiles/help/include.mk
index 3cca2cd..44c119a 100644
--- a/makefiles/help/include.mk
+++ b/makefiles/help/include.mk
@@ -30,7 +30,6 @@
 	@echo
 	@echo '[VIEW]'
 	@echo '  reload         Setup to auto-reload sphinx doc changes in browser'
-	@echo '  view-html      View generated documentation'
 	@echo
 	@echo '[TEST]'
 	@echo '  test           make lint linkcheck'
diff --git a/makefiles/include.mk b/makefiles/include.mk
index 3042488..db96771 100644
--- a/makefiles/include.mk
+++ b/makefiles/include.mk
@@ -36,6 +36,9 @@
 include $(MAKEDIR)/patches/include.mk#    # Patch when python 3.10+ in use
 include $(ONF_MAKE)/help/variables.mk
 
+include $(ONF_MAKE)/targets/include.mk
+
+
 $(if $(DEBUG),$(warning LEAVE))
 
 # [EOF]
diff --git a/makefiles/targets/include.mk b/makefiles/targets/include.mk
new file mode 100644
index 0000000..2d49fda
--- /dev/null
+++ b/makefiles/targets/include.mk
@@ -0,0 +1,28 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-FileCopyrightText: 2022 Open Networking Foundation (ONF) and the ONF Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+include $(ONF_MAKE)/targets/test-errors.mk
+# include $(ONF_MAKE)/targets/tox.mk
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
diff --git a/makefiles/targets/test-errors.mk b/makefiles/targets/test-errors.mk
new file mode 100644
index 0000000..548da7f
--- /dev/null
+++ b/makefiles/targets/test-errors.mk
@@ -0,0 +1,65 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-FileCopyrightText: 2022 Open Networking Foundation (ONF) and the ONF Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+## -----------------------------------------------------------------------
+## Intent: Summary 'make test' to hilight errors
+## -----------------------------------------------------------------------
+test-errors-lint := test-errors.lint.log
+test-errors-link := test-errors.linkcheck.log
+test-errors:
+	@echo "** Running $(MAKE) sterile"
+	$(HIDE)( $(MAKE) sterile 3>&1 2>&1 ) >/dev/null
+
+	@echo
+	@echo "** Running $(MAKE) lint"
+	-$(HIDE) ( $(MAKE) lint 3>&1 2>&1 ) > $(test-errors-lint)
+
+	@echo '** Screen log for errors: $(test-errors-lint)'
+	$(HIDE)! grep \
+	  -e 'make: ***' \
+	  $(test-errors-lint)
+
+	@echo
+	@echo "** Running $(MAKE) linkcheck"
+	-$(HIDE) ( $(MAKE) linkcheck 3>&1 2>&1 ) > $(test-errors-link)
+
+	@echo '** Screen log for errors: $(test-errors-link)'
+	$(HIDE)! grep \
+	  -e 'make: ***' \
+	  -e 'broken'    \
+	 $(test-errors-link)
+
+## -----------------------------------------------------------------------
+## Intent: Remove generated logfiles
+## -----------------------------------------------------------------------
+clean ::
+	$(RM) $(test-errors-lint) $(test-errors-link)
+
+## -----------------------------------------------------------------------
+## Intent: Display target help
+## -----------------------------------------------------------------------
+help ::
+	@echo '  test-errors    Run make test and display an error summary'
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
diff --git a/makefiles/todo.mk b/makefiles/todo.mk
index b122a9e..f788724 100644
--- a/makefiles/todo.mk
+++ b/makefiles/todo.mk
@@ -24,6 +24,11 @@
 ## -----------------------------------------------------------------------
 todo ::
 	@echo '[TODO]'
+	@echo '  CLEANUP: make test'
+	@echo '    WARNING: document isnt included in any toctree'
+	@echo
+	@echo '  CLEANUP: make linkcheck'
+	@echo '    replace redirect URLs with resolved urls'
 
 ## -----------------------------------------------------------------------
 ## -----------------------------------------------------------------------
diff --git a/makefiles/virtualenv.mk b/makefiles/virtualenv.mk
index bcda734..fd178f3 100644
--- a/makefiles/virtualenv.mk
+++ b/makefiles/virtualenv.mk
@@ -14,6 +14,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ## -----------------------------------------------------------------------
+# https://gerrit.opencord.org/plugins/gitiles/onf-make
+# ONF.makefile.version = 1.0
+# -----------------------------------------------------------------------
 
 $(if $(DEBUG),$(warning ENTER))
 
diff --git a/overview/releases.rst b/overview/releases.rst
index 4c86205..31ac0b2 100644
--- a/overview/releases.rst
+++ b/overview/releases.rst
@@ -126,3 +126,8 @@
      - December 30, 2022
      -
      -
+   * - `VOLTHA 2.12-FIXME <../release_notes/voltha_2.11.html>`_
+     - December 30, 2022
+     - June 30, 2023
+     -
+     -
diff --git a/release_notes/index.rst b/release_notes/index.rst
index 7c3ca31..498fdee 100644
--- a/release_notes/index.rst
+++ b/release_notes/index.rst
@@ -4,6 +4,7 @@
 .. toctree::
    :maxdepth: 1
 
+   voltha_2.12.rst
    voltha_2.11.rst
    voltha_2.10.rst
    voltha_2.9.rst
diff --git a/release_notes/voltha_2.12.rst b/release_notes/voltha_2.12.rst
new file mode 100644
index 0000000..0d473f0
--- /dev/null
+++ b/release_notes/voltha_2.12.rst
@@ -0,0 +1,119 @@
+.. figure:: images/voltha.svg
+   :alt: voltha- Release Notes
+   :width: 40%
+   :align: center
+
+
+VOLTHA 2.12 Release Notes
+=========================
+
+Highlights
+----------
+
+Features & Improvements
+-----------------------
+
+Bug Fixes
+---------
+
+Test
+----
+
+Documentation
+-------------
+
+As usual documentation is published on https://docs.voltha.org
+
+
+Known Issues
+------------
+.. list-table:: Known Issues
+   :widths: 10, 40
+   :header-rows: 1
+
+   * - Jira
+     - Description
+   * - Placeholder
+     - Placeholder
+
+Certification Program
+---------------------
+
+Thanks to the Continuous Certification program at ONF we can also ensure
+that the following ONF member products are compatible with the VOLTHA 2.11
+release:
+
+- Edgecore ASGVolt64 GPON OLT
+- Radisys 3200G GPON OLT
+- Radisys 1600G GPON OLT
+- Zyxel SDA3016SS Combo OLT
+
+
+Jira stories
+------------
+A full list of stories and bugs completed can be found under the
+`VOLTHA 2.12 <https://jira.opencord.org/projects/VOL/versions/12600>`_ (`formatted <https://jira.opencord.org/secure/ReleaseNote.jspa?projectId=10106&version=12600>`_) release page in Jira.
+
+|
+
+Component Versions in VOLTHA 2.12 release
+-----------------------------------------
+
+Helm Chart Versions
++++++++++++++++++++
+This section refers to the macro charts to deploy the required infrastructure and a (or many) VOLTHA stacks:
+
+BAL Version
++++++++++++
+
+|
+
+Get Involved
+------------
+We'd love to accept your patches and contributions to the VOLTHA project, join the community!
+
+| Here are a few resources to get you started:
+
+
+Index/Entry points
+++++++++++++++++++
+
+  - `https://docs.voltha.org <https://docs.voltha.org/master/index.html>`_
+  - `Getting Started <https://docs.voltha.org/master/overview/contributing.html>`_
+
+HOWTO
++++++
+
+  - `Code, Documentation, Makefiles <https://docs.voltha.org/master/howto/index.html>`_
+  - `Setup a test pod <https://docs.voltha.org/master/overview/lab_setup.html>`_
+  - `Troubleshooting <https://docs.voltha.org/master/overview/troubleshooting.html>`_
+
+Testing
++++++++
+
+  - `Automation <https://docs.voltha.org/master/testing/voltha_test_automation.html>`_
+  - `Robot testing harness <https://docs.voltha.org/master/testing/index.html>`_
+  - `voltha-system-tests <https://docs.voltha.org/master/voltha-system-tests/README.html>`_
+
+CLI Tools
++++++++++
+
+  - `BBSIM <https://docs.voltha.org/master/bbsim/docs/source/index.html>`__
+  - `voltctl <https://docs.voltha.org/master/voltctl/README.html?highlight=voltctl>`__
+
+Slack
++++++
+  - `voltha-dev <https://app.slack.com/client/T095Z193Q/C01D229FP2A>`_
+  - `community <https://app.slack.com/client/T095Z193Q/C0184DT7116>`_
+  - `general <https://app.slack.com/client/T095Z193Q/C095YQBLL>`_
+
+Mailing List
+++++++++++++
+  - `voltha-discuss@opennetworking.org <https://groups.google.com/a/opennetworking.org/g/voltha-discuss>`_.
+
+Weekly TST Meetings
++++++++++++++++++++
+- `Zoom Meeting <https://www.google.com/url?q=https://onf.zoom.us/j/978447356?pwd%3DdS9WajNLam9ZeFExOHV3SXB2Nk1VZz09&sa=D&source=calendar&ust=1686087684256971&usg=AOvVaw3dMQpIMYLlyjTTmkvW_edp>`_.
+- `Rolling Agenda <https://www.google.com/url?q=https://docs.google.com/document/d/1mNqronCip_-tDjFI-ZoudNteC3AnOcVONPHz7HuW8Eg/edit?usp%3Dsharing&sa=D&source=calendar&ust=1686087684256971&usg=AOvVaw3km2VVU2j1qa6JCGI0iSBx>`_.
+
+|
