diff --git a/Makefile b/Makefile
index ac4d19e..fa6ca53 100755
--- a/Makefile
+++ b/Makefile
@@ -15,16 +15,28 @@
 # limitations under the License.
 # -----------------------------------------------------------------------
 
+$(if $(DEBUG),$(warning ENTER))
+
 .PHONY: test
-.DEFAULT_GOAL := test
+.DEFAULT_GOAL   := test
+MAKECMDGOALS    ?= test
 
 ##-------------------##
 ##---]  GLOBALS  [---##
 ##-------------------##
-TOP         ?= .
-MAKEDIR     ?= $(TOP)/makefiles
+$(if $(findstring joey,$(USER)),\
+   $(eval USE_LF_MK := 1)) # special snowflake
 
-$(if $(VERBOSE),$(eval export VERBOSE=$(VERBOSE))) # visible to include(s)
+##--------------------##
+##---]  INCLUDES  [---##
+##--------------------##
+ifdef USE_LF_MK
+  include lf/include.mk
+else
+  include lf/transition.mk
+  include $(legacy-mk)/include.mk
+endif # ifdef USE_LF_MK
+
 
 ##--------------------------
 ## Enable setup.py debugging
@@ -33,18 +45,6 @@
 # export DISTUTILS_DEBUG := 1      # verbose: pip
 export DOCKER_DEBUG    := 1      # verbose: docker
 
-# Makefile for voltha-protos
-default: test
-
-## Library linting
-# NO-LINT-MAKEFILE := true    # cleanup needed
-NO-LINT-SHELL    := true    # cleanup needed
-
-##--------------------##
-##---]  INCLUDES  [---##
-##--------------------##
-include $(MAKEDIR)/include.mk
-
 # Function to extract the last path component from go_package line in .proto files
 define go_package_path
 $(shell grep go_package $(1) | sed -n 's/.*\/\(.*\)";/\1/p')
diff --git a/lf/bridge.mk b/lf/bridge.mk
deleted file mode 100644
index 1b10cff..0000000
--- a/lf/bridge.mk
+++ /dev/null
@@ -1,80 +0,0 @@
-# -*- makefile -*-
-# -----------------------------------------------------------------------
-# Copyright 2023-2024 Open Networking Foundation 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: 2023-2024 Open Networking Foundation Contributors
-# SPDX-License-Identifier: Apache-2.0
-# -----------------------------------------------------------------------
-
-$(if $(DEBUG),$(warning ENTER))
-
-## -----------------------------------------------------------------------
-## Infer path to cloned sandbox root
-## [TODO] Deprecate TOP=
-## -----------------------------------------------------------------------
-lf-sbx-root   := $(abspath $(lastword $(MAKEFILE_LIST)))
-lf-sbx-root   := $(subst /lf/include.mk,$(null),$(lf-sbx-root))
-
-## -----------------------------------------------------------------------
-## Define vars based on relative import (normalize symlinks)
-## Usage: include makefiles/onf/include.mk
-## -----------------------------------------------------------------------
-onf-mk-abs    := $(abspath $(lastword $(MAKEFILE_LIST)))
-onf-mk-top    := $(subst /include.mk,$(null),$(onf-mk-abs))
-onf-mk-lib    := $(onf-mk-top)/onf-make/makefiles
-onf-mk-loc    := $(onf-mk-top)/local
-
-## -----------------------------------------------------------------------
-## Load per-repository conditionals, enable/disable lint targets
-## Load late else alter MAKEFILE_LIST
-## NOTE: config.mk can be removed if dynamic feature detection by file
-##       extension is added.  See detect.mk
-## -----------------------------------------------------------------------
-include $(wildcard $(lf-sbx-root)/config.mk $(lf-sbx-root)/lf/config.mk)
-
-## -----------------------------------------------------------------------
-## This variable is a bridge to help transition away from legacy makefiles.
-## -----------------------------------------------------------------------
-legacy-mk     := $(lf-sbx-root)/makefiles
-
-## -----------------------------------------------------------------------
-## Legacy variables
-## -----------------------------------------------------------------------
-TOP           ?= $(lf-sbx-root)
-ONF_MAKEDIR   ?= $(onf-mk-lib)
-MAKEDIR       ?= $(onf-mk-loc)
-
-## -----------------------------------------------------------------------
-## Command macros
-## -----------------------------------------------------------------------
-GIT         ?= /usr/bin/env git
-
-## -----------------------------------------------------------------------
-## Usage: make DEBUG=1
-## -----------------------------------------------------------------------
-$(if $(DEBUG),\
-  $(info **-----------------------------------------------------------------------) \
-  $(warning **) \
-  $(info ** TOP              : $(TOP))\
-  $(info ** ONF_MAKE         : $(ONF_MAKE))\
-  $(info ** MAKEDIR          : $(MAKEDIR))\
-  $(info ** legacy-mk        : $(legacy-mk))\
-  $(info **-----------------------------------------------------------------------) \
-)
-ifdef DEBUG
-
-$(if $(DEBUG),$(warning LEAVE))
-
-# [EOF]
diff --git a/lf/config.mk b/lf/config.mk
index 2400d7f..fc5d5a2 100644
--- a/lf/config.mk
+++ b/lf/config.mk
@@ -1,12 +1,12 @@
 # -*- makefile -*-
 # -----------------------------------------------------------------------
