| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(framework): REST 前置校验失败 422 留痕——此前零日志 信封体模型被 FastAPI 拒绝时请求未进 router(无汇总行/上下文尾巴),是 请求路径唯一零日志的空白。RestAdapter 挂 RequestValidationError handler: WARNING 带 path + 尽力从原始 body 抢救的 request_id + loc/msg 摘要 (ctx/input 可能巨大或带敏感字段,不进日志);响应委托框架默认 handler, 契约逐字节不变。二层防御(from_dict 失败)同样补 WARNING。 框架测试 +1(默认形状不变 + request_id 抢救两分支)。 Co-Authored-By: Claude <noreply@anthropic.com> | 10 天前 | |
feat(框架): PostgreSQL 接入服务框架 + asyncpg 建连/命令超时兜底 此前 foundation 有 PostgreSQLHandler 但服务框架走不到:build_db_handler 只接 mysql|sqlite|none、ServiceConfig 校验亦不含 postgresql。本次: - ServiceConfig:db_type 放行 postgresql,必填校验同 mysql(host/name/user), 端口默认随类型(mysql 3306 / postgresql 5432,显式设置优先) - build_db_handler:postgresql 分支构造 PostgreSQLHandler(导出补进 foundation.db) - 超时兜底(与 MySQL 对齐):asyncpg 建连 timeout 默认 60s、command_timeout 默认 无限制——注入 timeout=RUNTIME_DB_CONNECT_TIMEOUT(默认 5s,复用旋钮)与 command_timeout=RUNTIME_DB_COMMAND_TIMEOUT(新旋钮,默认 30s,低于请求级 deadline);init_database 临时引擎(CREATE DATABASE/SCHEMA)同款注入; 调用方显式 connect_args 优先(setdefault) - 测试:engine kwargs 注入/优先级/sqlite 不注入、build_db_handler 构造、 必填校验、默认端口;更新原「PG 不注入」断言为新语义 - spec service-core.md 网络/IO 节同步 Co-Authored-By: Claude <noreply@anthropic.com> | 14 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 10 天前 | ||
| 14 天前 |