Commit Graph

59 Commits

Author SHA1 Message Date
Hermes Agent
9d1a6a11b0 feat: harden delivery and deletion workflows
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 20:37:39 +08:00
Hermes Agent
fe11e429b9 feat: add local alipay provider acceptance path
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 20:21:46 +08:00
Hermes Agent
b53e791aff feat: add payment return portal redirect
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 19:40:02 +08:00
Hermes Agent
a97cfb2058 docs: add service terms and deletion sop
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 19:38:30 +08:00
Hermes Agent
2f4eabf681 ops: add backup verification script
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 19:36:57 +08:00
Hermes Agent
ccf93c0b15 feat: add delivery status tracking and crowd quality levels
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 19:34:43 +08:00
Hermes Agent
a16fa07ba5 docs: sync historical snapshots and crowd db quality
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 17:46:34 +08:00
Hermes Agent
4b0390a255 feat: move delivery notification into dao transitions
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 17:35:37 +08:00
Hermes Agent
08148fe282 feat: add consent gating and dev verify
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 13:02:03 +08:00
Hermes Agent
a128fcda0d feat: tighten portal delivery gating and add compliance baselines
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 10:44:04 +08:00
Hermes Agent
d0ff5b5fe7 feat: gate serving on submitted intake 2026-06-14 10:38:04 +08:00
Hermes Agent
3e88d00f9a docs(exec): add current execution board for only-active issues
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 10:23:04 +08:00
Hermes Agent
cc1b674b9a docs(review): keep only active remediation items and sync truth sources
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 10:19:02 +08:00
Hermes Agent
93fa527f64 docs(review): reconcile completed-stage issues from 2026-06-13 alignment review
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 10:12:03 +08:00
Hermes Agent
8ae25245cf test: add alipay sim user e2e flow
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 09:56:14 +08:00
Hermes Agent
85605716b7 feat: add alipay simulation verification
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 07:48:17 +08:00
Hermes Agent
e7706e3b11 chore: harden real payment onboarding gate
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 06:50:21 +08:00
Hermes Agent
cb9728fb4e feat: complete web self-service mvp flow
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-14 05:26:27 +08:00
Hermes Agent
eba52bea6e docs(reports): add 2026-06-13 planning review artifacts 2026-06-13 22:44:53 +08:00
Hermes Agent
ca480ebf84 chore(quality): close T5.5 coverage gate
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-13 22:31:40 +08:00
Hermes Agent
9510fd16ec chore(release): finalize T5.5 coverage gate artifacts
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
2026-06-13 16:25:54 +08:00
Hermes Agent
3f46811e49 release: cut v2.1
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
v2.1
2026-06-13 14:49:58 +08:00
Hermes Agent
eb4f3e1e96 docs(channel-sync): add T8 truth docs and status 2026-06-12 18:00:05 +08:00
coder
1ce861166f feat(crowd-db): T2.5 扎堆检测单元测试 (覆盖率 93% ≥80%)
PRD 用例: 高风险识别 / 替代方案 / 跨省份 / 异常处理
- 新增 20 个 test_use_case_* 用例锚定 PRD 4 项要求
- 显式覆盖 freq=4 高风险完整字段、alt score 0-100、广东 vs 湖南跨省隔离
- 11 个异常处理用例覆盖 name=None/非 dict 元素/frequency 异常/loader 抛错

根因加固: detector 主循环加入 3 层防御
- isinstance(rec, dict) 防止 TypeError
- isinstance(rec_name, str) 防止 AttributeError on .strip()
- try/except frequency 防止 ValueError
- _normalize_entry 对 truthy 非 str school 走 str() 兜底

质量门禁
- crowd_detector.py 覆盖率 93% (101 stmts / 7 missed 仅 __main__ 块)
- test_crowd_detector 55/55 passed
- data/crowd_db/ 全量 125/125
- ruff check data/crowd_db/ All checks passed
- 仓库全量 249 passed (排除既有 orders/masking 失败)

