FastAPI latest rejects 204 with response body.
Use response_class=Response and return Response(status_code=204).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
pip install from pypi.org times out in China network.
Use https://pypi.tuna.tsinghua.edu.cn/simple for both pip and poetry.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
template-service and export-service used [project]+setuptools format
which is incompatible with poetry install in Dockerfile.
Unified to [tool.poetry] + poetry-core build-backend.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
data-service and chart-service have alembic.ini inside alembic/ dir,
not at service root. Remove the separate COPY line.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>