feat(all): 源精度命名体系、工作流可观测台、节点停用管理与白名单归档
核心变更:
1. GridAxisValue 源精度命名
- 新增 GridAxisValue 类型,携带 f64 数值 + YAML 源书写文本(Deref 透明兼容算术)
- config.rs 绕过 serde_yaml 归一化,逐 token 捕获轴值原文(logg: 5.0 → g5.0)
- runner/executor/scheduler 全链路改用 DB TEXT 列权威 point_name,
修复 REAL 列回读丢精度导致的 model_name 错配
2. 工作流执行可观测台
- 新增 stats/progress/points 三组 API(进度时间序列、经验速率 ETA、
停滞预警、逐点明细分页、收敛性热力图数据)
- 新增 workflow_progress_snapshots 表 + tasks/grid_points 耗时列
- runner 携带 last_iter/worst_depth/n_depths 进 conv.json
- 前端新增 hash 路由、工作流详情页(概览/网格点/收敛分析三 Tab)、YAML 编辑器
3. 节点停用/启用管理
- 新增 disabled 状态 + disable/enable API;停用节点保持心跳但停止分发,
worker 空闲待命而非退出;移除 revoke API,token 失效统一走重发覆盖;
移除 host_name 字段
4. 白名单结果归档
- 新增 result_filter 模块,只归档有语义产物,丢弃 Tlusty 中间单元(~2MB/模型)
- executor 原子写入归档 + 200 点 LRU 上限
5. 历史数据导入
- sync_seeds 重写为 import_results:经 /admin/import_seed 标记 converged +
按新版命名迁移产物树
6. 部署与目录重规划
- data/results→seeds、data/archive→result + migrate_data_dirs.sh
- deploy.sh 增强(SSH 复用、Profile、远程 env);Dockerfile 瘦身
7. 文档同步更新 api/database/architecture/deployment
This commit is contained in:
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"lastScanned": 1785390240373,
|
||||
"projectRoot": "/home/fmq/program/tlusty/tl208-s54/dcts",
|
||||
"techStack": {
|
||||
"languages": [
|
||||
{
|
||||
"name": "Rust",
|
||||
"version": null,
|
||||
"confidence": "high",
|
||||
"markers": [
|
||||
"Cargo.toml"
|
||||
]
|
||||
}
|
||||
],
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "axum",
|
||||
"version": null,
|
||||
"category": "backend"
|
||||
}
|
||||
],
|
||||
"packageManager": "cargo",
|
||||
"runtime": null
|
||||
},
|
||||
"build": {
|
||||
"buildCommand": "cargo build",
|
||||
"testCommand": "cargo test",
|
||||
"lintCommand": "cargo clippy",
|
||||
"devCommand": "cargo run",
|
||||
"scripts": {}
|
||||
},
|
||||
"conventions": {
|
||||
"namingStyle": null,
|
||||
"importStyle": null,
|
||||
"testPattern": null,
|
||||
"fileOrganization": null
|
||||
},
|
||||
"structure": {
|
||||
"isMonorepo": false,
|
||||
"workspaces": [],
|
||||
"mainDirectories": [
|
||||
"assets",
|
||||
"docs",
|
||||
"scripts"
|
||||
],
|
||||
"gitBranches": {
|
||||
"defaultBranch": "main",
|
||||
"branchingStrategy": null
|
||||
}
|
||||
},
|
||||
"customNotes": [],
|
||||
"directoryMap": {
|
||||
"assets": {
|
||||
"path": "assets",
|
||||
"purpose": "Static assets",
|
||||
"fileCount": 3,
|
||||
"lastAccessed": 1785390240368,
|
||||
"keyFiles": [
|
||||
"gfVIS99.dat",
|
||||
"synspec_static",
|
||||
"tlusty_static"
|
||||
]
|
||||
},
|
||||
"crates": {
|
||||
"path": "crates",
|
||||
"purpose": null,
|
||||
"fileCount": 0,
|
||||
"lastAccessed": 1785390240369,
|
||||
"keyFiles": []
|
||||
},
|
||||
"dashboard": {
|
||||
"path": "dashboard",
|
||||
"purpose": null,
|
||||
"fileCount": 5,
|
||||
"lastAccessed": 1785390240369,
|
||||
"keyFiles": [
|
||||
"index.html",
|
||||
"package-lock.json",
|
||||
"package.json",
|
||||
"vite.config.js"
|
||||
]
|
||||
},
|
||||
"data": {
|
||||
"path": "data",
|
||||
"purpose": "Data files",
|
||||
"fileCount": 6,
|
||||
"lastAccessed": 1785390240370,
|
||||
"keyFiles": [
|
||||
"dcts.db",
|
||||
"dcts.db-shm",
|
||||
"dcts.db-wal",
|
||||
"dcts_queue.db",
|
||||
"dcts_queue.db-shm"
|
||||
]
|
||||
},
|
||||
"deploy.env.d": {
|
||||
"path": "deploy.env.d",
|
||||
"purpose": null,
|
||||
"fileCount": 7,
|
||||
"lastAccessed": 1785390240370,
|
||||
"keyFiles": [
|
||||
"node-dckj-linux-01.env",
|
||||
"node-dckj-win-01.env",
|
||||
"node-huawei-linux-01.env",
|
||||
"node-local-docker.env",
|
||||
"node.env.example"
|
||||
]
|
||||
},
|
||||
"docs": {
|
||||
"path": "docs",
|
||||
"purpose": "Documentation",
|
||||
"fileCount": 9,
|
||||
"lastAccessed": 1785390240370,
|
||||
"keyFiles": [
|
||||
"EXPERIENCE.md",
|
||||
"PIPELINE.md",
|
||||
"api.md",
|
||||
"architecture.md",
|
||||
"contributing.md"
|
||||
]
|
||||
},
|
||||
"scripts": {
|
||||
"path": "scripts",
|
||||
"purpose": "Build/utility scripts",
|
||||
"fileCount": 3,
|
||||
"lastAccessed": 1785390240370,
|
||||
"keyFiles": [
|
||||
"deploy.sh",
|
||||
"migrate_data_dirs.sh",
|
||||
"push_import_results.sh"
|
||||
]
|
||||
},
|
||||
"target": {
|
||||
"path": "target",
|
||||
"purpose": null,
|
||||
"fileCount": 2,
|
||||
"lastAccessed": 1785390240370,
|
||||
"keyFiles": [
|
||||
"CACHEDIR.TAG"
|
||||
]
|
||||
},
|
||||
"tools": {
|
||||
"path": "tools",
|
||||
"purpose": null,
|
||||
"fileCount": 0,
|
||||
"lastAccessed": 1785390240370,
|
||||
"keyFiles": []
|
||||
},
|
||||
"workflows": {
|
||||
"path": "workflows",
|
||||
"purpose": null,
|
||||
"fileCount": 1,
|
||||
"lastAccessed": 1785390240371,
|
||||
"keyFiles": [
|
||||
"sdB_cno.yaml"
|
||||
]
|
||||
},
|
||||
"assets/data": {
|
||||
"path": "assets/data",
|
||||
"purpose": "Data files",
|
||||
"fileCount": 132,
|
||||
"lastAccessed": 1785390240372,
|
||||
"keyFiles": [
|
||||
"CIA_H2H.dat",
|
||||
"CIA_H2H2.dat",
|
||||
"CIA_H2He.dat"
|
||||
]
|
||||
},
|
||||
"dashboard/dist": {
|
||||
"path": "dashboard/dist",
|
||||
"purpose": "Distribution/build output",
|
||||
"fileCount": 1,
|
||||
"lastAccessed": 1785390240372,
|
||||
"keyFiles": [
|
||||
"index.html"
|
||||
]
|
||||
},
|
||||
"dashboard/node_modules": {
|
||||
"path": "dashboard/node_modules",
|
||||
"purpose": "Dependencies",
|
||||
"fileCount": 1,
|
||||
"lastAccessed": 1785390240372,
|
||||
"keyFiles": []
|
||||
},
|
||||
"dashboard/src": {
|
||||
"path": "dashboard/src",
|
||||
"purpose": "Source code",
|
||||
"fileCount": 4,
|
||||
"lastAccessed": 1785390240373,
|
||||
"keyFiles": [
|
||||
"api.js",
|
||||
"main.js",
|
||||
"state.js"
|
||||
]
|
||||
},
|
||||
"data/seeds": {
|
||||
"path": "data/seeds",
|
||||
"purpose": "Database seeds",
|
||||
"fileCount": 0,
|
||||
"lastAccessed": 1785390240373,
|
||||
"keyFiles": []
|
||||
}
|
||||
},
|
||||
"hotPaths": [],
|
||||
"userDirectives": []
|
||||
}
|
||||
Reference in New Issue
Block a user