Refs: docs/IMPLEMENTATION_PLAN_v2.md T2.5
2026-06-12 16:46:42 +08:00
coder
9168a10d75 feat(orders): T4.2 DAO 数据访问层 (CRUD + 事务 + 加密 + 状态机)
- data/orders/dao.py (530 lines): OrdersDAO class
  * CRUD: create / get / get_by_external_id / find_by_phone / list / count / stats_by_status / update / delete
  * 事务: transaction() 上下文 + 嵌套深度计数(外层事务中内层不重复 commit)
  * 加密透明化: API 入口 Order dataclass 走明文 PII,DAO 内部 to_db_row/from_db_row 转换
  * 状态机守护: transition_status() 单事务内 UPDATE orders + INSERT order_status_history
    + 时间戳联动 (paid_at/started_at/delivered_at/completed_at COALESCE 保留首次值)
  * 幂等 upsert_by_external_id: 4 种 action 与 data/channel_sync/dao_extension 对齐
  * 防御: update() 显式拒绝 status 字段; _row_factory_ctx() 不污染外部 row_factory
  * 异常: OrderNotFound(LookupError) / DuplicateOrder(ValueError)

- data/orders/tests/test_dao.py (51 cases): 加密透明化、状态机合法/非法路径、
  事务回滚、upsert 4 种 action、状态历史时间线、row_factory 隔离、删除 cascade、
  与 dao_extension 的契约对齐

- data/orders/__init__.py: 导出 OrdersDAO / UpsertResult / StatusChange /
  OrderNotFound / DuplicateOrder

- 验证: data/orders/tests/ 163/163, data/ 386/386, ruff 0 warning, py_compile clean
2026-06-12 16:36:51 +08:00
coder
ef4bb46295 docs(orders): T4.2 DAO 文档 + 实施记录 + CHANGELOG
- data/orders/README.md: 增加 DAO API 一览表 + 加密透明化边界表
- docs/plans/T4-2-orders-dao.md: 实施记录 (设计原则 / DoD / 验证 / 风险)
- CHANGELOG.md: T4.2 条目(51 用例 / 163 总 / 386 data 全绿)
2026-06-12 16:36:32 +08:00
Hermes Agent
6af6e0156b feat(crowd-db): T2.4 扎堆报告生成器 + 端到端渲染验证
- data/crowd_db/risk_report.py: build_crowd_risks 把 RiskFinding 转
  模板所需 crowd_risks 字典;高/中/低三色 emoji(🔴/🟡/🟢);
  group_by_risk / format_risk_summary / render_risk_table 辅助能力;
  LoaderLike Protocol 避免对 CrowdDBLoader 强依赖
- data/crowd_db/tests/test_risk_report.py: 22 用例覆盖三色 emoji、
  模板字段、alternatives 重映射、防御 fallback、空方案、不存在
  省份、自定义 loader 注入
- scripts/verify_t2_4_e2e.py: 用真实湖南 575 分数据 + audit_report.html
  模板渲染一遍,6/6 集成断言通过
- CHANGELOG: T2.4 记录

验证:data/crowd_db/tests/ 105/105、仓库全量 392/392、ruff All checks
passed、validate_template.py PASS
2026-06-12 16:35:20 +08:00
Hermes Agent
e18abedb4f feat(orders): T11.2 敏感字段展示脱敏工具 + to_dict 三态策略
- 新增 data/orders/masking.py (141 行):
  - mask_phone: 11 位 → 138****1234;支持 +86/86 国家码剥离、空格/横杠分隔符
  - mask_id_card: 18 位 → 430102********1234(保留前 6 行政区划 + 末 4);15 位老版兼容;13-14 位非标准也走前 6 后 4 遮罩
  - mask_name: 1 字原样 / 2 字 张* / 3 字 张*丰 / 4+ 字 张**;非中日韩字符全遮
  - mask_sensitive_dict: 一键遮罩订单字典中所有已知 PII 字段,不动 _enc/_hash 索引/密文
  - 默认安全:None/空串/非字符串均不抛错,统一返回 None/''

- 扩展 Order.to_dict(decrypt_sensitive) 三态策略:
  - True   : 完整明文(权限内接口使用,如后台人工核对)
  - False  : 完全移除明文(对外公开统计/审计日志)
  - 'mask' : 部分遮罩(默认,推荐;列表/详情直接可用)
  - 未知字符串策略值回退为 mask(防误传 plaintext 导致明文泄露)

- 新增 data/orders/tests/test_masking.py (246 行,32 个 pytest 用例):
  - 覆盖各 mask 函数边界(标准/带 +86/短串/非法输入)
  - 覆盖 Order.to_dict 三态与默认 mask 的串联通路

