diff --git a/config.mk b/config.mk
index 399fbe7..3cec7fd 100644
--- a/config.mk
+++ b/config.mk
@@ -16,7 +16,7 @@
 # -----------------------------------------------------------------------
 # https://gerrit.opencord.org/plugins/gitiles/onf-make
 # ONF.makefiles.include.version = 1.1
-# ONF.confg.mk                  = 1.1
+# ONF.confg.mk                  = 1.5
 # -----------------------------------------------------------------------
 
 --repo-name-- := ci-management
@@ -25,8 +25,8 @@
 ##--------------------------------##
 ##---]  Disable lint targets  [---##
 ##--------------------------------##
-# NO-LINT-DOC8      := true  **
-# NO-LINT-GOLANG    := true  **
+# NO-LINT-DOC8      := true
+# NO-LINT-GOLANG    := true
 NO-LINT-GROOVY      := true#               # Note[1]
 # NO-LINT-JJB       := true#               # Note[2]
 # NO-LINT-JSON      := true#               # Note[1]
@@ -34,11 +34,12 @@
 NO-LINT-REUSE       := true                # License check
 NO-LINT-ROBOT       := true
 NO-LINT-SHELL       := true#               # Note[1]
+# NO-LINT-TOX       := true#               # Note[1]
 NO-LINT-YAML        := true#               # Note[1]
 
+# NO-LINT-FLAKE8    := true#               # Note[1]
 NO-LINT-PYTHON      := true#               # Note[1]
 # NO-LINT-PYLINT    := true#               # Note[1]
-# NO-LINT-TOX       := true#               # Note[1]
 
 # Note[1] - A boatload of source to cleanup prior to enable.
 # Note[2] - No sources available
@@ -75,6 +76,10 @@
 onf-excl-dirs += patches#       # voltha docs - python upgrade
 onf-excl-dirs += .tox           # also a python dependency
 
+ifeq ($(--repo-name--),voltha-docs)
+  lint-doc8-excl += '_build'
+endif
+
 onf-excl-dirs ?= $(error onf-excl-dirs= is required)
 
 ##-----------------------------##
@@ -86,6 +91,9 @@
 $(if $(filter %ci-management,$(--repo-name--)),\
   $(eval --REPO-IS-CI-MANAGEMENT-- := true)\
 )
+$(if $(filter %voltha-docs,$(--repo-name--)),\
+  $(eval --REPO-IS-VOLTHA-DOCS-- := true)\
+)
 
 # create makefiles/config/byrepo/{--repo-name--}.mk for one-off snowflakes ?
 # $(if $(wildcard docker),$(eval USE-ONF-DOCKER-MK := true))
@@ -101,6 +109,11 @@
   onf-excl-dirs += packer
 endif
 
+ifdef --REPO-IS-VOLTHA-DOCS--
+  onf-excl-dirs += _build
+  onf-excl-dirs += repos
+endif
+
 ifdef NO-LINT-PYTHON
   NO-LINT-FLAKE8 := true
   NO-LINT-PYLINT := true
@@ -112,4 +125,16 @@
 
 onf-excl-dirs := $(sort $(strip $(onf-excl-dirs)))
 
+# [TODO]#
+#  --------------------------------------------------------------------
+#   o two distinct makefiles/ directories are needed, one for onf-make
+#   o second for repository specific makefile configs and logic.
+#   o Two independent vars specify path:
+#       ONF_MAKEDIR = library makefiles
+#       MAKEDIR     = repository specific content
+#   o Conditional repository testing above can crush down all the
+#     "if-this-repository-is-X-do-Y' logic above intoL
+#     include $(MAKEDIR)/config.mk   # repo:$(--repo-name--)
+#  --------------------------------------------------------------------
+
 # [EOF]
