From e4c8535f42b66dfaa98273b06a799f8a38f519e1 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 17 May 2026 22:54:07 +0200 Subject: [PATCH] docs(personas): exempt framework-owned tables from DB-diagram updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Spring Session JDBC's spring_session/spring_session_attributes (introduced in V67 / ADR-020) and Flyway's own history table are framework-managed and opaque to app code — modelling them on db-orm.puml would mislead future readers into thinking they participate in domain relationships. Codify the exclusion in the doc-currency tables of architect.md and developer.md, with a pointer to "the relevant ADR" so a future exclusion still carries justification. Addresses PR #612 / Markus M2. Co-Authored-By: Claude Opus 4.7 --- .claude/personas/architect.md | 2 +- .claude/personas/developer.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/personas/architect.md b/.claude/personas/architect.md index 6c6d599c..190b391f 100644 --- a/.claude/personas/architect.md +++ b/.claude/personas/architect.md @@ -414,7 +414,7 @@ Never Kafka for teams under 10 or <100k events/day. Never gRPC inside a monolith | PR contains | Required doc update | |---|---| -| New Flyway migration adding/removing/renaming a table or column | `docs/architecture/db/db-orm.puml` and `docs/architecture/db/db-relationships.puml` | +| New Flyway migration adding/removing/renaming a table or column | `docs/architecture/db/db-orm.puml` and `docs/architecture/db/db-relationships.puml` — **except** framework-owned tables (e.g. Spring Session JDBC's `spring_session*`, Flyway's `flyway_schema_history`), which are opaque to app code; reference the relevant ADR if an exclusion is load-bearing | | New `@ManyToMany` join table or FK | Both DB diagrams | | New backend package or domain module | `CLAUDE.md` package table + matching `docs/architecture/c4/l3-backend-*.puml` | | New controller or service in an existing backend domain | Matching `docs/architecture/c4/l3-backend-*.puml` | diff --git a/.claude/personas/developer.md b/.claude/personas/developer.md index 65e14740..ea90ec5a 100644 --- a/.claude/personas/developer.md +++ b/.claude/personas/developer.md @@ -984,7 +984,7 @@ Mark with `@pytest.mark.asyncio` so pytest runs the coroutine. Without it, the t | What changed in code | Doc(s) to update | |---|---| -| New Flyway migration adds/removes/renames a table or column | `docs/architecture/db/db-orm.puml` (add/remove entity or attribute) **and** `docs/architecture/db/db-relationships.puml` (add/remove relationship line) | +| New Flyway migration adds/removes/renames a table or column | `docs/architecture/db/db-orm.puml` (add/remove entity or attribute) **and** `docs/architecture/db/db-relationships.puml` (add/remove relationship line) — **except** framework-owned tables (e.g. Spring Session JDBC's `spring_session*`, Flyway's `flyway_schema_history`), which are opaque to app code; reference the relevant ADR if an exclusion is load-bearing | | New `@ManyToMany` join table or FK relationship | Both DB diagrams above | | New backend package / domain module | `CLAUDE.md` (package structure table) **and** the matching `docs/architecture/c4/l3-backend-*.puml` diagram for that domain | | New Spring Boot controller or service in an existing domain | The matching `docs/architecture/c4/l3-backend-*.puml` for that domain |