Hermes Agent
|
c5b0c3db81
|
feat(frontend+review): P0/P1收口 + 数据查询能力补齐
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
P0 收口:
- 全局导航全覆盖(19个缺失页面统一注入)
- 复核结果页正式保存/分享闭环(navigator.share + clipboard + localStorage)
- 状态组件统一化(toast/loading 全局注入)
- 页面回流路径补齐(返回首页/返回订单状态)
P1 收口:
- 表单即时校验统一(首页4字段 + portal info 3字段)
- 移动端关键页面验收(Playwright mobile 5页 PASS)
- C方案鉴权:my-orders/my-reports/compare-reports 删除手机号直查
- cwb 页面从 placeholder 升级为基于 crowd_db 的真实三档建议
- /health readiness 语义修复(degraded→503)
- CURRENT_STATE 顶部与 §0.5 数字矛盾消除
Review 报告修复:
- payment readiness doctor + .env.payment.example
- 法务文档状态从草案升级为正式版
- 100-case smoke: boundary 真 POST 验证 + /tmp 产物 + 双条件探针 + token URL 脱敏
第三阶段补齐:
- /score-line-query 分数线查询
- /rank-estimator 位次估算
- /majors-query 专业库查询
- /schools-query 院校库查询
- /data-query 扩展为 6 入口
验证:
- pytest 1306 passed, admin/tests 302 passed, web_public 20 passed
- ruff 全绿
- 真实浏览器验证 nav/分享/移动端/PDF/数据查询全部通过
|
2026-06-27 16:08:10 +08:00 |
|
Hermes Agent
|
33ef6f2897
|
test(e2e): add 30 fullchain score-range simulations
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-26 10:21:37 +08:00 |
|
Hermes Agent
|
82b2577422
|
test(e2e): add 30 score-range sample simulation evidence
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-26 09:46:36 +08:00 |
|
Hermes Agent
|
cad78940ef
|
docs(6/21-6/24): 系统复审 + 全升级规划 + TestClient 覆盖报告
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
新增文档:
- reports/STRICT_SYSTEM_REVIEW_2026-06-23.md (滚动严格复审过程稿)
- reports/STRICT_SYSTEM_REVIEW_2026-06-24.md (汇总版, 149 passed)
- reports/TEST_CLIENT_COVERAGE_2026-06-23.md (主链路真实 TestClient 覆盖收口)
- docs/plans/2026-06-23-full-upgrade-optimization-plan.md (全升级优化计划)
- docs/COMPETITOR_SCREEN_ANALYSIS_WENXIN_QIANWEN_2026-06-21.md (竞品分析)
- docs/FIELD_MAPPING_AUDIT_FIRST_PROFILE_2026-06-21.md (首版字段映射审计)
- docs/PAGE_REDESIGN_CHECKLIST_2026-06-21.md (页面重设计清单)
- docs/REPORT_PROFILE_VERSION_RELATION_2026-06-22.md (报告版本关系)
- docs/P0_EXECUTION_TASK_BREAKDOWN_2026-06-22.md (P0 任务拆解)
- docs/P0_MINIMAL_API_CHANGES_2026-06-22.md (P0 最小 API 改动)
- docs/UPGRADE_EXECUTION_BOARD_2026-06-22.md (升级执行板)
- product/PRD_UPGRADE_2026-06-21.md (PRD 升级版)
CHANGELOG.md 同步本轮 commits
|
2026-06-25 09:28:23 +08:00 |
|
Hermes Agent
|
09caa3309f
|
feat(legal+data): harden legal drafts and crowd_db provenance
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-21 11:54:16 +08:00 |
|
hermes
|
240c38e312
|
feat(scripts 6/20 v2.1.4): 性能+集成+模拟+部署 4 维度验证
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
## 4 个新脚本
| 脚本 | 用途 | 结果 |
|---|---|---|
| scripts/perf_benchmark.py | 性能 baseline + 10 并发压测 | p95=3ms/10.68ms, 1250 rps |
| scripts/integration_test.py | 全链路 E2E (DB+admin+portal+retention) | 7/7 PASS |
| scripts/user_simulation.py | Playwright 5 跳 × 2 视口 | 10/10 PASS |
| scripts/deploy_ops_verify.py | 12 项 health/auth/CRUD/ops-alerts | 12/12 PASS |
## reports 落地
- reports/perf_2026_06_20.json
- reports/integration_2026_06_20.json
- reports/deploy_ops_2026_06_20.json
- reports/user_simulation_2026_06_20/ (10 PNG + captures.json)
- reports/PRODUCTION_LAUNCH_READINESS_2026-06-20.md (总报告 + PRODUCTION_DEPLOYMENT_CHECKLIST §7 A 8 项勾选)
- docs/VERIFICATION_SCRIPTS_2026-06-20.md (脚本索引)
## 关键发现 (投产必读)
1. **GAOKAO_ORDERS_FERNET_KEY 必须在 systemd unit Environment= 显式设置**, 否则
订单写入抛 MissingEncryptionKey → 兜底 except 抛 500 E03003 (表面像'数据保存失败')
2. **/api/orders 与 /api/orders/{id} 响应都是嵌套 {order: {...}}**, portal 路径平铺
3. **portal_token 不在 order 响应里**, 需 data/customer_portal/token.issue_portal_token(order_id, secret)
## PRODUCTION_DEPLOYMENT_CHECKLIST §7 A 8 项
本地可推进 5/8 全过: 密钥目录 / 健康端点 / 联调文档 / 隐私政策 / 数据密度
3/8 文档级 (SMTP 真实联调 / 告警渠道 / 备份异机演练 需 PM+Ops+凭据)
## 状态分级
- 整体: CONDITIONAL_APPROVED
- 本地验证: 4 维度 36/36 项全 PASS
- 外部前置: 6 项需 PM/Ops/Legal/真实商户协调 (T12-A / 异机演练 / 法务审定 / 真实告警 / 真实压测 / data_year 更新)
|
2026-06-20 18:57:45 +08:00 |
|
hermes
|
6eafe1fc9b
|
feat(ops 6/20 v2.1.3): 生产加固 + L-A 送审前修复 + crowd_db 质量契约
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
## 实现内容 (6 项改动)
1. **admin /health 端点增强** — 主键契约 status:ok 保持 + checks 子对象
- db_writable: connect + CREATE TEMP TABLE + INSERT + SELECT + DROP
- disk_writable: 在 ops_alert_log_path 目录创建临时文件 + 删除
- settings_valid: 复用 is_jwt_secret_secure 判断
2. **_enforce_jwt_secret_policy** — prod env 使用 dev 默认 JWT / 长度<32 → fail-closed
3. **_enforce_default_admin_password_policy** — prod env 用 admin123 / 长度<10 / 字符类<3 → fail-closed
4. **L-A R7: admin UI footer** — dashboard.html (592 行) + ui.py 内联 admin/orders/new
模板加 footer 隐私政策 + 数据删除 + 服务说明链接, 与 portal _render_footer_links() 同口径
5. **L-A R1+R4: LEGAL_PRIVACY_BASELINE 文档同步**
- §6 移除孤儿 'admin' consent_channel 值 (代码侧从未实际产生)
- §7 已具备/尚缺 重写, 显式归到 6/20 增量
6. **Q-A: tests/test_crowd_db_data_quality.py** — 8 个测试锁住
- 27 省总数 + 仅湖南 high + 其它 26 省 ≤ usable
- 高考生源大省 (广东/江苏/北京/上海/山东/河南/四川/湖北) 不在 high 集合
- data_year=2025 (6/25 后需显式更新)
## 测试
- 4/4 RED → GREEN (admin/tests/test_health.py: JWT/admin password 拒绝 dev 默认值)
- 8/8 GREEN (data/crowd_db/tests/test_crowd_db_data_quality.py: 数据质量契约)
- 3 回归修复 (test_app.py + test_routes.py + test_health.py 适配新 /health checks 字段)
- 31/31 GREEN (admin/tests/test_app.py + test_routes.py + test_health.py)
## 报告
- reports/LA_LEGAL_PRIVACY_PRE_AUDIT_2026-06-20.md (363 行, 9 风险 0 阻塞)
- reports/QA_CROWD_DB_NON_HUNAN_DENSITY_AUDIT.md (45 行, CRITICAL 文档失真已规避)
## 文件
M CHANGELOG.md (v2.1.3)
M admin/config.py (2 个 _enforce_*_policy + load_settings post-load)
M admin/routes/health.py (3 个 _check_* + checks 子对象)
M admin/routes/ui.py (admin/orders/new 模板加 footer)
M admin/static/dashboard.html (footer 块)
M admin/tests/test_app.py (适配 checks 字段 + regex 兼容)
M admin/tests/test_health.py (4 个新测试)
M admin/tests/test_routes.py (适配 checks 字段)
M docs/CURRENT_STATE.md (0.3-0.5 增量段)
M docs/LEGAL_PRIVACY_BASELINE.md (§6 清理 + §7 重写)
+ data/crowd_db/tests/test_crowd_db_data_quality.py (8 tests)
+ reports/LA_LEGAL_PRIVACY_PRE_AUDIT_2026-06-20.md
+ reports/QA_CROWD_DB_NON_HUNAN_DENSITY_AUDIT.md
|
2026-06-20 18:36:23 +08:00 |
|
Hermes
|
eac956a896
|
docs(review): 6/19 production strict review baseline
- reports/PRODUCTION_STRICT_REVIEW_2026-06-19.md: 当前真相版 review
- reports/STRICT_COMPREHENSIVE_REVIEW_2026-06-18.md: 昨日 review (历史快照)
- docs/plans/2026-06-19-production-readiness-remediation-plan.md: 6/19 整改计划
- docs/plans/2026-06-18-strict-review-remediation-plan.md: 昨日整改计划
|
2026-06-20 00:27:14 +08:00 |
|
Hermes Agent
|
6e06e150b0
|
docs(cleanup): archive top-level historical reports
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-18 11:01:15 +08:00 |
|
Hermes Agent
|
2252157cef
|
docs(review): close out 2026-06-17 optimization goal
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-18 10:27:54 +08:00 |
|
Hermes Agent
|
246f21c7f2
|
feat(review): land unified remediation and rules evidence closure
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-18 10:21:38 +08:00 |
|
Hermes Agent
|
bf3d9c2c50
|
docs(frontend): add 2026-06-16 frontend audit, execution board, and local browser validation report
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
- ACTIVE_EXECUTION_BOARD_2026-06-16_OPTIMIZATION.md: 本轮前端审计/整改执行板
- 2026-06-16-optimization-program.md: 4 大工作流规划
- LOCAL_BROWSER_VALIDATION_2026-06-15.md: 本地浏览器验证报告与 Portal Step 5 历史问题
- test_requirements_rules_phase1.py: 规则 Phase1 配套测试
|
2026-06-16 20:13:23 +08:00 |
|
Hermes Agent
|
45010f56a7
|
docs(reports): expand local e2e coverage matrix
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-16 10:23:24 +08:00 |
|
Hermes Agent
|
a3b67af308
|
docs(reports): update e2e coverage matrix with 13-endpoint revalidation
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-16 09:00:52 +08:00 |
|
Hermes Agent
|
becb86e672
|
fix(admin): add admin alias routes and dashboard entry
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-16 08:57:47 +08:00 |
|
Hermes Agent
|
c03ed7a4ba
|
feat(web): tighten portal privacy and cleanup flows
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-15 21:24:55 +08:00 |
|
Hermes Agent
|
70504064c3
|
fix(quality): lock P2-2 single-DAO truth and P2-6 historical snapshot headers
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-15 14:18:25 +08:00 |
|
Hermes Agent
|
7fabc23715
|
fix(t12): close payment delivery and governance remediation
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-15 11:39:31 +08:00 |
|
Hermes Agent
|
a16fa07ba5
|
docs: sync historical snapshots and crowd db quality
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
|
93fa527f64
|
docs(review): reconcile completed-stage issues from 2026-06-13 alignment review
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
|
eba52bea6e
|
docs(reports): add 2026-06-13 planning review artifacts
|
2026-06-13 22:44:53 +08:00 |
|
Hermes Agent
|
3f46811e49
|
release: cut v2.1
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 14:49:58 +08:00 |
|