diff --git a/apps/cli/executables/pexable/carta_envoy/pyproject.toml b/apps/cli/executables/pexable/carta_envoy/pyproject.toml
index 6bf0fb2fe1427f5e1db9f1051c12c0e47da70f7f..987599b4232b83d33c083d977a0b8feda9de052e 100644
--- a/apps/cli/executables/pexable/carta_envoy/pyproject.toml
+++ b/apps/cli/executables/pexable/carta_envoy/pyproject.toml
@@ -18,6 +18,7 @@ pex = "2.1.119"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 fakeredis = "2.19.0"
 
 [build-system]
diff --git a/apps/cli/executables/pexable/casa_envoy/pyproject.toml b/apps/cli/executables/pexable/casa_envoy/pyproject.toml
index 89f8f1ee4ec187d06b375617c42747fcdb316a43..0ac3744fd20e048d7771c9d25c4953d584da72f9 100644
--- a/apps/cli/executables/pexable/casa_envoy/pyproject.toml
+++ b/apps/cli/executables/pexable/casa_envoy/pyproject.toml
@@ -18,6 +18,7 @@ pex = "2.1.119"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [build-system]
 requires = ["poetry-core"]
diff --git a/apps/cli/executables/pexable/conveyor/pyproject.toml b/apps/cli/executables/pexable/conveyor/pyproject.toml
index 60a847addd2c0a29cf26fabd8034863af0620649..506dbe39826c98207cd74384e192f38d0888c3c3 100644
--- a/apps/cli/executables/pexable/conveyor/pyproject.toml
+++ b/apps/cli/executables/pexable/conveyor/pyproject.toml
@@ -16,6 +16,7 @@ pex = "2.1.119"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [build-system]
 requires = ["poetry-core"]
diff --git a/apps/cli/executables/pexable/data_annotator/pyproject.toml b/apps/cli/executables/pexable/data_annotator/pyproject.toml
index 0bd108e80c58ddd85879ed395a555a82cec454a3..1d270185b9a76706f34d02dfb57e2b484616626b 100644
--- a/apps/cli/executables/pexable/data_annotator/pyproject.toml
+++ b/apps/cli/executables/pexable/data_annotator/pyproject.toml
@@ -15,6 +15,7 @@ greenlet = "2.0.2"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [tool.poetry.scripts]
 data_annotator = "data_annotator.annotator:main"
diff --git a/apps/cli/executables/pexable/deliver/pyproject.toml b/apps/cli/executables/pexable/deliver/pyproject.toml
index ea093bd820e1c4721584209336611389e314b1f7..efd449cb155bac9b515a009f7fc599caecc14240 100644
--- a/apps/cli/executables/pexable/deliver/pyproject.toml
+++ b/apps/cli/executables/pexable/deliver/pyproject.toml
@@ -17,6 +17,7 @@ pex = "2.1.119"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 pytest-resource-path = "1.3.0"
 
 [build-system]
diff --git a/apps/cli/executables/pexable/ingest_envoy/pyproject.toml b/apps/cli/executables/pexable/ingest_envoy/pyproject.toml
index a866f4321f019f298c28730380c8c8735107c2f5..01cde1226c39340d28372cf9f9b684faf066d4bd 100644
--- a/apps/cli/executables/pexable/ingest_envoy/pyproject.toml
+++ b/apps/cli/executables/pexable/ingest_envoy/pyproject.toml
@@ -19,6 +19,7 @@ pex = "2.1.119"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [tool.poetry.scripts]
 ingest_envoy = "ingest_envoy.ingest:main"
diff --git a/apps/cli/executables/pexable/mediator/pyproject.toml b/apps/cli/executables/pexable/mediator/pyproject.toml
index 4bf487e6c4292660cf953c75f8ccc66e82f7be23..2d90b978d525a01120bbffb071da25edf9b03f16 100644
--- a/apps/cli/executables/pexable/mediator/pyproject.toml
+++ b/apps/cli/executables/pexable/mediator/pyproject.toml
@@ -15,6 +15,7 @@ requests = "2.31.0"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [tool.poetry.scripts]
 mediator = "system_mediator.mediator:main"
diff --git a/apps/cli/executables/pexable/null/pyproject.toml b/apps/cli/executables/pexable/null/pyproject.toml
index 55f1e18c26a6c91267d70cb5cc3df5c1d12bbbfc..52862a32d4e406b11386d7f2a0bd23ce5af76810 100644
--- a/apps/cli/executables/pexable/null/pyproject.toml
+++ b/apps/cli/executables/pexable/null/pyproject.toml
@@ -15,6 +15,7 @@ pex = "2.1.119"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 pytest-mock = "3.11.0"
 
 [tool.poetry.scripts]
