# Doubao Public Company Analysis

> 分析上市公司的商业模式、竞争优势、行业位置、财务质量、估值、风险与投资观点。用于用户要求公司基本面研究、公司深度分析、投资研究或提供公司名称/代码与关注点时。不要用于纯事件影响、批量选股、一级市场项目或个人财富规划。

- Skill: `ahang1598/doubao-public-company-analysis` (Agent Skill, multi-file: 64 files)
- Install (CLI): `npx skillmds@latest add ahang1598/doubao-public-company-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ahang1598/doubao-public-company-analysis/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ahang1598 (https://skillmd.com/u/ahang1598)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/ahang1598/doubao-public-company-analysis

---


# 公司分析

## 线上最高优先级规则：输出硬模板（覆盖后文示例）

无附件自然问答只交付正文：不创建文件、不修脚本Schema、不输出内部过程。以下五条优先于本文件其余内容。约束的是"数字怎么归位、怎么标注"，不是"少写内容"；不得用减少分析深度的方式满足本节。

### 规则1 身份与前提核验，与问题长短无关

问题再短、看起来再简单，也必须先联网核验以下四类，然后才能写结论：

- 主体身份：是否仍独立存在、上市/退市/被收购/私有化/更名、交易所与证券代码。存在证券代码、存在 IR 页面或能查到财报，都不能证明当前仍在上市；核验来源限定为交易所上市/退市公告、监管公告或要约结果公告，并写明 as-of 日期；
- 前提校验：用户表述里隐含的趋势或定性判断（如"持续加大""仍然是""明显恶化"），必须先用可核验数据检验方向和幅度，与数据不符时先纠正前提再回答，不得顺着表述往下写；
- 期间口径：报告期、单位、币种、as-of、合并还是母公司、reported 还是 adjusted；
- 冲突：同一字段搜到两个不同值时两个都写出，不擅自择一。

复杂度路由只决定篇幅和槽位数量，不决定是否核验。未通过核验的主体或前提不得进入结论段和摘要段，只能进"待核清单"。

### 规则2 精确数字逐条带来源标记

正文出现的金额、百分比、倍数、增速、份额、利润率、估值倍数、目标价，其后必须紧跟一个标记：

- `[一手·发布方·文件名·日期]`：交易所公告、定期报告、招股书、IR 原文或监管文件；
- `[库·provider·as_of]`：`seed_finance_search` 返回的标准化金融字段；
- `[用户·自述]`、`[用户·账户记忆]`：用户在本次或历史对话中给出的事实，不需要外部来源；
- `[推算·公式]`：由上述任一来源经明确公式算出的派生值，括号内必须写出输入项和公式；
- `[阈值·分析设定]`：判定门槛、观察窗口、证伪触发值等由分析方自己设定的数字，例如推翻信号里的临界值和分档表的档位边界。标注时必须写明这是设定值而非观测值，并说明设定理由；不得把设定值写成市场共识或行业标准。
- `[待核·媒体]`、`[待核·研报]`、`[待核·模型记忆]`：二手转述、无检索来源或凭先验写出的值。

每个精确数字都必须落进上面某一类，不存在"没有合适标签所以不标"的情况。写不出前四种标记时，不要删掉数字，也不要改写成"较高/大幅"这类模糊表述，直接标 `[待核·…]`。段首或文末的整段来源声明不能替代逐条标记。某一段内 `[待核·…]` 数量不少于其他标记数量时，该段小结必须自称"待核结论"。

### 规则3 关键输入缺失时改写成分档表，不假设也不拒答

关键输入未知时，被禁止的是"假设一个值"，不是"给出可执行内容"。把结论改写为以该未知量为自变量的分档表：

| 档位 | 触发条件（未知量取值区间） | 该档下的判断方向与优先顺序 | 该档被推翻的信号 |

分档表给方向、顺序和取舍理由。三条硬约束：

- 档内不得出现绝对金额，只能出现相对量（占收入比例、倍数区间、增速区间），该约束适用于全文；
- 通用默认区间（常见估值倍数中枢、常见利润率水平）本身就是替对象拍数，必须作为分档的自变量出现在"触发条件"列；
- 结尾列出"补齐哪几项后可给精确值"，最多5项，每项写清为什么需要它。

### 规则4 无一手来源的量级只能进假设卡

分析必须用到某个量级但没有一手来源时，写成独立的"假设卡"：

- 卡头写 `假设来源=先例类比|媒体口径|研报口径|用户给定`，并写出该口径与当前对象至少一条实质差异；
- 卡内数字按规则2标 `[待核·…]`；
- 摘要段和结论段不得复述卡内数字，只能写"见假设卡"。

不得把同行、相邻业务或历史期间的参数直接当作当前对象的参数；引用同行必须标为"同业参照值"。

### 规则5 开头固定为可审计摘要，不超过5行

1. 直接结论，或明确说明当前只能给条件式结论；
2. 支撑该结论的最强单条证据及其来源等级；
3. 最大的一个未知项；
4. 证据强度：`一手充分` / `部分一手` / `仅二手待核`；
5. 一条会推翻结论的信号。

摘要纪律（可执行判据）。摘要位置在最前，但**写作顺序在最后**：先把正文和全部来源标记写完，再回到开头补写摘要。这样过滤发生在分类完成之后，不需要预判。

写摘要时只做检索，不做新的判断：

- 写第2行之前，先在正文里检索一遍是否存在带 `[一手·…]` 或 `[库·…]` 标记的句子。**这一步是前置判断，不是事后补救**：检索不到就直接写兜底行，不许降格用 `[待核·…]` 顶替最强证据。
- 检索到时，从中**原样摘抄一句**，连同标记一起复制。不得现写、不得改写数字、不得把两句合并成一句。
- **摘要每一行只能来自一次摘抄，摘抄完即结束该行**：复制完那一句就换行，不得在同一行后面继续拼接其他来源、补充推论或无标记的比较值。
- 摘要其余各行如需引用数字，同样只能从正文中已标 `[一手·…]`、`[库·…]`、`[用户·…]` 的句子里摘抄。
- `[推算·…]` 只有在正文中已写出算式、且算式输入全部属于上述三类时，才可连同算式一起摘抄。
- `[待核·…]` 的数字一律不进摘要。正文里有、摘要里没有，是正常且正确的结果。
- **第5行"推翻信号"是摘抄规则的唯一例外**：证伪触发值按定义是在写摘要时设定的，正文里没有原句可抄。因此这一行允许现写数字，但必须标 `[阈值·分析设定]` 并写明设定理由，不得因为抄不到就不标。
- 前置检索为空时，第2行固定写"当前无一手或库级证据支撑，结论为条件式"，并且整个摘要不出现任何数字。这是正确结果，不是降级，也不要为了让摘要"看起来有料"而破例。

交付前自检两项：一是摘要里的每个数字都必须能在正文中找到带相同标记的原句，找不到就说明是现写的，删掉或换成正文里的合格句子；二是摘要每一行只对应正文里的一句原句，出现两个来源拼接就拆行或删掉后半段。

### 本Skill补充（同等优先级）

- 会计质量类断言（应收、减值计提、存货、现金流质量、关联交易）必须落到报表附注或分部数据，不能只用净额或余额下结论；用净额时要写明它掩盖了什么。
- 跨公司或跨期比较前先核对：合并口径、分部边界、产品/地域范围、分母定义、reported 还是 adjusted、币种与单位。口径不一致时不拼成区间、排名或倍数，写明不可比的原因。
- 所有派生值（增速、占比、覆盖倍数、单位经济）用 `[推算·公式]` 写出输入和算式，便于逐项复核；写不出算式就降为 `[待核·模型记忆]`。
- 不给买卖评级、目标价、仓位和止损。第三方目标价与一致预期只能作为市场预期的描述并标 `[待核·研报]`，不得当作估值结论。
- 估值只给条件式框架：先说明该估值方法成立需要哪些前提，再按前提是否成立分档，不给单点估值中枢。

## 任务定义

对单一上市公司形成证据可追溯的基本面研究，连接商业模式、行业、财务质量、估值、反方、风险与证伪。

- 输入：公司名称、关注点、已有资料（可选）
- 输出：公司分析研究（商业模式、竞争优势、财务、估值、风险、投资观点）
- 定位：L2 业务任务执行器，不扮演专家人格。

## 适用与不适用

### 适用

- 用户点名一家上市公司，并希望形成完整的基本面与投资研究。
- 用户提供年报、财报、Deck、研报或已有模型，希望整合为公司分析。
- 需要比较商业模式、护城河、财务、估值与风险，而不是只回答单一数据点。

### 不适用

- 只分析单一事件的传导影响时，使用 event-impact-analysis。
- 批量寻找候选标的时，使用 investment-opportunity-screening。
- 私募股权、创业项目或非上市公司投资判断，使用 private-market-project-evaluation。

用户只要一页速览、tearsheet 或只问其中几个点，不是不适用：按 `direct|brief` 档在本 Skill 内交付，不转出、不停止。

不适用时按以下三种情况处理，不得一律停止：

- **有已上线 Skill 可承接**：先交付本 Skill 能独立回答的部分，再说明越界部分转向哪个 Skill 及其所需输入。
- **无已上线 Skill 可承接**：不得以「请使用某某 Skill」收尾，也不得停止；在本 Skill 内按 `direct|brief` 档降级承接，写明本次交付到什么深度、更深部分还缺什么。
- **安全或合规红线**：只拒绝越界的那一部分，其余照常交付。

已上线的相邻 Skill 只有 `company-analysis`、`event-impact-analysis`、`investment-opportunity-screening`、`private-market-project-evaluation`、`wealth-planning` 五个。不得把回答收尾在这五个之外的 Skill 名上。

## 成功定义与交付物

| 模式 | 成功 | 降级 | 停止 |
|---|---|---|---|
| 快速判断 | 直接结论、类型驱动、同行或阻断、财务桥、三级估值、反方与证伪齐全。 | 仅降级受缺口影响的 claim，其他部分继续交付。 | 公司身份存在歧义且无法消歧。 |
| 完整研究 | 商业、竞争、财务、估值、观点、反方、证伪与来源形成一致链路。 | 某个 capability=false 不阻断其他能力；估值缺输入时仍交付 degraded 隐含假设关系。 | 请求实际属于筛选、一级项目、事件或财富规划。 |
| 聚焦分析 | 先回答指定问题，并交付所有必要上游证据与最小可用契约。 | 最多问3个问题，同时继续给不受缺口影响的结论。 | 用户要求独立完整三表、LBO或投行级模型。 |

标准交付物：`report.md`、`facts.json`、`capabilities.json`、`finalize-manifest.json`。

## 专业能力地图与深度边界

负责：identity_resolution、business_model_analysis、financial_quality、peer_context、valuation_framework、thesis_and_falsification。

不负责：批量选股、一级市场项目初筛、具体事件传导、完整三表模型、独立DCF工作簿、LBO模型、公式工作簿、目标价模型。

相邻建模任务路由：公司基本面、财务质量、同行比较、条件式估值框架、反方与证伪留在本 Skill 内交付；用户要求正式三表模型、独立 DCF/LBO、公式工作簿或目标价模型时，如环境中存在已上线或本批候选的 `doubao-finance-model-builder`，将建模部分转给该 Skill 承接。本 Skill 可先交付不依赖模型工作簿的研究结论，并说明专项建模所需输入；若专项 Skill 不可用，则在本 Skill 内降级为条件式框架、变量关系和缺失输入清单，不得声称可以输出完整模型。

规划中的深化方向：速览卡片、同业可比估值表、财报专项解读。用户提出这类需求时，按上面的降级承接处理：在本 Skill 内给出能给的部分，并说明更深部分需要哪些输入或工具。

## 模式路由

用户无需指定模式。先执行交付复杂度路由，再选择领域分析模式；复杂度改变输出长度和槽位，不改变事实、计算和安全门禁。

## 首轮决策

1. **错误路由**：说明正确任务并停止；默认不 Search。
2. **缺阻断输入**：最多问 3 个问题，同时给最小可用降级产物。
3. **输入足够**：冻结对象、as-of、辖区、模式和交付物后执行。

Search 只能补证，不能代替用户附件、候选池、基线、家庭数据、mandate 或交易条款。对象冻结前不得搜索同名对象并据此替用户选择。

## 交付复杂度路由

先运行 `scripts/complexity_router.py`。`direct` 用于一个自然问题，先回答再补最多两个问题；`brief` 用于聚焦多步骤分析；`full` 仅在用户明确要求完整报告或多工件时启用。搜索复杂度不得自动放大正文。详见 `references/complexity-routing.md`。

`direct` 不是免核验档：篇幅可以只有几行，但规则1的主体身份、用户前提和期间口径核验必须照做，凭模型记忆写出的主体状态或数字一律标 `[待核·模型记忆]`。

## 运行档案

执行前内部判断宿主能力：

- `full_runtime`：路由、validator、计算与 finalize 脚本均已在本任务上接收实际输入、成功退出并生成任务产物。
- `hybrid_runtime`：只能在本任务上执行部分脚本；逐项记录 `availability`、`task_execution`、退出码和产物，缺失门禁改用内联等价检查。
- `agent_only`：不能执行包内脚本，只能读取 Skill 并调用线上工具；不得声称运行过脚本。

运行 `--help`、导入模块或检查文件存在只能证明脚本可用，不能算本任务已执行。三种档案共享相同事实、来源、口径和结论强度门禁。档案由任务执行证据决定，不得出现“agent_only但执行了脚本”或“只跑help却标full_runtime”。详见 `references/online-agent-execution-contract.md`。

### 豆包办公任务快速路径

无附件自然问答默认 `online_direct_fast_path`：直接搜索并回答，不创建 facts/report/finalize 工件，不运行或修复 intake、validator、lint、finalizer。只有用户明确要求结构化报告文件或提供了结构化材料时，才进入完整脚本工作流。任何脚本首次 Schema 不匹配后立即切回内联，不得反复改 JSON 消耗预算。

快速路径只压缩产物和篇幅，不减少规则1的核验：主体身份、用户前提、期间口径类查询即使问题很短也必须实际执行；无法核验时按规则2标 `[待核·模型记忆]` 并降级该段结论。

本节不重复顶部硬模板的禁令；数字归位、来源标记、分档表和假设卡一律按顶部五条执行。

## Search 决策与证据门禁

用户不需要声明是否联网。先冻结对象、期间、辖区、材料充分性和交付物；`full_runtime` 运行 `scripts/search_router.py`，`agent_only` 执行等价内联路由。

- `off`：不Search；`blocked`：澄清或降级；`required/optional`：按预算和来源顺序执行。
- 当前事实、公开规则或候选发现是必要输入且材料不足时，必须主动Search。
- 对象已冻结的真实上市公司分析，只要用户未提供足够近期一手材料且任务并非方法模板/封闭材料，默认 `required`；不得因自然问题没有“财务、年报、最新”等关键词而判为 `optional`。
- 封闭材料、纯计算或方法模板任务不Search；缺口只能由用户提供时不得用Search替代。
- 线上仅使用两个搜索工具：`seed_finance_search`（专业金融数据）与 `general_search`（通用网页搜索）。
- 工具按 Claim 路由，不为凑齐两个工具而搜索。标准化财务、行情、预期与同口径金融字段优先 `seed_finance_search`；公司自定义指标、正式指引、合同/权属、监管/交易状态、项目条件和决定性公司特异事实使用 `general_search` 追溯适格一手材料。
- 首次调用由首要证据槽决定，不强制General或Seed固定先行；至少预留一次调用预算用于失败Claim修复，不得用宽查询耗尽预算。
- `required` 最多 5 次、`optional` 最多 2 次是硬上限；不得发起超预算调用。首次只找到媒体或官方入口而无正式片段时，下一次调用必须优先定向修复官方原文。
- 一次查询只解决一个主要证据槽，通常包含公司名称或代码、市场、单一期间或 as-of、单一 metric/doc type/Claim 和所需来源角色；不得把财务、经营、用户、渠道、市场份额和多个竞争者混成一个查询。
- `seed_finance_search` 不可用或失败时回退仅用 `general_search`；`closed_fixture` 或 `off` 时不得调用任何搜索工具。
- 搜索过程记录 `query_log`、`evidence_atoms`、`coverage_gaps` 并同步 claim ledger；满足关键证据槽位、结果开始重复或达到预算即停止。
- Search只生成紧凑证据台账，不把完整搜索结果直接注入分析。
- `full_runtime` 分析前运行 `scripts/search_evidence_validator.py`；`hybrid_runtime|agent_only` 对未执行门禁使用内联自检。失败 Claim 继续定向补证、删除无支持精确值或降为条件式/unknown。
- `supported` 只表示“来源等级足以承担该 Claim”，不表示“搜索结果里出现过”。关键事实只有二手转述时必须标 `provisional`，并在最终回答中按线索/待核验事实降级；不得一边自检不通过，一边原强度交付。
- Seed返回的标准化字段若具备提供方、对象/代码、期间/as_of、字段、币种、单位、reported/estimate且无冲突，可记为`supported`、`source_role=authoritative_financial_database`；它不是公司原文，但无需为形式重复搜索官方PDF。
- Seed中的新闻、研报摘要和无明确口径文本按底层来源判断，不能因来自Seed自动升级。公司自定义KPI、分部边界/指引措辞、合同权属、监管事件、项目/补贴条件和行业份额方法仍需一手或明确降级。
- 只有 `supported` 可进入“已验证事实”。如果关键 Claim 全是 `provisional|unsupported|conflict`，只能输出条件式机制判断和待核验假设，不得给确定性“足以/不足以”、精确评级或精确场景结果。
- 关键数字不得由二手来源承担：二手值仍可写出，但必须按规则2标 `[待核·…]`，且不得进入摘要段和结论段。详见 `references/seed-finance-search-routing.md`、`references/search-routing.md` 与 `references/search-evidence-contract.md`。
- 比较数字前必须核对对象、期间、地域、产品/行业边界、分母、指标类型、单位和 reported/estimate。口径不一致时不得拼成区间、排名或倍数。
- 来源事实与模型推断分开；覆盖率、复购、增长、份额、授权结构和高毛利等代理指标不得直接升级为转换成本、权属、因果关系、长期护城河或“行业最高”。
- 精确证伪阈值必须来自历史分布、同行基准、管理层目标或透明计算；否则只写方向和观察窗口。不得用不同合并范围的利润与现金流简单相减，推导营运资金或现金转化原因。
- 最终每个外部数字和派生值必须存在于 Claim 台账；精确派生值还需 calculation id、输入 Claim、公式、单位、期间、合并范围、假设来源和重算状态。台账外数字删除。
- ROE、ROA、ROIC、项目回报和现金覆盖能力不得互相替代；没有一致口径投入资本与税后经营利润时，不输出精确 ROIC。多年度投资承诺、年度现金 CapEx、政府补贴额度和会计确认分开。
- 分红归属财年、当期现金支付、官方派息率和现金分红覆盖率分开；不得用当期现金支付股息除以当期利润冒充官方派息率。分红超过简化FCF时，没有完整现金桥不得断言缺口必然由现金储备补足。
- 诊断轨迹优先使用宿主原生事件流。模型生成的节选、`response_source` 或 `note` 只能标为摘要；宿主未暴露完整响应时写 `raw_trace_unavailable`，不得声称已经生成完整原始轨迹。
- 单个搜索渠道、同行、实时价格或外部预期缺失只能局部降级；不得覆盖已可取得的一手财报证据或触发全局降级。

## 工作目录与中间产物

任务写入 `work/<task-id>/`：`intake.json`、`facts.json`、`capabilities.json`、`report.md`、`report-display.md`、`finalize-manifest.json`。

## P2 八阶段工作流

1. 路由和输入冻结；`full_runtime` 运行 `scripts/intake_preflight.py`，`agent_only` 完成等价字段检查，失败则补齐输入后停止。
2. 加载 `references/p1-execution-contract.md`、`references/p2-evidence-cashflow-valuation-contract.md` 及模式所需最少 Reference。
3. 单独探测公司 IR 与交易所/监管页，冻结最近完整财年和截止点前最新披露期；一手材料可获得时，先覆盖年报、最新中报/季报、现金流量表及拟使用的公司自定义现金指标，未完成不得进入分析。
4. `full_runtime` 运行 `company_type_router.py`；`agent_only` 根据焦点和公司类型建立最少必要证据槽位，再定向 Search。
5. 建立 Facts、来源、可复算 calculations 与局部 capabilities。
6. 执行类型驱动分析、具名同行或阻断、财务桥和三级估值。
7. 结论先行写作，绑定最强反方与至少三个可观察证伪信号。
8. `full_runtime` 执行 Validate → Lint → Finalize；`agent_only` 执行线上内联自检。无效全局拒答、纯缺口清单或隐藏门禁失败不得交付。

## 输入契约

业务必填：

- 公司名称或证券代码
- 交易所或市场
- 分析截止日
- 用户关注点或模式

机器结构：`schemas/intake.schema.json`、`config/runtime.json`。

## 文件导航

- 成功契约：`references/success-contract.md`
- P1执行契约：`references/p1-execution-contract.md`
- 模式加载：`config/loading-profile.json`
- 来源：`references/source-policy.md`
- Seed Finance Search：`references/seed-finance-search-routing.md`
- 线上 Agent：`references/online-agent-execution-contract.md`
- Search路由：`references/search-routing.md`
- Search证据：`references/search-evidence-contract.md`
- Facts：`references/facts-schema.md`
- 专业方法：`references/playbook-index.md`
- 复杂度：`references/complexity-routing.md`
- 输出：`references/output-structure.md`
- 质量：`references/quality-gates.md`

## 确定性工具

`intake_preflight.py`、`company_type_router.py`、`search_router.py`、`search_evidence_validator.py`、`validate_deliverable.py`、`validate_facts.py`、`compact_tool_output.py`、`company_cashflow_bridge.py`、`case_calculator.py`、`lint_report.py`、`lint_direct_response.py`、`privacy_scrub.py`、`finalize_report.py`。

仅在宿主确实提供执行能力时调用脚本。脚本可执行但失败时修输入，不手算替代；脚本不可执行时切换 `agent_only`，不得伪称已运行。

## 确定性分析

仅在问题涉及利润质量、现金转化或自由现金流时运行现金流桥接；简单估值边界或商业问题不强制运行。 工具结果优先于模型自由计算；详见 `references/deterministic-tool-contract.md`。

## Ark 上下文预算

完整工具 JSON 写入工作目录，不直接注入模型。先运行 `scripts/compact_tool_output.py`，仅注入核心结果、异常、unknown 和 Hard Gate。结构化输入由工具读取；模型只读取必要叙事材料。输出预算 3,500 tokens（软目标）。

## 公共硬约束

- 事实、管理层陈述、推断、假设和缺口分开。
- 关键数字带期间、单位、币种及同行一手来源。
- capability 按 business、competition、financial_quality、peer、valuation、investment_view 局部判断；false 只降级对应 claim。
- 不保证收益、不执行交易、不利用内幕信息。
- 不泄漏内部 fact 标记、路径和计划。
- 缺数据时不用默认阈值、概率、期限和区间；确需给量级时按规则3改写为分档表，或按规则4放入假设卡并标注来源等级。

## 领域硬规则

- 用户未指定公司时，不得自行选择公司或竞争对手并完成分析。
- 估值必须标记 `full|degraded|blocked`。缺部分输入时用 degraded 输出方法、变量关系、隐含经营要求和 blocked inputs；只有证券或价格口径不明才 blocked。
- 每个财务数字优先绑定公司财报或交易所披露；公司新闻稿不能替代财务报表。
- FCF 从现金流量表 CFO 与现金 CapEx 起算并披露定义；净利润到 CFO 的桥只解释现金转化，禁止用“经营利润＋非现金项－CapEx－营运资金”冒充通用 FCF。
- 公司 adjusted FCF 保留原名，并桥接法定 CFO、总现金流、调整项及客户融资前后口径；税、利息、租赁、客户融资和处置款按报表分类与公司类型处理。
- `full` 估值的价格、汇率、股本、净债务、分母和预期必须统一到同一 `valuation_as_of`；缺实时价格时使用 degraded，不得混用日期生成精确倍数。
- 内容/平台业务须区分按使用量或收入分成的可变版权成本、最低保底和固定投入，不得默认版权费随规模固定摊薄。
- 二手来源不得单独承担财务数字、正式经营指标、交易状态、精确估值或决定性事实。
- 行业份额、排名和比较必须绑定年份、地域、品类边界、分母和方法；不同口径不得合并成区间、倍数或顺序。
- 代理指标只支持与其直接对应的最小事实；进一步的竞争优势、因果或持久性判断必须标为 inference，给替代解释与证伪条件。
- 派生精确数字必须有 calculation id、输入、公式、结果、单位、期间、来源与容差，并由校验器重算。
- 同行缺口或估值缺口不得导致整体停止；unknown 必须写影响 claim 与下一来源。
- 聚焦分析只回答指定问题，不自动展开完整八章。


## 输出契约

第一节固定为规则5的可审计摘要（≤5行），其后才是默认章节；摘要段只引用带 `[一手·…]`、`[库·…]` 或 `[用户·…]` 标记的数字。

默认章节：执行摘要与核心判断、对象与冻结期间、公司类型与商业模式、竞争与同行、财务质量桥、估值（full/degraded/blocked）、最强反方与证伪、来源与局部 unknown。

最小交付始终包含直接结论、一个类型驱动、至少一个具名同行或明确阻断、一条财务桥、三级估值之一、最强反方、至少三个带方向/期间/来源入口的证伪信号。证据不足时按 `references/degraded-artifacts.md` 局部压缩；不得只交付研究提纲或缺口清单。

## 质量门禁

公司身份、冻结时间、最新财年和最新披露期明确；可获得的一手核心证据槽位已先覆盖，其他槽位已覆盖或逐项 blocked；类型指标已覆盖或局部 blocked；关键判断有一手事实、可复算计算或明确假设支撑；正文数字与引用一致；无跨口径区间、排名或倍数；不得输出确定性买卖承诺或保证收益。

直接回复运行 `lint_direct_response.py`；研究工件运行 `finalize_report.py`。

## 渐进式上下文


| 模式 | 只加载这些 References | 输出预算 |
|---|---|---:|
| 快速判断 | `references/p1-execution-contract.md`、`references/workflow.md`、`references/financial-quality.md` | 1200 tokens（软目标） |
| 完整研究 | `references/p1-execution-contract.md`、`references/analysis-framework.md`、`references/output-structure.md` | 3200 tokens（软目标） |
| 聚焦分析 | `references/p1-execution-contract.md`、`references/financial-quality.md`、`references/output-structure.md` | 1800 tokens（软目标） |
不得预加载整个 References 目录。原始工具结果落盘，只向模型注入摘要和证据索引。

## 评测

短 Evals 测路由；复杂 Case 和 Rubric 位于仓库 `evaluation/`，不加载给被测模型。

## 免责声明

仅用于研究与决策辅助，不构成证券买卖、收益保证或持牌投资、法律、税务、保险、会计及审计意见。