- 验证:
  - data/orders/tests 全套 112 用例通过(原 80 + 新增 32)
  - 全仓 344/344 通过
  - ruff check 0 warning / ruff format --check 已规范

- 与 T4.1 落盘加密的关系:crypto 负责'落盘形态'(密文+hash),
masking 负责'展示形态'(部分遮罩),两者正交互补。
2026-06-12 16:26:57 +08:00
Hermes Agent
bdd361e50f docs(orders): T11.2 展示脱敏文档 + 字段分类表更新
- data/orders/README.md 新增 T11.2 段:展示脱敏三态策略示例代码
- 文件结构表新增 masking.py / test_masking.py
- 字段分类表:强/弱敏感 PII 增加'展示遮罩'列
- DoD 勾选'展示脱敏'项
- 版本号 v1.0 → v1.1

代码改动见下个 feat commit(分离便于回滚/review)。
2026-06-12 16:26:32 +08:00
Hermes Agent
00e596ab10 feat(crowd-db): add provenance query and validation 2026-06-12 16:25:05 +08:00
Hermes
2f819b11a8 docs(changelog): 记录 T1.3 方案解析器 + T1.2 review 闭环修复 2026-06-12 16:24:41 +08:00
Hermes
fc5810e13b docs(audit): T1.3 完成后更新 SKILL.md DoD 复选框 + 版本号
T1.2 交付时遗留的两条 DoD 复选框('提交 commit 前完成本地结构校验'
'待 T1.3 完成后整体跑测试套件')在 T1.3 实际完成时勾选上,避免
bookkeeping 漂移(父任务 t_3e346fc1 review 关注点之一)。

版本号 v1.0 → v1.1,对应任务补注 T1.3。
2026-06-12 16:24:34 +08:00
Hermes
b796d0d4dd feat(audit): T1.3 实现方案解析器 plan_parser + T1.2 review 闭环修复
plan_parser.py(295 行):从大厂AI方案文本(PDF/纯文本/截图OCR)提取
考生信息+志愿列表。10 个单元测试全部通过(基础解析/志愿列表/省份别名/
选科/PDF格式/空文本/无志愿/编号多样性/序列化/真实样本回归)。

支持 27 省 + 别名(湘/HN/Hunan 等);志愿行 4 种行首编号格式
(. / 、/ )/ 空格);学校-专业 4 种分隔风格(-/:/()/ 空格)。

T1.2 review 闭环修复:
- Environment(autoescape=False) → autoescape=True,修复用户派生字段
  (policy_errors/crowd_risks/data_issues)XSS 注入风险
- 标签平衡检查改为显式 VOID_ELEMENTS 集合(103=103, 7 void 排除),
  原 '(HTML5 void elements ignored)' 注释与实际行为不符已修正

新增 fixture: tests/fixtures/sample_xianyu.txt(百度AI方案真实样本)

测试:gaokao-audit 11/11 通过;项目 244/244(不含无关订单 masking 分支)
2026-06-12 16:24:25 +08:00
Hermes Agent
56c39f73e2 feat(audit): T1.2 创建 gaokao-audit skill 基础结构
承接大厂AI(千问/元宝/百度/豆包)用户转化的 49 元审核服务 skill 骨架:

- SKILL.md (143 行) — 角色边界 + 49 元服务定价 + 四维审核框架
  (政策合规/扎堆风险/数据溯源/改进建议) + 合规红线 + DoD
- templates/audit_report.html (262 行) — Jinja2 报告模板
  含 4 审核维度渲染区块 + 升级到 99 元完整方案卡片
- examples/sample_audit.md (144 行) — 输入样例(大厂AI方案 3 形态)
  + 输出报告样例 + 渲染数据契约表(给 T1.3 parser 用)
- scripts/validate_template.py (137 行) — 模板渲染校验器
  16 个占位符检查 + mock payload 渲染 + 7 个输出字符串断言
- tests/test_validate_template.py (33 行) — pytest 入口,1 用例通过

关键设计:T1.1 review 暴露的 4 个反模式(吞错/模糊 substring/vacuous 测试/
缺失档位)已显式列入 SKILL.md 的'对齐 T1.1 review 教训'表,由 T1.3 plan_parser
实施时强制规避。

验证:
- 项目内测试 7/7 通过(原 6 个 spec_checker 测试 + 1 个新 audit 模板测试)
- SKILL.md frontmatter 合规(name/description ≤ 1024 字符)
- audit_report.html 7063 字符 mock 渲染成功