diff --git a/apps/cli/executables/pexable/productfetcher/pyproject.toml b/apps/cli/executables/pexable/productfetcher/pyproject.toml
index 37a1f4015e82f0cb4d1b7cf8d15b114135464384..25ed8d27dca92ec9222a4070c85030275b2391d7 100644
--- a/apps/cli/executables/pexable/productfetcher/pyproject.toml
+++ b/apps/cli/executables/pexable/productfetcher/pyproject.toml
@@ -24,6 +24,7 @@ urllib3 = "<2.0.0"
 [tool.poetry.group.test.dependencies]
 requests-mock = "1.11.0"
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 pytest-resource-path = "1.3.0"
 
 [tool.poetry.group.dev.dependencies]
diff --git a/apps/cli/executables/pexable/update_stage/pyproject.toml b/apps/cli/executables/pexable/update_stage/pyproject.toml
index c6b94e89c82869e0c811e0de2117b36cfada2ab0..0aa35118f203cab2958ed24d5606a90a57d30699 100644
--- a/apps/cli/executables/pexable/update_stage/pyproject.toml
+++ b/apps/cli/executables/pexable/update_stage/pyproject.toml
@@ -16,6 +16,7 @@ pex = "2.1.119"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [tool.poetry.scripts]
 update_stage = "update_stage.update:main"
diff --git a/apps/cli/executables/pexable/vela/pyproject.toml b/apps/cli/executables/pexable/vela/pyproject.toml
index 08d9a90e4e7ec4f05393b9470218f614dab7b588..cfa9da5897dccabbb785fe42ca073a38b5fa1202 100644
--- a/apps/cli/executables/pexable/vela/pyproject.toml
+++ b/apps/cli/executables/pexable/vela/pyproject.toml
@@ -19,6 +19,7 @@ pex = "2.1.119"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [tool.poetry.scripts]
 vela = "vela.quasar:main"
diff --git a/apps/cli/executables/pexable/wf_inspector/pyproject.toml b/apps/cli/executables/pexable/wf_inspector/pyproject.toml
index 1bdedb4239aa3ba473d64f2f4bad4b75df9576d8..b2d9e2be7ba957bdcd915ed7a2c8261649164119 100644
--- a/apps/cli/executables/pexable/wf_inspector/pyproject.toml
+++ b/apps/cli/executables/pexable/wf_inspector/pyproject.toml
@@ -13,6 +13,7 @@ pycapo = "0.3.1"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 hypothesis = "6.87.1"
 
 [tool.poetry.scripts]
diff --git a/apps/cli/executables/pexable/ws_annihilator/pyproject.toml b/apps/cli/executables/pexable/ws_annihilator/pyproject.toml
index f408e27fd6149d08b8a10f960a8a885ce3c99166..d9407b6c876d6acba314da8ae70c19767eaed7a8 100644
--- a/apps/cli/executables/pexable/ws_annihilator/pyproject.toml
+++ b/apps/cli/executables/pexable/ws_annihilator/pyproject.toml
@@ -13,6 +13,7 @@ pycapo = "0.3.1"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [tool.poetry.scripts]
 ws_annihilator = "ws_annihilator.annihilator:main"
diff --git a/apps/cli/executables/pexable/ws_metrics/pyproject.toml b/apps/cli/executables/pexable/ws_metrics/pyproject.toml
index e386a33b526c7b100675c92d77e83a16df572feb..f90912f38108ca477595fa38efd5ca92163d0ac8 100644
--- a/apps/cli/executables/pexable/ws_metrics/pyproject.toml
+++ b/apps/cli/executables/pexable/ws_metrics/pyproject.toml
@@ -17,6 +17,7 @@ arrow = "1.3.0"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [tool.poetry.scripts]
 ws_metrics = "ws_metrics.deep_thought:main"
diff --git a/apps/cli/utilities/aat_wrest/pyproject.toml b/apps/cli/utilities/aat_wrest/pyproject.toml
index 5085938ba101ceadd366c667bd7e423b2b0a2f36..5aafaafe34a2eeb9ed1aed1f6036a96ca95967f3 100644
--- a/apps/cli/utilities/aat_wrest/pyproject.toml
+++ b/apps/cli/utilities/aat_wrest/pyproject.toml
@@ -18,6 +18,7 @@ pendulum = "2.1.2"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [tool.poetry.scripts]
 aat_wrest = "aat_wrest.wrest:main"
