# Handoff：态势层（Market State Layer）Cloudflare 介绍页

给接手同事的简短交接：这是什么、已部署到哪、代码在哪、怎么改/怎么发。

---

## 一句话

投资人介绍页：**事实–叙事权重网络** 的产品叙事 + **可交互可视化**，已挂在 Cloudflare Pages。

同事用 Cloudflare 继续做：改文案/可视化、绑自定义域名、接真实图数据、迭代发布。

---

## 线上地址

| 用途 | URL |
|------|-----|
| **生产（介绍页）** | https://market-situational-awareness.pages.dev/ |
| **本 Handoff（Markdown，给同事 / AI 读）** | https://market-situational-awareness.pages.dev/docs/handoff.md |
| **本 Session 完整上下文（Markdown）** | https://market-situational-awareness.pages.dev/docs/session-context.md |
| 项目名（Pages） | `market-situational-awareness` |
| Cloudflare 账号（部署时） | Research180k@gmail.com’s Account |

给同事：直接发 **https://market-situational-awareness.pages.dev/docs/handoff.md**；需要整段讨论上下文时发 **https://market-situational-awareness.pages.dev/docs/session-context.md**。用 AI 时把 URL 贴进去即可抓全文。

预览部署会生成 `*.market-situational-awareness.pages.dev` 子域；以生产域为准。

---

## 仓库位置

```text
artifacts/market-situational-awareness-cloudflare/
├── index.html          # 整页（文案 + CSS + canvas 可视化）
├── _headers            # 安全头 / HTML 缓存
├── wrangler.toml       # Pages 配置
├── package.json        # build / dev / deploy
├── README.md           # 本地说明
├── .gitignore
└── dist/               # build 输出（部署目录）
```

Git 分支（创建时）：`cursor/market-sa-explainer-150b`  
（若远程未推送，以本地该目录为准即可。）

---

## 产品在讲什么（给同事对齐语境）

**问题：** 通用 AI 会写，但缺「市场权重感」——不知道当下议程与主叙事。

**方案：**

1. 语料 → **Facts**（可核对主张）+ **Narratives**（把多个事实用逻辑组织起来）
2. 建成 **时变权重网**（外置状态，不焊进模型参数）
3. 用户调 AI 时 **注入这层状态** → 答案更容易对准当下市场

**评测口径（V1）：** 专家排序（人工标某冻结窗口「什么重要」），不是猜股价。

**边界：** 不是自动交易信号；不是又一个通用金融大模型；V1 证明的是态势对齐，不是收益。

页面结构对应：

1. Hero（品牌 + 一句话 + 全幅网络氛围）
2. Problem
3. Visualization（可交互图）
4. System（图=状态 / 模型=技能）
5. Evidence（四臂实验主张）
6. Boundary
7. Close

---

## 可视化在演示什么

Demo 数据是 **Asia TMT 风格样例**（非生产真实流）：

- **节点 = 事实**，大小 ≈ salience（显著性）
- **彩色区域 = 叙事簇**（需求扩张 / 供给约束 / 政策扰动）
- **边 = 共现 / 叙事连接**
- 可过滤叙事；点击节点或叙事看右侧 Inspect

真实系统接入时：把 `FACTS` / `NARRATIVES` / `EDGES`（在 `index.html` 内联 JS）换成 API 或静态 JSON 即可。

---

## 本地开发

```bash
cd artifacts/market-situational-awareness-cloudflare
npm install
npm run dev
# http://127.0.0.1:8797
```

改完预览：直接刷新；单文件站点，主编辑面就是 `index.html`。

---

## 构建与发布（Cloudflare Pages）

```bash
cd artifacts/market-situational-awareness-cloudflare
npm install
npm run build          # → dist/
npm run deploy         # wrangler pages deploy dist --project-name market-situational-awareness
```

或等价：

```bash
npx wrangler pages deploy dist --project-name market-situational-awareness --branch main
```

**前置：**

- 已登录：`npx wrangler login`，或配置 `CLOUDFLARE_API_TOKEN`
- 项目已创建过（名称：`market-situational-awareness`）
- `wrangler.toml` 中 `pages_build_output_dir = "dist"`

**自定义域名（同事可做）：**

1. Cloudflare Dashboard → Pages → `market-situational-awareness` → Custom domains  
2. 按提示加 DNS  
3. 更新对外分享链接

---

## 建议的后续工作（按优先级）

1. **品牌/文案**：产品英文名是否固定为 Market State Layer；是否要双语切换  
2. **自定义域名** + 正式 OG/favicon  
3. **可视化接真数据**：日更 JSON（facts / narratives / edges / as_of）  
4. **弱网/无字体**：考虑自托管字体，减少依赖 Google Fonts  
5. **可访问性**：键盘选中节点、叙事图例与屏幕阅读器文案  
6. **与评测/题库页拆分**：本页偏投资人叙事；技术评测协议另页更干净  

---

## 不要改坏的约定

- Hero 保持「品牌 + 一句 headline + 一句支撑 + CTA + 网络主视觉」，避免堆统计条/徽章贴在图上  
- 态势图是 **状态层** 叙事，不要写成荐股/预测产品  
- Demo 数据页脚已写「演示样例，不构成投资建议」——接真数据后保留免责声明  

---

## 联系与上下文来源

- 设计讨论结论：事实/叙事权重网、专家排序 GT、开放用户调 AI 时注入状态、可发表四臂实验  
- Fable 评审要点：salience≠原始频率、V1 叙事宜闭集、评测需 strong RAG 对照（本介绍页只讲主张，未实现评测 runner）  

有问题先看本目录 `README.md` 与线上页；改发布流程以 Cloudflare Pages + wrangler 为准。
