Skip to content

代码地图与阅读顺序

仓库现状

V0 已完成,V1-S01~S02 已建立问数契约、固定 Sales 范围、显式编排器和模型生成基线。 尚未出现的模块仍保留在后面的目标目录表中。

text
atlas-sql/
├── AGENT.md                     简洁可读的代码约定
├── README.md                    仓库入口与本地运行命令
├── compose.yaml                 本地完整基础设施
├── pyproject.toml / uv.lock     Python 工程与锁文件
├── package.json / package-lock  前端 workspace 与锁文件
├── apps/
│   ├── web/                     Data Analyst Next.js 骨架
│   └── admin/                   Admin Console Next.js 骨架
├── server/
│   ├── api/app.py               FastAPI 工厂和健康路由
│   ├── api/query.py             问数提交与状态查询路由
│   ├── config.py                配置校验与脱敏摘要
│   ├── db.py                    async SQLAlchemy 引擎
│   ├── domain/                  Query 契约与固定 Sales 白名单
│   ├── generation/              版本化 Prompt 与候选 SQL 生成
│   ├── llm/                     DeepSeek/Fake 网关与 Embedding 抽象
│   ├── orchestrator/            显式问数流程与 Pipeline 端口
│   ├── query/                   请求状态模型与仓储适配器
│   └── health.py                五类依赖的并发检查
├── datasets/
│   ├── schema/catalog.py        56 表声明式业务目录
│   ├── migrations.py            业务迁移校验与执行器
│   ├── business_migrations/     生成的 NovaRetail SQL 迁移
│   ├── generator/               确定性数据规则、批量写入与校验
│   ├── fixtures/                权限范围与隔离的脏数据用例
│   └── dictionary/              生成的 JSON 字典与域关系图
├── semantic_models/drafts/      V0 指标口径草案
├── migrations/                 控制库 Alembic 骨架
├── deploy/postgres/             业务库只读账户初始化
├── scripts/                     目录生成与资源检查命令
├── tests/                       配置、健康、目录和指标测试
├── " docs"/PROJECT.md           原始总纲(目录名前有空格)
├── plan/                        唯一任务台账与真实验收记录
└── altassql-book/
    ├── .vitepress/config.mts    站点路由、搜索、计划监听
    ├── .vitepress/theme/        主题、样式、阶段进度组件
    ├── scripts/                 同步、元数据与内容校验
    ├── guide/                   背景、业务与贯穿案例
    ├── architecture/            架构、契约、存储与决策
    ├── modules/                 模块阅读手册
    ├── stages/                  V0~V6 学习章节
    └── interview/               复盘与面试练习

目标业务目录

规划目录职责首次建设读代码时先找什么
apps/web业务问数、多轮、结果、图表V0 骨架 / V1 功能请求状态与 API 契约
apps/admin资产治理、评测和运行管理V0 起页面对应哪个业务服务
server/api、authHTTP 边界、可信身份V0 / V4 完整Request 校验与 auth 注入
server/orchestrator显式问数流程(本次补充目录建议)V1阶段顺序、失败分支、预算
server/datasource、metadata连接、反射、元数据与人工注释V0同步入口与版本切换
server/domain域定义、意图与路由V0 / V2QueryIntent 与域分数
server/searchMilvus、OpenSearch、fusion、rerankerV0 / V2SearchRepository 与 Candidate
server/linking字段、值、关系路径V2映射证据、歧义处理
server/semantic指标、维度、术语、可信样例V3已发布定义与状态机
server/planner、generationIR、上下文、SQL 与回答V1 / V4输入是否已验证
server/validation、policyAST、授权与结果规则V1 / V4拒绝条件及覆盖的嵌套结构
server/execution、repair受控查询、错误与有限修复V1 / V4连接释放、取消、重新验证
server/llm模型与 embedding ProviderV0 / V1SDK 隔离、用量与异常
server/agentV5 新增的图与工具目录建议V5工具是否复用安全入口
server/evaluation、observability指标、回归、Trace、审计V0 起 / V6 完整分母、版本、逐题证据
semantic_models、datasets、benchmarks业务资产、数据、题库V0 起schema 与版本清单
migrations、scripts、tests、deploy迁移、命令、验证与环境V0 起能否独立重放

真实实现索引如何维护

每个故事验收后在对应阶段页填写:任务 ID、真实文件、类/函数、上游调用者、下游依赖、输入输出、验证入口、证据路径。V0 当前入口已登记在 V0 阶段页,后续故事沿用同一格式。

text
任务:V2-S03-T01
真实入口:开发后填写
上游:SearchRepository 的融合流程
输入:每一路有序 Candidate 列表
输出:按 object_id 去重的融合列表
关键不变量:同一对象只计一次;排名起点与 RRF 公式一致
测试:开发后填写
证据:plan/evidence/V2-S03-T01.md(完成后创建)

推荐阅读路线

先从 Web 请求进入 api,跟到 orchestrator,读契约,再进入本任务的核心模块,最后看 adapter 与测试。不要第一天通读所有 SDK 配置;也不要只读 happy path 而忽略拒绝、超时、重试和取消。

需求 → 代码 → 验证 → 复盘