Skip to content

Commit ab0530c

Browse files
authored
Merge pull request #593 from nanotaboada/docs/verify-consolidate-align-documentation-590
docs(claude): consolidate and align project documentation (#590)
2 parents 5d71447 + 8ac9b67 commit ab0530c

5 files changed

Lines changed: 276 additions & 232 deletions

File tree

.coderabbit.yaml

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,15 @@ reviews:
116116
- Ensure pytest runs with -v for verbosity and --cov for coverage reporting
117117
- Validate coverage report upload step is present
118118
119+
- path: "alembic/versions/**/*.py"
120+
instructions: |
121+
- Migration files are append-only once merged. Fix forward with a new
122+
migration; never edit existing versions. See ADR-0010.
123+
- Seed data changes must go in a new migration, not standalone scripts.
124+
ADR-0010 superseded direct seed scripts (ADR-0002); do not re-introduce
125+
them.
126+
- render_as_batch=True must remain enabled for SQLite batch ALTER support.
127+
119128
path_filters:
120129
- "!**/__pycache__/**"
121130
- "!**/.pytest_cache/**"
@@ -169,19 +178,23 @@ reviews:
169178
If so, update the relevant sections of README.md to reflect the current state.
170179
Do not rewrite sections unrelated to the changes.
171180
172-
## 3. .github/copilot-instructions.md
181+
## 3. CLAUDE.md
173182
If the PR introduces patterns, conventions, or architectural decisions that
174183
should guide future AI-assisted contributions, add or update the relevant
175-
instructions in .github/copilot-instructions.md.
184+
instructions in CLAUDE.md.
176185
Focus on things a developer (or AI assistant) unfamiliar with this specific
177186
stack implementation should know before writing code here.
178187
179188
- name: "enforce http error handling"
180189
instructions: |
181190
Audit all HTTP handler functions in the changed files.
182-
Verify that errors return appropriate HTTP status codes (400 for bad input,
183-
404 for not found, 500 for unexpected errors) and a consistent JSON error
184-
body with at least a "message" field.
191+
Verify that errors return appropriate HTTP status codes:
192+
- 422 Unprocessable Entity for Pydantic validation failures (payload shape
193+
or field constraint violations) — NOT 400
194+
- 400 Bad Request ONLY for semantic errors (e.g. squad number in the URL
195+
does not match the body on PUT)
196+
- 404 Not Found for missing resources
197+
- 409 Conflict for duplicate squad number on POST
185198
Flag handlers that return 200 on error, swallow errors silently, or use
186199
bare status-only responses without a JSON body.
187200
Do not make changes; only report findings as a comment so fixes can be
@@ -334,7 +347,7 @@ knowledge_base:
334347
code_guidelines:
335348
enabled: true
336349
filePatterns:
337-
- ".github/copilot-instructions.md"
350+
- "CLAUDE.md"
338351
learnings:
339352
scope: auto
340353
issues:

.github/copilot-instructions.md

Lines changed: 0 additions & 223 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,27 @@ This project uses famous football coaches as release codenames, following an A-Z
5151
...}` to route decorators (OpenAPI schema) and `Raises:` entries to
5252
docstrings; clarifies the 422 (Pydantic validation failure) vs 400 (semantic
5353
ambiguity) distinction (#568)
54+
- `CLAUDE.md`: consolidated from `.github/copilot-instructions.md` as the
55+
single source of truth for AI coding assistants; added Invariants section and
56+
Architecture Decision Records section; added pre-commit step 7 for ADR
57+
updates; corrected cache layer description (caching is in routes, not
58+
services) (#590)
59+
- `.coderabbit.yaml`: updated `enforce http error handling` finishing touch with
60+
precise 422/400/404/409 status code guidance; updated `sync documentation`
61+
finishing touch and `knowledge_base.code_guidelines` to reference `CLAUDE.md`;
62+
added `alembic/versions/**/*.py` path instruction enforcing append-only
63+
migration policy (#590)
5464

5565
### Fixed
5666

67+
- `docs/adr/README.md`: corrected ADR-0002 status from `Accepted` to
68+
`Superseded`; added missing ADR-0010 row (#590)
69+
5770
### Removed
5871

72+
- `.github/copilot-instructions.md`: content consolidated into `CLAUDE.md`;
73+
GitHub Copilot is no longer in use (#590)
74+
5975
---
6076

6177
## [2.1.1 - Eriksson] - 2026-04-11

0 commit comments

Comments
 (0)