# 数据字典查询

用于按中文业务含义查询天软数据字典中的表、数据源、字段或 API 参数取值域。表、数据源
和字段不是可调用 API，不进入 `function_index.tsv`；参数取值域是独立的随 skill 分发数据。

先查看脚本当前契约：

```bash
python <this-skill-dir>/scripts/dictionary_lookup.py --help
```

## 查询

```bash
python <this-skill-dir>/scripts/dictionary_lookup.py \
  --query "股票现金流指标销售现金比率"
python <this-skill-dir>/scripts/dictionary_lookup.py --query "市值" --scope fund
python <this-skill-dir>/scripts/dictionary_lookup.py --query "买一量" --table TradeTable
python <this-skill-dir>/scripts/dictionary_lookup.py --query "9900700" --field 销售现金比率
python <this-skill-dir>/scripts/dictionary_lookup.py --query "申万煤炭"
```

表/字段结果包含表或数据源名称、表 ID、字段名称、字段 ID、类型、单位、提取方式、访问
代码、对应 API 和字典页面。参数取值域结果包含原始值、名称、父级/层级、有效期、绑定
API 参数、关联表、模式和来源；`runtime_catalog` 还会给出系统或用户目录解析器。

## 状态判读

- `status: ok`：最高分候选唯一。
- `status: ambiguous`：存在多个同分候选；列出候选并请用户补充 scope、表或数据源范围，
  不能默认选第一条。
- `status: no_match`：表、字段和参数取值域均无匹配，不能改述为 API 的 `not found`。

参数取值域的“静态记录不完整”表示只记录了已核实样例。需要使用未列出的板块名、用户板块
或其他动态名称时，先调用结果给出的运行时解析器确认；不能凭名称相似性推断可用值。
用精确的参数域 ID 或域名称查询时，结果返回该域的绑定 API、完整性、已记录候选和运行时
解析器；用具体名称或代码查询时，结果返回对应取值及其父级、有效期和关联表。

标识符匹配保留下划线；同义词只来自 `dictionary_lexicon.json` 的受控映射。
`MarketTable` 和 `TradeTable` 是 TS-SQL 数据源，不是函数。

## 退出码

- rc=0：查询完成，实际结果由 `status` 判定，包括 `ambiguous` 和 `no_match`。
- rc=1：字典索引、词表或参数取值域数据缺失、损坏、格式错误。
- rc=2：参数不合法。
