Files
xiaobai-review/tools
总工andmultica-agent fa82b8621e feat(HEL-566): 去掉主站行情管理入口并修好模型列表收起
主站行情管理并入数据中枢
- 数据中枢数据源配置页新增「主站行情任务」卡:交易时段后台刷新开关、
  手动后台刷新、历史区间回补(任务提交 + 轮询主站 job 记录亮灯),
  数据与调度仍归主站,控制台只经桥接代操作
- 新增桥接端点 /api/hub-admin/market/{refresh,backfill};回补改为
  market.backfill 后台任务(jobs.config.json 注册,锁独立,超时 30 分钟),
  桥接调用秒回,不再阻塞
- 主站桌面端删除顶栏「行情管理」按钮与整个行情管理对话框,清理随之
  失效的 CSS;移动端删除 system/admin 页与入口,管理员专区只留数据中枢
- Tushare Token / iFinD 凭证编辑沿用数据源页既有凭证区,无功能缺失

模型池收起修复
- 拉出模型清单后按钮切换为「收起列表」,收起只留一行摘要;再次点击
  重新拉取并展开;勾选添加完成后清单自动收起(原逻辑保留)
- 交互全部沿用 HEL-558 已确认样式的既有按钮与提示组件,未新增视觉

自测
- verify_baseline 通过;pytest 492 项通过;数据中枢 240 项通过
- verify_datahub_console 新增 [11b] 行情任务桥接端到端段;UI 自测新增
  行情任务卡开关往返、模型清单展开/收起/再展开/添加自动收起,日夜主题
  与 1030 窄屏复验通过
- Playwright e2e 102/103:唯一失败项在基线提交上同样失败(本机字体度量
  导致的头部溢出,与本卡无关)

Co-authored-by: multica-agent <github@multica.ai>
2026-09-16 17:24:05 +08:00
..

Maintenance tools

Run these commands from the application root. This directory contains only active startup, registry, and verification tools.

Normal maintenance

  • powershell -ExecutionPolicy Bypass -File tools/start_local.ps1 [-Port 8797]: start the local application in a hidden process and keep logs, the PID, and Python cache under runtime/ instead of the source root.
  • python tools/verify_baseline.py: all unit tests, registry checks, every frontend JavaScript syntax check, Git whitespace check, and read-only SQLite integrity check.
  • python tools/verify_baseline.py --e2e: the same checks plus Playwright. The verifier owns the local static-server lifecycle so the command exits cleanly on Windows.
  • python tools/build_api_registry.py [--check]: generate or verify config/api.config.json from backend/http/dispatch.py and the registered backend/features/*/routes.py owners.
  • python tools/build_architecture_inventory.py [--check]: generate or verify config/architecture-inventory.json from the current source tree.
  • python tools/verify_datahub_console.py: end-to-end self-test for the Data Hub console bridge — invite-code single use, admin-only gate, credential masking, model pool and membership round-trips, service-token checks. Starts both services on temporary ports with temporary data directories and restores the repository state on exit.
  • python tools/verify_datahub_console_ui.py [--shots <dir>]: the browser pass over the same sandbox (gate, credential editor, vendor model pool, members and invite codes, day/night themes, 1030px narrow layout). Requires Playwright and a local Chromium.
  • python tools/backfill_recent_snapshots.py --account <admin> [--lookback 60] [--dry-run]: auditable recent trading-day dashboard snapshot backfill. See docs/maintenance/行情历史补档.md.
  • tools/update_from_main.sh (deployed to the server as ~/xiaobai-build/update-from-main.sh): the server-side update-and-build entry for the managed local worktree at /opt/1panel/docker/compose/xiaobaifupan. Fetches Gitea main, enforces branch/clean/fast-forward checks, builds a main-<shortsha> tagged image with the revision label, and verifies the label after the build. tools/xiaobai-git is the matching git wrapper for that worktree (status/log/diff).
  • bash tools/build_image.sh <commit> <tag>: agent-grade entry that streams git archive <commit> to the deploy host over SSH (default moxiaobai@192.168.200.11), refuses tags that do not end with the commit short SHA, verifies the revision label after the build, and appends a record to ~/xiaobai-build/BUILD_LOG.tsv on the host. Before building, it runs tools/check_deploy_baseline.sh so the candidate commit must contain the currently running container's Git revision as an ancestor.
  • bash tools/check_deploy_baseline.sh <commit> [--live-revision <sha>]: deployment ancestor gate. Reads the live org.opencontainers.image.revision from the running xiaobai-review container (or --live-revision in tests), prints the live SHA, candidate SHA, file diff, and commits the candidate would drop, then exits if the live revision is not an ancestor of the candidate.

verify_baseline.py does not inspect a parent checkout or skip tests according to files outside this application. Historical comparison scripts were retired after final standalone acceptance; their results remain under docs/migration/evidence/ and their source remains recoverable from Git history.