# 小白复盘维护约束

本目录是小白复盘唯一正式源码。任何修改开始前必须读取：

1. `ARCHITECTURE.md`
2. `docs/product/小白复盘-完整产品规格说明书.md`
3. 与任务有关的`config/*.json`、源码和测试

`docs/migration/`保存迁移事实与历史证据，不是第二套产品实现。发生冲突时，依次以用户当前明确
决定、当前正式程序的真实行为、产品规格说明书为准。

## 产品边界

- 保持已经验收的功能、视觉、布局、动画、交互、响应式行为和日夜主题。
- 保持API路径、字段、状态码、流式协议、数据库兼容和账户隔离。
- 保持数据来源、日期、单位、复权、新鲜度、覆盖率和禁止静默降级规则。
- LLM只通过`backend/llm/`调用；浏览器请求只通过`frontend/shared/api.js`发出。
- 不得读取、导入或运行本目录父级的旧源码、静态资源、配置、测试或数据。

## 结构边界

- 保持模块化单体技术栈：一个Python进程、一个SQLite数据库、无构建前端。
- 业务代码进入`backend/features/<feature>/`，数据适配进入`backend/data/`，后台任务进入
  `backend/jobs/`，HTTP公共能力进入`backend/http/`。
- 页面结构、行为和样式分别由`frontend/pages/<feature>/`及`frontend/shared/`的唯一所有者维护。
- 不建立根级兼容转发文件、第二套路由、第二套数据客户端或晚加载CSS补丁层。
- 不确定代码默认保留；删除前必须有引用扫描、测试和真实浏览器证据。

## 最低验收

1. 运行相关领域测试。
2. 运行`python tools/verify_baseline.py`。
3. 涉及运行时或前端时运行`python tools/verify_baseline.py --e2e`。
4. 检查`git diff --check`，并确认没有密钥、数据库和运行产物进入Git。
5. 用户可观察行为发生变化时，必须说明并由用户验收。

数据和`.env`必须成对备份。`data/private-mentor-skills/`、`data/*.db`、`runtime/`及`.env`不得提交。
