From c1bc5bc453c7b95612553b731eb0fd97e45d37ca Mon Sep 17 00:00:00 2001 From: Sanghun Lee Date: Fri, 17 Jul 2026 13:09:41 +0900 Subject: [PATCH 1/2] chore(manager): enforce repositories/services layer deps in BUILD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extend the manager __dependencies_rules__ to cover the repositories and services layers, mirroring the existing data/views/models rules: - repositories/** may depend on models/data/dto but not services or api - services/** must not depend on api This makes the documented layer order (api → services → repositories → models) enforced at build time via Pants visibility instead of by review. Co-Authored-By: Claude Opus 4.8 --- src/ai/backend/manager/BUILD | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/ai/backend/manager/BUILD b/src/ai/backend/manager/BUILD index 05c08e79027..e36891e3630 100644 --- a/src/ai/backend/manager/BUILD +++ b/src/ai/backend/manager/BUILD @@ -85,6 +85,31 @@ __dependencies_rules__( "//stubs/**", "!*", ), + # repositories: may depend on models/data/dto; must not depend on services or api. + ( + "/repositories/**", + "!/services/**", + "!/api/**", + "/**", + "//src/ai/backend/common/**", + "//src/ai/backend/cli/**", + "//src/ai/backend/logging/**", + "//reqs#*", + "//stubs/**", + "!*", + ), + # services: must not depend on api. + ( + "/services/**", + "!/api/**", + "/**", + "//src/ai/backend/common/**", + "//src/ai/backend/cli/**", + "//src/ai/backend/logging/**", + "//reqs#*", + "//stubs/**", + "!*", + ), # default: every other file in the component. ( "*", From c4f45827ae1df3300a3dfb4d9b6ba33517aed008 Mon Sep 17 00:00:00 2001 From: Sanghun Lee Date: Fri, 17 Jul 2026 13:15:13 +0900 Subject: [PATCH 2/2] changelog: add news fragment for PR #12932 --- changes/12932.misc.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/12932.misc.md diff --git a/changes/12932.misc.md b/changes/12932.misc.md new file mode 100644 index 00000000000..815552db1e3 --- /dev/null +++ b/changes/12932.misc.md @@ -0,0 +1 @@ +Enforce the manager layer dependency order (repositories must not import services/api, services must not import api) at build time via Pants visibility rules.