feat(phase0): 工具链 + 契约快照测试,修复既有 bug

- 新增 pyproject.toml / pytest.ini / Makefile / requirements-dev.txt
- 新增 3 个契约快照测试(路由167/权限串148/表名25),守护前端与数据契约
- 修复 requirements.txt UTF-16 编码导致 pip 无法解析
- 修复 JobLog 未继承 Base 导致无法映射(fastapi_job_log 表缺失于 metadata)
- 修复 base_model.to_dict() 未序列化纯 date 类型(birthday 等导致 500)
- 补充 .gitignore(.env/缓存/上传目录)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude
2026-08-07 09:57:33 +08:00
co-authored by Claude
parent dbcce79536
commit fe1d191e55
15 changed files with 504 additions and 0 deletions
@@ -0,0 +1,10 @@
"""权限字符串契约快照:守护全部 RBAC 权限节点不变。"""
import pytest
from tests.contract.helpers import collect_permissions, compare_snapshot
pytestmark = pytest.mark.contract
def test_permissions_snapshot():
compare_snapshot("permissions.json", collect_permissions())