T1.2 范围限制:plan_parser 由 T1.3 实现,tests/test_plan_parser.py 同步补齐。
2026-06-12 15:34:47 +08:00
Hermes Agent
6220cc08be docs(audit): T1.2 CHANGELOG 记录 gaokao-audit skill 创建
- 在 v2.1 进行中区追加 T1.2 条目(位于 T7.1 之上)
- 摘要 skill 文件清单、行数、关键设计、T1.1 review 反模式对齐
- 与 T1.2 feat commit 配对(docs 先行 / feat 跟进,延续 T7.1 / T10.2 模式)
2026-06-12 15:34:27 +08:00
Hermes Agent
a11480cf10 feat(orders): add encrypted sqlite order model 2026-06-12 15:24:20 +08:00
hermes-coder
29f3f4d362 feat(share): T7.1 短链接生成 (base62 + SQLite 映射表)
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
- data/share/short_link.py (657 行):ShortLinkService 核心模块
  - base62 编解码 + secrets.choice 加密随机短码
  - SQLite WAL 模式持久化,share_links 表 + 3 索引
  - 访问控制:permission (read/comment/edit/admin) + sha256 密码 + expires_at + revoked
  - 完整 CRUD: create/get/resolve/revoke/list_by_*/get_stats/purge_expired
  - route_short_link() 路由辅助供 Flask/FastAPI 等挂载 /s/<code>
- data/share/tests/test_short_link.py (447 行):25 个 pytest 用例覆盖全部 API
- scripts/gaokao-shortlink (271 行):CLI 入口 (create/resolve/revoke/list/stats/purge)
2026-06-12 15:20:10 +08:00
hermes-coder
c2eb4ce4da docs(share): T7.1 短链接生成设计 + CHANGELOG 记录
- 新增 docs/plans/T7-sharing-mvp.md:T7 5 个子任务整体设计
  - T7.1 详细设计:base62 短码、SQLite schema、Python API、CLI、路由辅助
  - T7.2 海报 / T7.3 权限 / T7.4 撤销统计 / T7.5 WebUI 设计草案
- CHANGELOG 记录 T7.1 已完成(25 测试通过)
2026-06-12 15:19:50 +08:00
Hermes
361dbe5fbd feat(ci): T10.2 codecov 集成 + 覆盖率徽章配置
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
完成 v2.1 实施计划 T10.2: codecov 集成与覆盖率徽章。

变更:
- .github/workflows/ci.yml: 新增 'Upload coverage to Codecov' 步骤
  - codecov/codecov-action@v4 (锁 major)
  - 3.11 单点上传,flag=python-3.11(避免矩阵多份报告冲突)
  - fail_ci_if_error: false(codecov 不可达不阻断 CI)
  - 不设 token: public repo 匿名上传即可
- codecov.yml: 配置文件
  - project target 60% / threshold 1% (与 T5.5 整体门槛对齐)
  - core (skills/gaokao-spec-checker + gaokao-college-advisor) target 80% / threshold 2%
  - patch target 70% / threshold 5%
  - ignore docs/tests/rules/scripts/gaokao-shortlink (非生产代码)
  - require_ci_to_pass: false (CI 失败不阻塞 codecov 上传)

本地验证:
- pytest 136/136 通过 (T7 修复后 test_route_short_link 已恢复)
- 整体覆盖率 59.55% (line-rate=0.5955, 2126/1266 lines)
- coverage.xml 是合法 Cobertura XML (codecov-action 可消费)
- ci.yml/codecov.yml YAML schema 解析通过

