refactor docs into technical specs

This commit is contained in:
2026-04-13 23:20:25 +09:00
parent f3c870553d
commit 256b3709a0
19 changed files with 1713 additions and 2087 deletions
@@ -0,0 +1,33 @@
# Python Runtime and Packaging
- Related REQ: N/A
## 목표
Python `3.11+` 및 `pyproject.toml` 중심 패키징 기준을 유지하고, 로컬/CI/운영의 실행 환경 편차를 줄인다.
## Runtime Baseline
- 공식 지원 런타임은 Python `3.11` 이상이다.
- 로컬 개발은 `venv` 기반 실행을 기본으로 한다.
- 개발/테스트 의존성은 editable install(`pip install -e .[dev]`)로 일관화한다.
## Required Files
| 파일 | 책임 | 필수 내용 |
| --- | --- | --- |
| `pyproject.toml` | 프로젝트 메타데이터와 의존성 기준 | `requires-python >=3.11` |
| `README.md` | 설치/실행/테스트 진입점 | venv 생성 및 실행 절차 |
| `alembic.ini` | DB migration 런타임 설정 | Alembic 동작 기준 |
## Packaging Rules
- 패키징 source of truth는 `pyproject.toml`로 유지한다.
- CLI 엔트리포인트 `portfoliohub`는 패키지 설치 후 동일하게 동작해야 한다.
- 운영 이미지/환경에서도 개발과 동일한 Python major/minor를 사용한다.
## Validation Notes
- `pip install -e .[dev]` 후 `uvicorn app.main:app --reload`와 `pytest`가 실행 가능해야 한다.
- `portfoliohub --help`가 정상 출력되어야 한다.
- Alembic 명령(`upgrade head`)이 현재 마이그레이션 체인에서 실패하지 않아야 한다.
## Open Implementation Points
- 락파일 기반 재현성(`uv lock`, `poetry.lock` 등) 도입 여부는 팀 운영 정책에 따라 확정한다.
- 배포 환경 컨테이너 표준화 시 base image pinning 정책을 문서화한다.