34047007@qq.com
|
7e449b5c9d
|
checkpoint: 统计分析文档化——操作手册与技术说明双文档
按用户澄清的「操作手册与技术说明分开」落地:操作手册面向育种团队(20 个核心分析
四段式:目的/数据准备/操作步骤/结果解读),技术说明面向方法学/开发者(模型公式、
输入依赖与降级、落库表、API 索引)。常用核心表型分析优先,分子类第二批。
|
2026-08-07 22:44:00 +08:00 |
|
34047007@qq.com
|
28ab794b30
|
checkpoint: 列显示设置持久化修复——保存 watch 加 deep 监听
表头组件勾选列是原地改对象(col.checked/visible),浅 watch 只在数组引用替换时触发,
漏掉勾选 → localStorage 无数据 → 刷新即恢复默认。改 deep:true 覆盖全部原地修改来源。
|
2026-08-07 22:43:38 +08:00 |
|
34047007@qq.com
|
853d01d796
|
checkpoint: 统计引擎确定性——系谱按 id 规范排序,消除 DB 行序对 MME 布局的影响
- _order_pedigree: base 与同世代并列个体均按 id 确定性排序,输入/DB 行序不再参与计算
- 平似然/退化数据上同内容输入必逐位同输出(此前 golden-section/二分会被末位浮点噪声带偏到任意 h²,导致回归间歇失败)
|
2026-08-07 21:47:55 +08:00 |
|
34047007@qq.com
|
20b7184b44
|
checkpoint: 权限即时生效——角色/用户变更自动踢下线 + roleless 用户自读修复
- online/service: kick_user_sessions 扫描 USER_SESSION 匹配目标用户,删三键使登录时固化的权限快照即时失效
- role service+controller: 更新/删除/改状态/改权限后踢下线绑定该角色的用户
- user service+controller: 停用/改密等变更后踢下线(对应用户即时 401 重登)
- permission: 无角色用户读自身记录时按 id 匹配放行(修复 409 真 bug)
|
2026-08-07 21:47:51 +08:00 |
|
34047007@qq.com
|
c1fa752d9b
|
checkpoint: require_redis 显式 503 守卫——存储类接口(AI配置/在线/缓存/验证码)接线
- dependencies: require_redis 改标准 FastAPI 依赖(Depends(redis_getter)),Redis 不可用显式 503 而非 500/静默空数据
- AI配置 5 端点 / 在线监控 5 端点 / 缓存监控 6 端点切到 require_redis
- 免认证验证码端点(captcha/get、slider/complete)也接线:Redis 挂时返回 503 而非 500
- login/token/oauth 保留 redis_getter(服务层内联 503 守卫语义不变)
|
2026-08-07 21:47:47 +08:00 |
|
34047007@qq.com
|
0b50e0adfa
|
checkpoint: SQLite 清理——业务/测试层统一 PostgreSQL(删 aiosqlite/fakeredis)
- setting: DATABASE_TYPE 收窄为 postgres,DB_URI/ASYNC_DB_URI 去 sqlite 分支
- database: create_async_engine_and_session 去 sqlite 分支(同步 psycopg 引擎保留给 jobstore)
- number_gen: 去 DATABASE_TYPE 非 postgres 早退(advisory lock 恒定走 PG)
- chat/crud: 删 SqliteDb 分支(agno 无硬依赖)
- pyproject/requirements/uv.lock: 删 aiosqlite、fakeredis;conftest 口径注释同步
- test_stat_analysis_tc: docstring 口径 SQLite→PG
|
2026-08-07 21:47:42 +08:00 |
|
34047007@qq.com
|
73e25050df
|
checkpoint: 调度任务存储落 PG——jobstore 归一 default + execute 写回真实触发 + 前端 store 字典更新
- ap_scheduler: 默认分组改 SQLAlchemyJobStore on PG,删 RedisJobStore 与 redis_instance;注释/告警口径同步
- node/service: jobstore 归一 default(兼容存量 sqlalchemy 名);cron/interval/date 写回 task_node.trigger/trigger_args(前端列表可见真实触发);run_job_now 用独立临时 id,不再覆盖节点既有排程
- enums: 删 APSCHEDULER_LOCK_KEY(jobstore 落 PG 后死锁)
- sys_dict_data: sys_job_store 字典归一 default,删 sqlalchemy 档
- 前端: 任务表单 store 选项与 default 归一
|
2026-08-07 21:47:38 +08:00 |
|
34047007@qq.com
|
86126ea16f
|
checkpoint: 架构治理四件套——统一 async / 测试真 PG / Redis 降级可选 / DPB 扶正
- A1 业务层统一 async:gencode 表内省改 run_sync 异步(不再阻塞事件循环)、
check_db 改 async_engine、dict_util 启动预热异步载入;psycopg 降为
APScheduler SQLAlchemyJobStore 专用同步孤岛(注释标注)
- A2 测试真 PG 化:conftest 弃 SQLite + mock Redis,改连真实 PG16(dpb_test)+
Redis(number_gen advisory lock 路径真被测);新增 docker/test-compose.yaml
测试依赖栈(postgres:16:5433 + redis:7:6380);run_ci 前置探测 + 容器兜底,
pytest -m pg 10 套正式 tc 全过(真实 PG16 + Redis)
- B1 Redis 启动不强依赖:redis_connect 失败降级启动,缓存类回源 DB、存储类
(会话/AI 配置/调度)经 require_redis 守卫返回 503;真机 3 阶段降级测试
PASS=11 FAIL=0(独立 Redis 6390 + 后端 8091,不动共享 dev 服务)
- C 扶正 DPB:后端横幅/日志(dpb.log)/README/pyproject/ai_factory agent 名、
前端 package.json/署名注释/链接文案/deploy.sh/docker 注释全部去 fastapiadmin;
grep backend/app + frontend/web/src 零残留
- 验证:全量回归 pass=72 fail=0
|
2026-08-07 09:06:19 +08:00 |
|
34047007@qq.com
|
e937fc930c
|
checkpoint: real-scale 数据链 + 统计引擎 + ABLUP 稀疏性能修复
init 后首次落盘,累计工作:
- 数据侧:simulate_breeding_data real-scale 3.5万树重建 + 分层观测
- 引擎侧:ABLUP 稀疏生产档 EM-REML(blup 1.6.0/1.7.0);性能倒挂修复——
系谱闭包收口为 BFS 可达祖先 + N_EXACT 3000 对齐 N_SUBSAMPLE(选中 200~3000 树
不再顶进数小时精确迹尾),A/B 数值等价实证 + 守卫探针
- 前端:观测过滤 + 表单/HTTP 工具链完善
- 文档:业务链/观测梳理 + 引擎实施记录 + 规划对照总表
- gitignore:排除 Temp/调试脚本/一次性验证输出
|
2026-08-07 08:03:10 +08:00 |
|
34047007@qq.com
|
b95053c52c
|
init: 初始化 dpb 桃育种系统代码库
前后端 + 后端 FastAPI 全量源码、部署脚本与文档。
|
2026-08-06 00:17:49 +08:00 |
|