未在本任务范围: T5.5 --cov-fail-under 硬门槛启用、scripts/* 0% 覆盖率补齐、
core 模块 (gaokao-spec-checker 72%, 距 80% 差 8%) 补齐。
2026-06-12 11:02:11 +08:00
Hermes
730a8f4f21 docs: T10.2 README 徽章 + CHANGELOG 记录 codecov 集成
为 T10.2 预先更新文档:
- README.md 顶部新增 codecov 覆盖率徽章
- CHANGELOG.md 记录 T10.2 已完成(codecov 集成 + 徽章)
- 与 feat(ci) commit 隔离:先文档后实现,遵循用户对
  文档真实性变更与代码变更分独立 commit 的偏好
2026-06-12 11:01:56 +08:00
Hermes Agent
55bf84610b feat(crowd_db): T2.3 扎堆检测算法
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
- 新增 detect_crowd_risk(plan, user_score, province) 入口
- 遍历方案每条志愿,匹配该分数段内 crowd_db 记录
- 风险等级:frequency >=4 high / 2-3 medium / 1 low / 0 跳过
- 院校模糊匹配(互相包含),专业可选
- 支持 dict / CrowdRecommendation / tuple / list 多种 plan 形态
- 支持注入 loader 便于测试,结果按 frequency 降序
- 20 个单元测试覆盖各分支(136/136 全套通过)
2026-06-12 11:00:03 +08:00
hermes-ops
b4ecad2130 feat(ci): T10.1 GitHub Actions 多 Python 版本自动化测试
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
- .github/workflows/ci.yml: CI 流水线
  - 触发器: push / pull_request 到 main
  - 矩阵: Python 3.10 / 3.11 / 3.12
  - fail-fast: false(单版本失败不影响其他)
  - concurrency: 取消同分支旧运行
  - steps: checkout / setup-python / pip cache / 安装依赖 / 运行 pytest+coverage / 上传 coverage 产物
- pytest.ini: 统一测试发现(tests + data/*/tests),与 CI 行为一致
- requirements-dev.txt: 测试依赖最小集(pytest / pytest-cov / pytest-timeout / pytest-xdist)
- README.md: 顶部增加 CI 状态徽章
- .gitignore: 忽略 .coverage.* / coverage.xml

覆盖率硬门槛(--cov-fail-under)留待 T5.5,避免在 T10.1 阶段被尚未补齐的脚本/分享模块测试阻断。
本任务产出 coverage.xml 供 T10.2 codecov 集成使用。
2026-06-12 10:51:35 +08:00
hermes-ops
7b91404f7d docs(changelog): 记录 T10.1 GitHub Actions CI 已完成
新增 v2.1 进行中章节,列出 T10.1 已交付项与后续 T10.2/T10.3/T5.5 计划。

无代码变更,仅文档真实性更新。
2026-06-12 10:51:22 +08:00
Hermes Agent
b9673d7501 feat(crowd_db): T2.1 扩展湖南数据覆盖 - 专科批+省外顶尖段
- 新增 [440,480] 专科批临界段(4 条)
- 新增 [660,690] 省外顶尖段(清北复交浙,6 条)
- 更新 source 字段说明 T2.1 整理动作
- 总条目 58 -> 68,仍在 50-100 范围内
- 10 个分数段连续覆盖 440-690,无 gap/overlap
- 频次分布 2/3/4 = 18/26/24,平台覆盖均衡
- 5/5 单元测试通过
2026-06-12 10:47:40 +08:00
Hermes
552526a3f1 feat(crowd_db): T1.1 数据加载器 + 目录完善
- data/crowd_db/README.md 补全字段说明、文件命名、数据来源
- data/crowd_db/hunan.json 已有 T2.1 整理的 8 个分数段 58 条数据
- 新增 loader.py: CrowdDBLoader + CrowdRecommendation
  - 省份→文件名映射(湖南→hunan.json) + 多种命名兜底
  - load_province / find_recommendations / find_recommendation_by_school
  - risk_level 派生属性(frequency>=4=high)
- tests/test_loader.py 5 测试全通过

Plan: docs/plans/T1-1-crowd-db-setup.md DoD 达成
2026-06-12 10:29:53 +08:00
Hermes Agent
a146fe942c feat(audit): 完整审核+修订版实施计划
【审核工作】
基于 plan-audit skill 对 11 份文档(5874行)做完整审核:
- 文档完整性: A级 
- 业务对齐: A级 
- 差异化策略: A级 
- 技术选型: A级 
- 任务分解: A级 
- 行业实践: C级 🔴 (5/10)
- 实施可执行: B级 🟡 (62.5%)

【发现14项差距】
4项重大缺失:
  G-01: Web端完全未在实施计划
  G-02: 管理后台(432行设计)无对应实施
  G-03: 分享功能(274行设计)无对应实施
  G-04: AI审核PRD标P1但实际应P0

4项中等缺失:
  G-05: 测试覆盖仅6用例(需≥80%)
  G-06: 渠道SDK集成未设计
  G-07: 错误处理体系缺失
  G-08: CI/CD流程未设计