diff --git a/apps/cli/utilities/contacts_wrest/pyproject.toml b/apps/cli/utilities/contacts_wrest/pyproject.toml
index aec485ee5a407eaecd3c8416e37627266a638874..3faecf9563db04c3f9e8e64ad1d47bf1e8c99053 100644
--- a/apps/cli/utilities/contacts_wrest/pyproject.toml
+++ b/apps/cli/utilities/contacts_wrest/pyproject.toml
@@ -16,6 +16,7 @@ pymysql = "1.1.0"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [build-system]
 requires = ["poetry-core"]
diff --git a/apps/cli/utilities/core_sampler/pyproject.toml b/apps/cli/utilities/core_sampler/pyproject.toml
index f8e840c1b26b0e3368b8814757bf0567953fa072..20766c2c9814c913ff189178cc2e04c571e5d20b 100644
--- a/apps/cli/utilities/core_sampler/pyproject.toml
+++ b/apps/cli/utilities/core_sampler/pyproject.toml
@@ -13,6 +13,7 @@ psycopg2-binary = "2.9.9"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [build-system]
 requires = ["poetry-core"]
diff --git a/apps/cli/utilities/wf_monitor/pyproject.toml b/apps/cli/utilities/wf_monitor/pyproject.toml
index 3eb1a7cc4dc41ecaac4b8f87f1902563d4e65665..16ac92a486e3bd18a8275ac875937a309f1f9473 100644
--- a/apps/cli/utilities/wf_monitor/pyproject.toml
+++ b/apps/cli/utilities/wf_monitor/pyproject.toml
@@ -14,6 +14,7 @@ messaging = {path="../../../../shared/messaging"}
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [tool.poetry.scripts]
 wf_monitor = "wf_monitor.monitor:main"
diff --git a/services/capability/pyproject.toml b/services/capability/pyproject.toml
index 46a52eee6ef992b036e3b26dab0edf89283a6a6b..6cc282962ff1cb392a24443347d73797413e5f4c 100644
--- a/services/capability/pyproject.toml
+++ b/services/capability/pyproject.toml
@@ -38,6 +38,7 @@ pyramid-debugtoolbar = "4.10"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [tool.poetry.scripts]
 launch_capability = "capability.capability_launcher:main"
diff --git a/services/notification/pyproject.toml b/services/notification/pyproject.toml
index 59adc5b5f2ce5039d155b1f603c45bdffc0c2a80..a7a94fcfb1a44e6d26afc07b340fa01b1c3515eb 100644
--- a/services/notification/pyproject.toml
+++ b/services/notification/pyproject.toml
@@ -28,6 +28,7 @@ pyramid-debugtoolbar = "4.10"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [build-system]
 requires = ["poetry-core"]
diff --git a/services/workflow/pyproject.toml b/services/workflow/pyproject.toml
index 5c2bb6a9ec13a97a71e4e64dfd9c78d9d5671527..98904d1c75e7a6d73a3d2a0493dfb5d5bb54c7e5 100644
--- a/services/workflow/pyproject.toml
+++ b/services/workflow/pyproject.toml
@@ -33,6 +33,7 @@ pyramid-debugtoolbar = "4.10"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [build-system]
 requires = ["poetry-core"]
diff --git a/shared/messaging/pyproject.toml b/shared/messaging/pyproject.toml
index abbd14e72cf0840eab29b09968ec7dcbe2b591a4..b6a6ad12b1a283e239207787c94bfcc7793ce003 100644
--- a/shared/messaging/pyproject.toml
+++ b/shared/messaging/pyproject.toml
@@ -15,6 +15,7 @@ pycapo = "0.3.1"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [build-system]
 requires = ["poetry-core"]
diff --git a/shared/workspaces/pyproject.toml b/shared/workspaces/pyproject.toml
index 542f3ba9449f861010aeed32f0000581db43fd06..b2e3d8cb5812df0d2f2cf087b7881fe40d6619ed 100644
--- a/shared/workspaces/pyproject.toml
+++ b/shared/workspaces/pyproject.toml
@@ -23,6 +23,7 @@ email-validator = "2.0.0"
 
 [tool.poetry.group.test.dependencies]
 pytest = "7.4.2"
+pytest-cov = "4.1.0"
 
 [build-system]
 requires = ["poetry-core"]