a2ae74d582
- Backend: auth refresh reuse, schedule/retry/sync/agent/files fixes - Frontend: push WS, files ETag browse, vite build assets - Docs: audit/changelog, production deploy gate, bug scan registry B7-77 - Deploy: deploy-production.sh, prune assets, gate logs
8.2 KiB
8.2 KiB
BUG / 审计覆盖总表(2026-06-04)
用途:回答「还有哪些文件没扫?」——区分 Phase 2/3 走读 与 BUG 专项深读,避免与「全库闭环」混读。
图例
| 标记 | 含义 |
|---|---|
| P2·矩阵 | audit-phase-2-findings-matrix.md 有对应 ID 或 2a–2j 批次纳入 |
| P2·批次 | Phase 2/3 报告中有文件名(grep / 目录汇总 / 增量) |
| P3·目录 | Phase 3 前端按目录 grep(pages/ 14 文件合计 0 新 FINDING,非逐页全文) |
| BUG·全文 | BUG 专项 Batch 1–6:该文件 全文或核心路径通读 |
| BUG·节选 | BUG 专项只读了 部分行/函数(最易漏扫) |
| — | 上述 BUG 专项 未列入 任何 Batch 范围表 |
统计(BUG 专项)
server/api/*.py:20 个文件 → BUG·全文/节选 12,BUG 未列入 8frontend/src/pages/*.vue:14 个 → BUG·节选/关联 4,BUG 未列入 10
1. server/api/(20)
| 文件 | 行数约 | Phase 2/3 | BUG 专项 | 说明 |
|---|---|---|---|---|
agent.py |
360 | P2·矩阵 F2a-02/03/04;2h 增量 | BUG·全文 B1;BUG·节选 B5 TTL | 心跳/告警主路径已深读 |
install.py |
719 | P2·矩阵 F2a-08/09;2a 全文 | BUG·全文 B1 | 安装锁已修 |
auth_jwt.py |
275 | P2·矩阵 F2a-10 | BUG·全文 B6 | 中间件 + tv |
auth.py |
~375 | P2·矩阵 F2a-07 | BUG·节选 B6(refresh 在 service) | 登录/TOTP 路由未单独 BUG 通读 |
servers.py |
~1733 | P2·矩阵 F2a-12/13 | BUG·节选 B1 stats;B3 stats 封顶 | 大部 CRUD/WebSSH 未 BUG 通读 |
sync_v2.py |
~1663 | P2·矩阵 F2a-11;2b 服务层 | BUG·节选 B3/4/5 多段 | file-ops/upload/写路径;整文件未 BUG 通读 |
scripts.py |
~369 | P2·矩阵 F2a-14/15;2h 全文 | — | Phase 2h 已全文;BUG 专项未单列 |
webssh.py |
— | P2·矩阵 F2a-01/05/06 | — | 仅矩阵/历史 2a,无 BUG Batch |
websocket.py |
— | P2·矩阵 F2a-18 | — | 告警 WS;推送 WS 在 B4 侧验证 |
settings.py |
— | P2·矩阵 F2a-16 | — | |
files.py |
78 | P2·批次(API 层) | BUG·全文 B4 | 仅 GET browse |
schemas.py |
— | P2·批次 | BUG·节选 B4 SyncFiles.batch_id |
|
terminal.py |
— | P2·批次 | — | |
search.py |
— | P2·批次 | — | |
assets.py |
— | P2·批次 | — | |
health.py |
— | P2·批次 | — | |
dependencies.py |
— | P2·矩阵 F2a-17 | — | |
remote_path_validation.py |
— | P2·批次 | — | |
schema_path_validators.py |
— | P2·批次 | — | |
__init__.py |
— | P2·批次 | — | 路由聚合,无单独 BUG 行 |
2. server/ 其他(BUG 专项已触及)
| 文件 | Phase 2/3 | BUG 专项 | 说明 |
|---|---|---|---|
background/schedule_runner.py |
P2·2d | BUG·全文 B2 | once 回滚已修 |
background/retry_runner.py |
P2·2d | BUG·全文 B3 | 重试分类已修 |
background/heartbeat_flush.py |
P2·2d | BUG·节选 B4/B5 | flush 批量提交 |
background/self_monitor.py |
P2·2d | BUG·全文 B5 | |
background/script_execution_flush.py |
P2·2g/2i | BUG·全文 B6 | |
application/services/auth_service.py |
P2·2b | BUG·节选 B2/B6 | refresh 重用 B6 已修 |
application/services/sync_engine_v2.py |
P2·2b 矩阵 | BUG·节选 B2/B3 | gather 计数 B3 |
application/services/script_job_callback.py |
P2·2g | BUG·全文 B1 | |
application/services/files_browse_service.py |
P2·2b/服务 | BUG·节选 B4/5 | invalidate 辅助 |
infrastructure/redis/script_execution_store.py |
P2·2g | BUG·节选 B2 | stuck/flush 段 |
server/ 其余(application/services/* 其它、infrastructure/*、domain/*、main.py、config.py 等,约 50+ 文件):Phase 2b–2d 批次走读;BUG 专项 0 文件全文。
3. frontend/src/pages/(14)
| 页面 | Phase 2/3 | BUG 专项 | 说明 |
|---|---|---|---|
PushPage.vue |
P3·目录 | BUG·关联 B4 usePushProgress |
页面本身未单独 Read |
FilesPage.vue |
P3·目录 | BUG·关联 B6 useFilesBrowse + store |
组合逻辑在 composable |
DashboardPage.vue |
P3·目录 | BUG·节选 B3 | 仅 stats 加载段 |
TerminalPage.vue |
P3·目录 | BUG·关联 B2 useTerminalSessions |
|
LoginPage.vue |
P3·目录 | — | |
ServersPage.vue |
P3·目录 | — | |
ScriptsPage.vue |
P3·目录 | — | |
CommandsPage.vue |
P3·目录 | — | |
SchedulesPage.vue |
P3·目录 | — | |
SettingsPage.vue |
P3·目录 | — | |
AuditPage.vue |
P3·目录 | — | |
AlertsPage.vue |
P3·目录 | — | |
CredentialsPage.vue |
P3·目录 | — | |
RetriesPage.vue |
P3·目录 | — |
frontend/src 其它(composables/components 等 ~91 文件):Phase 3 目录 grep + 5 个代表全文;BUG 专项仅 ~8 个路径(见 Batch 2/4/6 报告)。
4. BUG 专项 Batch 1–6 文件清单(去重)
| Batch | 文件(路径) | 深度 |
|---|---|---|
| 1 | install.py, web/app/install.html, script_job_callback.py, agent.py, servers.py(节选) |
全文/节选 |
| 2 | schedule_runner.py, auth_service.py(节选), sync_engine_v2.py(节选), script_execution_store.py(节选), useTerminalSessions.ts |
节选为主 |
| 3 | retry_runner.py, sync_engine_v2.py, servers.py(stats), files_browse_service.py, DashboardPage.vue(节选) |
|
| 4 | sync_v2.py(节选), files.py, heartbeat_flush.py, usePushProgress.ts, schemas.py(节选) |
|
| 5 | agent.py(TTL), heartbeat_flush.py, sync_v2.py(写路径), self_monitor.py, files_browse_service.py |
|
| 6 | auth_jwt.py, auth_service.py(refresh), script_execution_flush.py, useFilesBrowse.ts, files.ts |
合计去重约 25 个路径(含节选重复计 1 次)。
5. 结论(2026-06-04 更新 — 全量扫描已签退)
此前缺口(Batch 1–6 仅 ~25 路径)已由全量排期补齐。
| 状态 | 说明 |
|---|---|
| BUG 全量扫描 | B0 登记册 + B7–B77 共 71 批;must_audit 283/283 done(read_range 1..N) |
| 节选重读 | servers.py、sync_v2.py、script_service.py、useTerminalSessions.ts 等 needs_full_rescan → 0 |
| 构建产物 | web/app/assets/** 2773 文件 → covered-by-frontend-src + B-Assets 门控 |
| 排除 | scripts/sedul3hFb、docker/.env(本地密钥,审 docker/.env.example) |
| OPEN P0/P1 | 0(Batch 7–77 本轮无新增;Batch 1–6 已修项保留) |
签退文档:audit-bug-scan-closure-2026-06-04.md
机器可读 SSOT:docs/audit/2026-06-04-bug-scan-registry.json
6. 历史建议顺序(已由 B7–B77 执行完毕,归档)
| 原优先级 | 范围 | 现状态 |
|---|---|---|
| P0 | webssh.py 全文 |
B9 |
| P0 | servers.py 全文 |
B7-R |
| P1 | sync_v2.py 全文 |
B8-R |
| P1 | scripts.py + script_service.py |
B10 / B17-R |
| P2 | frontend/src/pages/*.vue |
B35–B37 |
| P2 | terminal.py、settings.py、search.py |
B9 / B10 |
7. 交叉引用
| 文档 | 路径 |
|---|---|
| Phase 2 矩阵 | docs/reports/audit-phase-2-findings-matrix.md |
| Phase 3 前端 | docs/reports/audit-phase-3-frontend-line-walk.md |
| Phase 闭环声明 | docs/reports/audit-phase-3-full-closure-2026-06-04.md |
| BUG Batch 1–6 | docs/reports/audit-bug-line-walk-2026-06-04-batch{1..6}.md |
| BUG Batch 7–77 | docs/reports/audit-bug-line-walk-2026-06-04-batch{7..77}.md |
| BUG 全量登记册 | docs/audit/2026-06-04-bug-scan-registry.json |
| BUG 全量签退 | docs/reports/audit-bug-scan-closure-2026-06-04.md |
| B-Assets 门控 | docs/reports/audit-bug-assets-gate-2026-06-04.md |
| Phase 登记册(历史) | docs/audit/2026-06-04-full-line-walk-registry.md |
更新: 2026-06-04 · BUG 全量签退 · pytest 154 passed · ruff 全绿