diff --git a/jjb/voltha-test/voltha-release-jobs/voltha-2.11.yaml b/jjb/voltha-test/voltha-release-jobs/voltha-2.11.yaml
index b7fdbd9..552e6b0 100644
--- a/jjb/voltha-test/voltha-release-jobs/voltha-2.11.yaml
+++ b/jjb/voltha-test/voltha-release-jobs/voltha-2.11.yaml
@@ -30,7 +30,7 @@
     jobs:
       # flex OCP pod with olt/onu - Default tech profile and timer based job
       - 'build_voltha_pod_release_timer':
-          disable-job: false
+          disable-job: true
           build-node: 'qa-testvm-pod'
           config-pod: 'flex-ocp-cord'
           release: '2.11'
diff --git a/jjb/voltha-test/voltha-release-jobs/voltha-2.12.yaml b/jjb/voltha-test/voltha-release-jobs/voltha-2.12.yaml
index 260494a..e56a555 100644
--- a/jjb/voltha-test/voltha-release-jobs/voltha-2.12.yaml
+++ b/jjb/voltha-test/voltha-release-jobs/voltha-2.12.yaml
@@ -30,7 +30,7 @@
     jobs:
       # flex OCP pod with olt/onu - Default tech profile and timer based job
       - 'build_voltha_pod_release_timer':
-          disable-job: false
+          disable-job: true
           build-node: 'qa-testvm-pod'
           config-pod: 'flex-ocp-cord'
           release: '2.12'
diff --git a/makefiles/include.mk b/makefiles/include.mk
index 778d730..97ea39a 100644
--- a/makefiles/include.mk
+++ b/makefiles/include.mk
@@ -42,6 +42,7 @@
 include $(ONF_MAKEDIR)/commands/include.mk   # Tools and local installers
 
 include $(ONF_MAKEDIR)/virtualenv.mk#        # lint-{jjb,python} depends on venv
+# include $(ONF_MAKEDIR)/patches/include.mk#   # Patch when python 3.10+ in use
 include $(ONF_MAKEDIR)/lint/include.mk
 
 include $(ONF_MAKEDIR)/gerrit/include.mk
