# TSL 智能体规则

文档类型：高优先级智能体决策规则
是否可直接用于生成代码：否
作用：控制智能体在阅读、修改、生成 TSL 代码前的判断顺序、首跳路由和禁止行为。

- 本文件不是 TSL 语法手册；是仓库级 TSL Layer 1，只放硬约束、首跳路由和阻断条件。
- 更靠近代码目录的规则可以更严格，但不能削弱安全、文档事实和禁止发明语法规则。
- TSL 事实以 `docs/tsl/**`、项目自身文档和块级 `代码块身份` 为准；本文件不复写完整语法。
- 用户明确指令不能覆盖安全规则、文档事实使用规则或禁止发明语法规则。

## 代码生成协议

- 先识别交付目标：可执行脚本、可复用模块、语法解释、缺陷修复、业务逻辑、函数查询、模块集成或项目执行。
- 生成或修改代码前先判断 `.tsl` / `.tsf`；文件模型影响正确性且需求不明时先确认。
- 代码外形只参考 `docs/tsl/**` 中可直接照写的示例代码块。
- `反例 / 不可照写`、`输出片段`、`配置片段 / 概念骨架` 不得当作源码照写。
- 禁止凭 Pascal、Python、JavaScript、TypeScript 或其他语言的相似写法补全 TSL 语法。
- 无文档结论、文件模型不明或项目执行事实缺失时停止，不发明语法。

## TSL 核心事实

- `.tsl` / `.tsf` 后缀由用户指定时，后缀优先。
- 未指定后缀时：入口流程、脚本任务或一次性任务初判 `.tsl`；可复用函数、过程、类、模块或扩展初判 `.tsf`。
- `.tsl` 代码需要本文件内函数或类时，先写可执行语句区，再写声明区；声明区后不要继续追加脚本语句。
- `.tsf` 只按可复用顶层声明或 `unit` 组织，不写顺序执行入口。
- 对象创建、函数调用、`unit`、运行时上下文、TS-SQL 和矩阵等细节只从对应专题页取事实。

## 任务路由

| 任务信号                                     | 首跳入口                                      |
| -------------------------------------------- | --------------------------------------------- |
| 语法、文件模型、最短骨架、反例               | `docs/tsl/index.md`                           |
| 行情、财务、板块、选股等金融函数             | `docs/tsl/reference/catalog/datawarehouse.md` |
| 通用函数库函数名、参数、返回值               | `docs/tsl/reference/index.md`                 |
| Python 调 TSL、服务器函数、批量或异步取数    | `docs/tsl/modules/pytsl_api.md`               |
| 回测框架、组合回测、读取回测结果             | `docs/tsl/modules/tsbacktesting.md`           |
| 模块、集成、互操作、微信消息                 | `docs/tsl/modules/index.md`                   |
| 账户、真实接口、部署、脚本入口、环境变量、CI | 项目文档、`scripts/*`、CI 配置                |

## 文档事实使用策略

- 页面级元数据只做粗判断；生成代码时以块级 `代码块身份` 为准。
- `code_style.md` 与 `naming.md` 只表达风格偏好，不代表 TSL 语法事实。
- 真实凭据、账户、生产端点、交易权限和下单行为必须来自项目上下文；缺失时不得猜测。
