refactor-backend-01-architecture
Layered Architecture Restructure — refactor-chain · backend lane · step 01/09
Bundle: refactor-chain (self-diagnosing, self-healing fix-it pipeline).
Phase: do-the-work · Prerequisite: none — lane entry step · Next: refactor-backend-02-module-rename.
Adaptivity / conditional: repo-agnostic — applies to any Maven/Gradle multi-module Java project (lane detection comes from the harness registry refactor-chain/scripts/lib/languages.mjs, which recognizes pom.xml / build.gradle).
Purpose
Turn a flat multi-module Java build — dozens of sibling modules under one root — into a layered structure where every module lives in a container that states its role. Along the way, generate a self-contained root build (complete dependencyManagement, BOM imports, no reliance on an external corporate parent) and prove the result compiles. Nothing about runtime behavior changes: only build files, configuration path references, and Java package/import lines are touched.
When to use
- The module list at the root has grown flat and roles are invisible ("restructure my Maven project", "organize modules by layer").
- The build inherits from a parent POM that doesn't exist in this repo and won't resolve standalone ("make the build self-contained").
- You want a structure audit before committing to moves ("architecture check", "structure validation").
- Precondition: a Maven or Gradle multi-module project with a root build file. The layer names below are defaults — the project may pick its own.