-# Copyright 2023-2024 Open Networking Foundation (ONF) and the ONF Contributors
+# Copyright 2023-2024 Open Networking Foundation 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
+# 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,
@@ -14,19 +14,128 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 # -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2023-2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+# [NOTE] All of these conditionals and logic can be removed if makefile
+#        logic transitions from static to dynamic detection (by file extension).
+#        See detect.mk for an early implementation.
+# -----------------------------------------------------------------------
+
+--repo-name-- := onf-make
+--repo-name-- ?= $(error --repo-name--= is required)
 
 ##--------------------------------##
 ##---]  Disable lint targets  [---##
 ##--------------------------------##
 NO-LINT-DOC8      := true
-# NO-LINT-GOLANG  := true
-NO-LINT-GROOVY    := true
-NO-LINT-JJB       := true
-NO-LINT-JSON      := true
-# NO-LINT-MAKE    := false
-NO-LINT-PYTHON    := true
+# USE_DOC8_INI        := true
+# NO-LINT-GOLANG    := true
+NO-LINT-GROOVY    := true#               # Note[1]
+NO-LINT-JJB       := true#               # Note[2]
+NO-LINT-JSON      := true#               # Note[1]
+NO-LINT-MAKEFILE  := true#               # Note[1]
+NO-LINT-REUSE     := true                # License check
 NO-LINT-ROBOT     := true
-# NO-LINT-SHELL   := true
-NO-LINT-YAML    := true
+# NO-LINT-SHELL     := 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]
+
+# Note[1] - A boatload of source to cleanup prior to enable.
+# Note[2] - No sources available
+
+##---------------------------------##
+##---] Conditional make logic  [---##
+##---------------------------------##
+# USE-ONF-DOCKER-MK      := true
+# USE-ONF-GERRIT-MK      := true
+# USE-ONF-GIT-MK         := true
+# USE-ONF-JJB-MK         := true
+# USE-VOLTHA-RELEASE-MK  := true
+
+##----------------------##
+##---]  Debug Mode  [---##
+##----------------------##
+# export DEBUG           := 1      # makefile debug
+# export DISTUTILS_DEBUG := 1      # verbose: pip
+# export DOCKER_DEBUG    := 1      # verbose: docker
+# export VERBOSE         := 1      # makefile debug
+
+##-----------------------------------##
+##---]  JJB/Jenkins Job Builder  [---##
+##-----------------------------------##
+JJB_VERSION   ?= 2.8.0
+JOBCONFIG_DIR ?= job-configs
+
+##---------------------------------##
+##---]  Filesystem exclusions  [---##
+##---------------------------------##
+onf-excl-dirs := $(null)        # make clean: dirs=
+onf-excl-dirs += lf/onf-make    # repo:onf-make git submodule
+onf-excl-dirs += .venv#         # $(venv-name)
+onf-excl-dirs += patches#       # voltha docs - python upgrade
+onf-excl-dirs += .tmp           #
+onf-excl-dirs += .tox           # also a python dependency
+# onf-excl-dirs += vendor#        # golang / voltha*-go -- local exclude
+
+# [NOTE] Add exclusions: lint/doc8/doc8.incl
+
+ifeq ($(--repo-name--),voltha-docs)
+  lint-doc8-excl += '_build' # TODO: deprecate
+endif
+
+onf-excl-dirs ?= $(error onf-excl-dirs= is required)
+
+##-----------------------------##
+##---]  Feature Detection  [---##
+##-----------------------------##
+# [TODO] include makefiles/features/include.mk
+# [TODO] All logic below can migrate there.
+
+$(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))
+
+##-------------------------##
+##---]  Derived Flags  [---##
+##-------------------------##
+ifdef --REPO-IS-CI-MANAGEMENT--
+  USE-ONF-JJB := true
+
+  onf-excl-dirs += global-jjb
+  onf-excl-dirs += lf-ansible
+  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
+endif
+
+ifndef USE-ONF-JJB
+  NO-LINT-JJB := true
+endif
+
+onf-excl-dirs := $(sort $(strip $(onf-excl-dirs)))
+
+# --------------------------------------------------------------------
+# Repository specific values
+# --------------------------------------------------------------------
+# sterile-dirs += archives
 
 # [EOF]
