From 8cf305f550aa9302af649c2a9c9d3f70ea9189da Mon Sep 17 00:00:00 2001 From: JSONbored <49853598+JSONbored@users.noreply.github.com> Date: Wed, 8 Jul 2026 20:20:21 -0700 Subject: [PATCH] fix(selfhost): stop .dockerignore from breaking the engine's own build review-enrichment is excluded wholesale (it's REES, a separate Railway service with its own Dockerfile) but the main engine's own src/review/enrichment-analyzers-taxonomy.ts imports review-enrichment/analyzer-metadata.json directly -- excluding it strips a file scripts/build-selfhost.mjs's esbuild bundle needs, failing the Docker build with a module-resolution error. Re-include just that one file via a dockerignore negation, verified with a real local `docker build --target build`. --- .dockerignore | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index d6e24e57d8..23e3b174d1 100644 --- a/.dockerignore +++ b/.dockerignore @@ -24,8 +24,13 @@ gittensory-config **/.codex auth.json **/auth.json -# The review-enrichment service (REES) is a separate Railway service with its own Dockerfile — keep it out of the engine image. +# The review-enrichment service (REES) is a separate Railway service with its own Dockerfile — keep it out of +# the engine image. EXCEPT analyzer-metadata.json: the main engine's own code (src/review/enrichment-analyzers- +# taxonomy.ts) imports it directly, so excluding it wholesale breaks `scripts/build-selfhost.mjs`'s esbuild +# bundle (module resolution failure at build time, not a runtime gap -- caught by the "build + boot smoke test" +# workflow, which is path-gated and doesn't run on every PR). review-enrichment +!review-enrichment/analyzer-metadata.json .DS_Store *.tsbuildinfo # Never ship secrets into the build context