commit 69c35426538d5d2820c63e917a01cf898e2fb692
parent 1677e2d1e7c45a32bdebcfa38e62adb877133d7a
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Fri, 25 Sep 2026 01:02:19 -0400
common: jobs/ and controller/ may not import publish/
The layering puts dispatch below publish, so the architecture guard's jobs
and controller rows forbid publish/ too. Nothing imports that way today.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/common/architecture.test.ts b/common/architecture.test.ts
@@ -36,8 +36,8 @@ const FORBIDDEN: Record<string, readonly string[]> = {
// types moved down, and the fetch and the memo are now injected — so the
// guard turns on with nothing added to the allow-list to pay for it.
lib: ["controller", "jobs", "components", "views", "publish"],
- jobs: ["controller", "views"],
- controller: ["views"],
+ jobs: ["controller", "views", "publish"],
+ controller: ["views", "publish"],
components: ["controller", "jobs", "ytdlp", "publish"],
// `views/` is the view-model layer (one-core phase 3 slice 1): pure functions
// that fold live state into a payload. It sits ABOVE dispatch and BELOW ui,
@@ -172,7 +172,7 @@ test("no new back-edges between common's layers", async () => {
[],
`NEW back-edge(s) in common/. lib/ may not import controller/, jobs/, publish/, ` +
`components/ or views/; ` +
- `jobs/ and controller/ may not import views/; components/ may not ` +
+ `jobs/ and controller/ may not import views/ or publish/; components/ may not ` +
`import controller/, jobs/, ytdlp/ or publish/; publish/ may not import views/ or components/; views/ may not import ` +
`components/. Move the type or the function down a ` +
`layer instead of adding it to ALLOWED. Found: ${unexpected.join(", ")}`,