Skip to content

Architecture decision records ​

ArchForge keeps one ADR series, in the backend repository: ArchForge/docs/adr. This page is its index — the records themselves live next to the code they constrain, so a change and its decision land in the same review.

ADRDecision
0001Domain modules: api + internal only
0002One EntityManagerFactory per datasource group
0003Shared contracts live in common-base, never infrastructure
0004NullAway enforced at ERROR on all source sets
0005Service placement: api.service + internal.service, runtime via ports
0006Two server processes (admin :8080 / web :8081) + all-in-one image
0007Meta definitions: file-first write authority
0008Meta runtime registry; tableCode as the public identity
0009Actuator on a management port; SQL and secrets hardening
0010Repositories are internal; other modules use api services
0011sa-token instead of Spring Security + JWT
0012Four sibling repositories, not a monorepo
0013Spring Data JPA + static metamodel instead of MyBatis

The four short records this site used to carry moved there: "two servers" is ADR-0006, sa-token ADR-0011, "five sibling repos" is superseded by ADR-0012 (ArchForgeSpec was merged into ArchForge), and JPA + metamodel is ADR-0013.

Released under the MIT License.