diff --git a/lf/local/include.mk b/lf/local/include.mk
new file mode 100644
index 0000000..a0dedcc
--- /dev/null
+++ b/lf/local/include.mk
@@ -0,0 +1,26 @@
+# -*- makefile -*
+# -----------------------------------------------------------------------
+# Copyright 2017-2024 Open Networking Foundation 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: 2017-2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+# Intent: This makefile is the top level source for including
+#         per-repository makefile logic and configs.
+# Import hierarchy:
+#   Makefile      -> lf/include.mk
+#   lf/include.mk -> lf/onf-make/include.mk    # library makefiles
+#   lf/include.mk -> lf/local/include.mk       # per-repo makefiles
+# -----------------------------------------------------------------------
diff --git a/lf/transition.mk b/lf/transition.mk
new file mode 100644
index 0000000..f9e71d3
--- /dev/null
+++ b/lf/transition.mk
@@ -0,0 +1,54 @@
+# -*- makefile -*-
+# -----------------------------------------------------------------------
+# Copyright 2024 Open Networking Foundation 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: 2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+
+$(if $(DEBUG),$(warning ENTER))
+
+##-------------------##
+##---]  GLOBALS  [---##
+##-------------------##
+lf-sbx-root   := $(abspath $(lastword $(MAKEFILE_LIST)))
+lf-sbx-root   := $(subst /lf/transition.mk,$(null),$(lf-sbx-root))
+
+legacy-mk   ?= $(lf-sbx-root)/makefiles
+onf-mk-dir  ?= $(lf-sbx-root)/lf/onf-make/makefiles
+
+sandbox-root := $(lf-sbx-root)
+
+TOP           ?= $(lf-sbx-root)
+ONF_MAKEDIR   ?= $(TOP)/makefiles
+MAKEDIR       ?= $(TOP)/makefiles
+
+
+# set default shell options
+SHELL = bash -e -o pipefail
+
+# dependency of virtualenv::sterile
+clean ::
+
+##--------------------##
+##---]  INCLUDES  [---##
+##--------------------##
+include $(lf-sbx-root)/lf/config.mk
+include $(onf-mk-dir)/consts.mk
+# include.mk depends on ONF_MAKEDIR
+include $(onf-mk-dir)/etc/features.mk
+include $(onf-mk-dir)/virtualenv/include.mk
+
+# [EOF]
diff --git a/makefiles/include.mk b/makefiles/include.mk
index ecf52d5..952cd33 100644
--- a/makefiles/include.mk
+++ b/makefiles/include.mk
@@ -34,15 +34,10 @@
 ##--------------------##
 include $(MAKEDIR)/help/include.mk
 
-include $(MAKEDIR)/consts.mk
-include $(MAKEDIR)/etc/include.mk
-include $(MAKEDIR)/virtualenv.mk
-
 include $(MAKEDIR)/golang/include.mk
 
 include $(MAKEDIR)/help/variables.mk
 include $(MAKEDIR)/lint/include.mk
-include $(MAKEDIR)/todo.mk
 
 include $(MAKEDIR)/docker/include.mk
 
diff --git a/makefiles/todo.mk b/makefiles/todo.mk
deleted file mode 100644
index c13ab97..0000000
--- a/makefiles/todo.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- makefile -*-
-# -----------------------------------------------------------------------
-# Copyright 2017-2024 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: 2017-2023 Open Networking Foundation (ONF) and the ONF Contributors
-# SPDX-License-Identifier: Apache-2.0
-# -----------------------------------------------------------------------
-
-$(if $(DEBUG),$(warning ENTER))
-
-## -----------------------------------------------------------------------
-## -----------------------------------------------------------------------
-help::
-	@echo "  todo                         Display future enhancement list"
-
-todo ::
-	@echo
-	@echo "[TODO: voltha-protos]"
-	@echo "  o Cleanup lint complaints so lint target can be enabled by default."
-	@echo "  o Directory go/ is under reivsion control but go-* targets will remove content"
-	@echo "  o Update NO-LINT* targets to auto-enable based on source availability"
-
-$(if $(DEBUG),$(warning LEAVE))
-
-# [EOF]