3项设计偏差:
  D-01: data/crowd_db目录不存在
  D-02: 性能目标无验证任务
  D-03: 数据加密未实施

3项建议优化

【关键产出】
1. docs/AUDIT_REPORT_2026-06-11.md (382行)
   - 完整审核报告
   - 行业最佳实践对照
   - 风险评估
   - 行动建议

2. docs/REMEDIATION_TASK_BOARD_2026-06-11.md (386行)
   - 14项修复任务清单
   - 最短闭环路径
   - 决策记录

3. docs/IMPLEMENTATION_PLAN_v2.md (412行)
   - 11个核心任务(原5个+新增6个)
   - 工期30天→40天
   - 强制TDD覆盖率门槛
   - 6周详细时间表

【已修复P0】
- PRD: F020 AI审核 P1→P0
- 创建 data/crowd_db/ 目录(D-01修复)
- 修订IP为v2版(10.1→11任务)
- 加入测试覆盖率门槛

【决策记录】
D-01: AI审核提升至P0
D-02: 管理后台/分享纳入MVP
D-03: Web端推迟到v2.3
D-04: 测试覆盖设硬指标
D-05: CI/CD简化版

【行业实践差距】
标准达标: 5/10 (50%)
- 测试覆盖: 🔴
- 错误处理: 🔴
- CI/CD: 🔴
- 降级策略: 🔴
- API版本: 🔴
- 日志审计: 🟡
- 性能监控: 🟡
- 数据备份: 🟡
- 安全认证: 🟡
- 文档: 🟡

【下一步】
启动T1 AI审核服务实施(10天)
2026-06-12 10:05:13 +08:00
Hermes Agent
56a9327e78 feat: 技术架构设计 + 详细实施计划
根据产品规划设计完成技术设计和实施分解:

1. docs/TECH_ARCHITECTURE.md(新,587行)
   - 分层架构图(接入层/网关/服务/数据/基础设施)
   - 技术栈选型(Python + SQLite + FastAPI)
   - 核心模块设计:
     * AI审核服务(49元版)
     * 反扎堆检测
     * 数据溯源
     * 订单管理
   - 数据架构与目录结构
   - 安全设计(脱敏/权限/审计)
   - 性能指标
   - 11项技术决策记录

2. docs/IMPLEMENTATION_PLAN.md(新,432行)
   - 5大开发任务(30天)
   - T1: AI审核服务(10天,P0核心)
   - T2: 反扎堆检测(5天,P0)
   - T3: 数据溯源(5天,P1)
   - T4: 订单管理(5天,P1)
   - T5: 集成测试(5天,P0)
   - 详细周计划(4周)
   - 每个Task的DoD
   - 风险与应对

3. docs/plans/ 新增3份详细计划:
   - T1-1-crowd-db-setup.md (扎堆数据库,3个子任务)
   - T1-2-audit-skill-and-parser.md (Skill+解析器)
   - T1-4-to-1-10-audit-completion.md (T1.4-1.8完整代码)

4. docs/NAVIGATION.md 更新
   - 添加新文档索引

每个实施计划都包含:
- TDD流程(写测试→失败→实现→通过→提交)
- 完整可复制代码
- 精确文件路径
- 验证命令和预期输出
- 提交步骤

技术决策:
- 选用SQLite(本地优先,零配置)
- FastAPI作为Web框架
- 扎堆数据库手动维护(合规考虑)
- 数据溯源JSON文件存储(Git友好)
2026-06-12 09:18:52 +08:00
Hermes Agent
8f64e0f0c3 feat: 根据竞品分析深度优化产品规划设计
核心优化:差异化功能设计 + 定价策略 + 推广话术

1. docs/BUSINESS_SCENE.md(新增197行)
   - 反扎堆推荐功能设计
   - AI方案审核功能(49元版)核心差异化
   - 数据溯源展示设计
   - 服务流程和审核报告模板

2. docs/COMPETITIVE_ANALYSIS.md(新增111行)
   - 小红书标题模板(5个)
   - 小红书内容结构(完整模板)
   - 知乎回答模板
   - 闲鱼商品标题和描述模板
   - 微信朋友圈话术模板

3. product/PRD.md(优化77行)
   - 新增功能:
     * F018 反扎堆推荐(P0)
     * F019 数据溯源(P1)
     * F020 AI方案审核(P1)核心
   - 服务版本重新设计:
     * AI审核版 49元(承接大厂用户)新增
     * 基础版 99元
     * 标准版 199元(主推)
     * 尊享版 299元
   - 新增版本对比表(vs大厂免费)
   - 新增核心话术(AI审核版/标准版/尊享版)

