# Output Contract

`property-advisor` 的默认输出不再是 prose-first，而是 table-first。

补充规则：

- 非英国市场默认走 `ok-core-skill`
- 英国市场默认走 `gt-core-skill`
- 无论上游来自 OK 还是 GT，最终输出表结构保持一致

## 1. 默认顺序

1. 一句话结论
2. 固定 8 列候选表
3. 风险提醒
4. 下一步建议

## 2. 固定 8 列

最终展示必须包含：

| 列名 | 说明 |
| --- | --- |
| `候选房源` | 房源标题 |
| `状态` | 推荐 / 可继续关注 / 待补地图 / 待人工复核 / 淘汰 |
| `价格` | 原始价格文本 |
| `位置` | 原始位置文本 |
| `已满足` | 基于房源原始信息 + 地图 assessments 生成 |
| `缺失/未知` | 面积、卫浴、地图降级、路线未验证等缺口 |
| `淘汰原因/风险` | 必须是有事实依据的风险项 |
| `房源链接` | 原帖链接 |

## 3. 链接规则

- 原帖链接是唯一合法的 `房源链接`
- Google Maps / OSM 只能作为附加地图复核链接
- 缺少原帖链接的候选不能点名进表
- GT API 降级链路同样必须遵守这条链接规则

## 4. 状态含义

### `推荐`

- 硬约束基本匹配
- 有原帖链接
- 地图不是缺失级降级
- 没有明显异常低价或高风险信号

### `可继续关注`

- 候选整体可看
- 但存在风险或关键字段待确认

### `待补地图`

- 房源初筛可用
- 地图增强失败或未完成

### `待人工复核`

- 地图只有 `area` / `missing` / `low confidence`
- 或关键环境/通勤结论不能自动确认

### `淘汰`

- 价格异常
- 硬约束不符
- 或存在足以阻断推荐的风险

## 5. `已满足` 的写法

必须是具体、可追溯的满足项，例如：

- `预算内`
- `已补齐房源详情`
- `推断卧室数约 1`
- `交通条件已有地址级 OSM 证据，可用于首轮排序`

不要写空泛词：

- `挺合适`
- `感觉不错`
- `综合还行`

## 6. `缺失/未知` 的写法

必须显式写出缺口，例如：

- `面积待确认`
- `卫浴数待确认`
- `GT 当前运行模式不支持详情补全`
- `地图仅有区域级定位，楼栋级距离待人工复核`
- `通勤路线仅为直线估算`

## 7. `淘汰原因/风险` 的写法

必须引用事实，不得主观拍脑袋，例如：

- `价格显著低于样本中位数，疑似异常低价或短租/合租`
- `环境风险偏高，需重点核对主路/轨道/工业干扰`
- `图片可信度一般，需打开原帖核对实拍信息`

## 8. 禁止项

- 不要输出长篇筛选过程
- 不要把 `amenities` / `transit_access` 原样平铺给用户
- 不要点名展示无原帖链接的候选
- 不要把地图复核链接当作房源详情链接
- 不要用打分、星级、Top1 取代表格列