diff --git a/makefiles/lint/doc8/excl.mk b/makefiles/lint/doc8/excl.mk
new file mode 100644
index 0000000..efa71da
--- /dev/null
+++ b/makefiles/lint/doc8/excl.mk
@@ -0,0 +1,48 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2017-2022 Open Networking Foundation
+#
+# 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.
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+
+## excl := $(wildcar */*/.git)
+lint-doc8-excl-raw += '$(venv-name)'
+lint-doc8-excl-raw += '*/$(venv-name)'
+$(if $(BUILDDIR),\
+  $(excl lint-doc8-excl-raw += '$(BUILDDIR)'))
+
+# YUCK! -- overhead
+#   o Submodule(s) use individual/variant virtualenv install paths.
+#   o Exclude special snowflakes to enable library makefile use.
+#   o All can use virtualenv.mk for consistent names and cleanup
+#   o [TODO] Ignore submodules, individual repos should check their sources.
+
+lint-doc8-excl-raw += '*/venv_cord'
+lint-doc8-excl-raw += '*/vst_venv'
+
+lint-doc8-excl-raw += './cord-tester'
+lint-doc8-excl-raw += './repos/cord-tester'
+
+lint-doc8-excl-raw += './bbsim/internal/bbsim/responders/sadis/dp.txt'
+lint-doc8-excl-raw += './repos/bbsim/internal/bbsim/responders/sadis/dp.txt'
+lint-doc8-excl-raw += './repos/voltha-helm-charts/voltha-infra/templates/NOTES.txt'
+lint-doc8-excl-raw += './voltha-helm-charts/voltha-infra/templates/NOTES.txt'
+
+$(if $(DEBUG),$(warning LEAVE))
+
+# [EOF]
diff --git a/makefiles/lint/doc8/include.mk b/makefiles/lint/doc8/include.mk
new file mode 100644
index 0000000..6490b89
--- /dev/null
+++ b/makefiles/lint/doc8/include.mk
@@ -0,0 +1,67 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2017-2022 Open Networking Foundation
+#
+# 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.
+# -----------------------------------------------------------------------
+
+##-------------------##
+##---]  GLOBALS  [---##
+##-------------------##
+.PHONY: lint-doc8 lint-doc8-all lint-doc8-modified
+
+have-rst-files := $(if $(strip $(RST_SOURCE)),true)
+RST_SOURCE     ?= $(error RST_SOURCE= is required)
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+ifndef NO-LINT-DOC8
+  lint-doc8-mode := $(if $(have-doc8-files),modified,all)
+  lint : lint-doc8-$(lint-doc8-mode)
+endif# NO-LINT-DOC8
+
+# Consistent targets across lint makefiles
+lint-doc8-all      : lint-doc8
+lint-doc8-modified : lint-doc8
+
+## -----------------------------------------------------------------------
+## -----------------------------------------------------------------------
+include $(ONF_MAKEDIR)/lint/doc8/excl.mk
+
+ifdef lint-doc8-excl
+  lint-doc8-excl-args += $(addprefix --ignore-path$(space),$(lint-doc8-excl))
+endif
+lint-doc8-excl-args += $(addprefix --ignore-path$(space),$(lint-doc8-excl-raw))
+
+lint-doc8-args += --max-line-length 120
+
+lint-doc8: $(venv-activate-script)
+	@echo
+	@echo '** -----------------------------------------------------------------------'
+	@echo '** doc8 *.rst syntax checking'
+	@echo '** -----------------------------------------------------------------------'
+	$(activate) && doc8 --version
+	@echo
+	$(activate) && doc8 $(lint-doc8-excl-args) $(lint-doc8-args) .
+
+## -----------------------------------------------------------------------
+## Intent: Display command usage
+## -----------------------------------------------------------------------
+help::
+	@echo '  lint-doc8          Syntax check python using the doc8 command'
+  ifdef VERBOSE
+	@echo '  lint-doc8-all       doc8 checking: exhaustive'
+	@echo '  lint-doc8-modified  doc8 checking: only modified'
+  endif
+
+# [EOF]
diff --git a/makefiles/lint/include.mk b/makefiles/lint/include.mk
index 894f718..2ae2575 100644
--- a/makefiles/lint/include.mk
+++ b/makefiles/lint/include.mk
@@ -1,5 +1,4 @@
 # -*- makefile -*-
-# -*- makefile -*-
 # -----------------------------------------------------------------------
 # Copyright 2022-2023 Open Networking Foundation (ONF) and the ONF Contributors
 #
@@ -28,6 +27,7 @@
 	@echo
 	@echo "[LINT]"
 
+include $(ONF_MAKEDIR)/lint/doc8
 include $(ONF_MAKEDIR)/lint/groovy.mk
 include $(ONF_MAKEDIR)/lint/jjb.mk
 include $(ONF_MAKEDIR)/lint/json.mk
diff --git a/makefiles/virtualenv.mk b/makefiles/virtualenv.mk
index dae1ab8..cf24024 100644
--- a/makefiles/virtualenv.mk
+++ b/makefiles/virtualenv.mk
@@ -15,7 +15,7 @@
 # limitations under the License.
 # -----------------------------------------------------------------------
 # https://gerrit.opencord.org/plugins/gitiles/onf-make
-# ONF.makefile.version = 1.0
+# ONF.makefile.version = 1.2
 # -----------------------------------------------------------------------
 
 $(if $(DEBUG),$(warning ENTER))
@@ -51,7 +51,10 @@
 	virtualenv -p python3 $(venv-name)
 	$(activate) && python -m pip install --upgrade pip
 	$(activate) && pip install --upgrade setuptools
-	$(activate) && { [[ -r requirements.txt ]] && python -m pip install -r requirements.txt; }
+	$(activate) && [[ -r requirements.txt ]] \
+	    && { python -m pip install -r requirements.txt; } \
+	    || { /bin/true; }
+
 	$(activate) && python --version
 
 ## -----------------------------------------------------------------------