4. product/ROADMAP.md(新增83行)
   - 差异化功能开发计划(6-7月)
   - AI方案审核服务详细计划(6月15-20日)
   - 反扎堆推荐功能开发(6月15-25日)
   - 数据溯源功能开发(6月20-30日)
   - 产品优化计划(7-8月)

关键决策:
- 49元AI方案审核:承接大厂用户的核心产品
- 升级转化:49元→99元补差价模式
- 反扎堆:主动提示AI推荐扎堆风险
- 数据溯源:每所院校数据来源透明

推广策略:
- 小红书:大厂AI避坑内容
- 知乎:真实体验对比回答
- 闲鱼:AI方案审核商品
- 朋友圈:政策/扎堆/数据三大痛点
2026-06-12 09:06:52 +08:00
Hermes Agent
1f8c51aa64 feat: 竞品分析(大厂AI入场)与差异化策略
基于2026年6月10日大厂集体入场事件(千问/元宝/百度/豆包),
深入分析竞品,明确产品差异化与推广差异化:

1. docs/COMPETITIVE_ANALYSIS.md(新文档,530行)
   - 4大竞品详细分析(千问/元宝/百度/豆包)
   - 9维度功能对比矩阵
   - 市场洞察(同质化/扎堆风险/用户痛点)
   - 6大产品差异化策略
   - 6大推广差异化策略
   - SWOT分析(更新版)
   - 行动建议(短/中/长期)
   - 风险应对与关键决策

2. product/PRD.md(新增8.5节竞品分析)
   - 大厂服务对比表
   - 差异化定位
   - 6大产品差异化
   - 6大推广差异化

3. product/ROADMAP.md(新增大厂应对策略)
   - 6月10-25日应对窗口
   - 渠道/内容/服务差异化行动

4. product/MARKET_RESEARCH.md(新增5.5节)
   - 大厂AI入场影响分析
   - 正面/负面影响
   - 5点应对策略

5. docs/NAVIGATION.md(更新文档导航)

核心洞察:
- 大厂免费入场 = 普及市场,但创造差异化空间
- 反AI推荐 = 我们最大的差异化
- 真人服务+政策合规+反扎堆 = 市场空白
- 闲鱼/微信/学校 = 大厂做不了的渠道

决策:
- 不正面竞争大厂通用市场
- 专注专业版细分市场
- 99-299元 vs 大厂免费
- 6月窗口期全力推广反扎堆理念
2026-06-12 07:35:12 +08:00
Hermes Agent
979f3d765d feat: 明确区分闲鱼/微信与Web系统两种业务流程
根据用户明确要求,完善业务流程设计:

核心区别:
- 闲鱼/微信流程:用户先在渠道内付款 → 提供资料 → 管理端录入资料 → 生成方案
- Web系统流程:用户进系统 → 付款 → 填资料 → 自动/人工生成方案

更新 docs/BUSINESS_SCENE.md:
1. 顶部新增关键业务流程区分表,明确本质区别
2. 场景A(闲鱼/微信/学校)流程重新设计:
   - 步骤1: 用户下单/加微信
   - 步骤2: 用户提供资料
   - 步骤3: 管理端录入订单(手动)
   - 步骤4: 龙老师服务
   - 步骤5: 方案交付
   - 步骤6: 管理端完成订单
3. 场景B(Web系统)流程重新设计:
   - 步骤1-2: 访问、选择版本
   - 步骤3: 支付(先付费)
   - 步骤4: 填写资料(付费后才显示)
   - 步骤5: 生成方案
   - 步骤6-7: 交付、完成
4. 管理后台订单录入界面详细设计
5. 新增两种模式对比表
6. 新增异常处理(信息不完整、退款)

更新 product/PRD.md:
- 9.1 重写为两种核心业务流程对比表
- 9.2 推广渠道矩阵按业务流程分类
- 9.3 订单管理区分两种订单来源
- 9.4 服务版本保留

关键决策:
- 闲鱼/微信:先给资料→管理端录入→生成方案(人工服务)
- Web系统:先付费→填资料→生成方案(自助服务)
- 订单统一管理(手动+自动)
2026-06-11 22:45:05 +08:00