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. 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. ( "*",