## 为什么做这一步 权威文档 74 份此前**只在本机**,评审者 clone 分支后看不到任何设计文档;而仓库里那两份同名目录 是 **2026-09-16 之前的过期副本,连文件名都是旧的**(无体系编号)。本次按「**权威覆盖过期**」入库。 ## 入库内容 | 目录 | 文件数 | 体积 | 说明 | |---|---|---|---| | `客服agent/` | 24 | 0.77 MB | `D2.1`~`D2.6` 对外交付四件套 + 演示脚本/答辩报告 + `_build` 构建工具 | | `开发文档/` | 50 | 2.16 MB | `D1.x` 索引与决策、`D3.x` 方案、`D4.x` 清除与重构留痕、`D5.x` 业务流程、`D6.x` 业务事实基座、`D7.x` 交付物、`D8.x` 规范 | **旧的过期副本整体移除**(`客服Agent执行Todolist.md` → `D2.1-客服Agent执行Todolist.md` 之类 的改名 + 新增 `D2.5`/`D2.6`),入库后目录内容与权威副本**逐文件一致(零差异,已复核)**。 ## 入库前的安全扫描(必须留痕) - 扫描规则:`sk-` 类密钥 / `Bearer` 长串 / `password=`、`api_key=` 赋值 / 会话中出现过的两把明文 key 片段。 - 结论:**真实密钥只出现在 `.env`**(已被 `.gitignore` 命中,未入库);`.env.example` 与 `config/risk.env.example` 只有**空占位**。 - 文档内唯一命中是 `D3.1` 里一处**截断的示例 JWT**(`Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...`), 末尾带省略号,是接口文档的示意值,**不是可用凭据**。
19 lines
842 B
Python
19 lines
842 B
Python
# -*- coding: utf-8 -*-
|
|
"""校验 客服agent/ 目录下全部 HTML 文档结构(复用项目技能脚本)。"""
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
PY = r"C:\Users\Zzzzz1\.workbuddy\binaries\python\versions\3.13.12\python.exe"
|
|
VERIFY = r"C:\Users\Zzzzz1\.workbuddy\skills\project-html-doc-authoring\scripts\verify_html_doc.py"
|
|
OUT_DIR = Path(r"D:\桌面\金融\客服agent")
|
|
OUT = Path(r"D:\桌面\金融\_verify_all.txt")
|
|
|
|
targets = sorted(OUT_DIR.glob("*.html"))
|
|
chunks = []
|
|
for t in targets:
|
|
p = subprocess.run([PY, VERIFY, str(t)], capture_output=True)
|
|
chunks.append(f"===== {t.name} (exit {p.returncode}) =====\n"
|
|
+ p.stdout.decode("utf-8", "replace")
|
|
+ p.stderr.decode("utf-8", "replace"))
|
|
OUT.write_text(f"共 {len(targets)} 个 HTML\n\n" + "\n".join(chunks), encoding="utf-8")
|