From 632235a1cf1ab3067ce346f0d3ddfedbb34d372f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=9D=96=E6=81=92?= Date: Tue, 12 May 2026 11:35:00 +0800 Subject: [PATCH 1/3] =?UTF-8?q?Add=20=C2=A79=20quick-decisions=20draft=20f?= =?UTF-8?q?or=20Gate=20G1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Compresses 7 open questions into "recommended default + one alternative" form so the 2-person team can resolve via yes/swap. Q1 is left waiting on Gamma distribution data (DS pkg #02). Also flags that the plan's "4-reviewer Gate G1" should be revised to "2-reviewer" given actual team size. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/plans/2026-05-12-q9-quick-decisions.md | 105 ++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 docs/plans/2026-05-12-q9-quick-decisions.md diff --git a/docs/plans/2026-05-12-q9-quick-decisions.md b/docs/plans/2026-05-12-q9-quick-decisions.md new file mode 100644 index 0000000..fa3812f --- /dev/null +++ b/docs/plans/2026-05-12-q9-quick-decisions.md @@ -0,0 +1,105 @@ +# §9 快速决议稿(2026-05-12) + +**关联文档**:[`2026-05-11-longtail-thesis-open-questions.md`](./2026-05-11-longtail-thesis-open-questions.md) + +**目的**:长尾 thesis Gate G1 要 8 个 Decision 全部填入才能开干。除 Q1 外,其余 7 个问题用"默认建议 + 一个替代"形式,方便同学快速回复 yes / swap to alt / 提新方案。 + +**前提调整**:原方案 §G1 写"4 人书面确认"。实际**团队只有 2 人**,G1 改为"两人都点头"。本稿里凡涉及人数的问题都按 2 人重新算过。 + +--- + +## Q1. T1 长尾 tier 阈值 + +**建议**:**等数据**。先用 DS pkg #02 拉一周 Gamma 实际分布,看百分位再定。本稿初稿数字($50k/$5k/$100、1¢/3¢/10¢、14-90 天)只作为 placeholder,DS pkg #02 跑完后基于实际分布调整。 + +**替代**:现在直接拍板初稿数字,后续如果数据严重不符再改。 + +**Decision**: ⏳ 等数据 + +--- + +## Q2. T2 模型选择(Resolution Reader) + +**建议**:Claude **Haiku 4.5 主跑** + **Sonnet 4.6** 在 ambiguity_score 高时复核。**不引入 DeepSeek 做 T2 文本提取**——T2 输出必须严格 JSON schema,Claude 家族在 schema 遵循上更稳。DeepSeek 仍然是"DS 写代码"的执行者,但不充当 T2 的提取器。 + +**替代**:在 T2 prompt 调优阶段(前 50 个市场)跑 head-to-head Haiku vs DeepSeek,再决定主跑模型。代价:多花 ~$3 + 半天。 + +**Decision**: ___ + +--- + +## Q3. T3 Embedding 模型 + +**建议**:OpenAI **`text-embedding-3-small`**。复用项目现有 OpenAI key(已经在 rule_discovery 用)。相似度阈值 0.85 作为初稿,**等 50 对人工标注完成后再调**(这步在 T3 实施阶段做,不阻塞 G1)。 + +**替代**:本地跑开源 `BAAI/bge-large-en-v1.5`(免费但要 GPU/CPU 资源和封装时间)。 + +**Decision**: ___ + +--- + +## Q4. T4 人工标注分工(团队 2 人,必须重算) + +**建议**:每条规则需要 2 人独立标注,所以总标注份数 = 规则数 × 2。**2 人团队 × 每人 50 份 = 100 份 = 覆盖 50 条规则双标**。 + +把 T4 样本量从 100 条降到 **50 条**。分层:implication 15 + mutex 15 + equivalent 10 + exhaustive 5 + complement 5。标签集保留 `correct / wrong / ambiguous`,**不加 confidence 字段**(增加成本不增加可靠性,因为只有 2 人时 confidence 校准困难)。标注工具:**shared NDJSON 文件**,本地用 CLI helper 写入;不搭 web 工具,太重。 + +**替代**:保留 100 条规则样本,分两阶段标 —— 先 50 条(每人 50 份)跑通流程,再做后 50 条。代价:拖 1-2 天,但能拿到更高样本量。 + +**Decision**: ___ + +--- + +## Q5. 代码 review 流程(2 人团队) + +**建议**:每个 PR 由**另一人 review + Claude 做 sanity check**。Merge 标准:CI 通过 + 对方 approve + Gate(如适用)通过。**24 小时内对方没响应**则作者可以自合并,但要在 PR 描述里标注。任一人都可 merge。 + +**替代**:所有 PR 必须双 approve,没人 approve 就不 merge。代价:节奏被任一人的可用时间卡住。 + +**Decision**: ___ + +--- + +## Q6. DS 指令包拆解粒度 + +**建议**:**一个工作流(T1/T2/T3/T4)一个 DS 包**。如果某包代码量超过 300 行,再拆"实现 + 测试"两子包。横切任务(如 fee schedule #01)独立成包。**总包数估计 5-7 个**。spec 作者负责拆解和分发,DS 跑回的代码由两人都 review。 + +**替代**:每 T 都拆成"实现 + 测试 + 验证"三子包,共 ~12 个包。代价:协调成本变高,但每个 PR 更小更好 review。 + +**Decision**: ___ + +--- + +## Q7. 节奏与同步 + +**建议**:**每周一晚 30 分钟同步**(讨论上周进度 + 本周计划)。**每两周复审 kill criteria(§7)**。**Gate 失败**触发 48 小时内开会决定走或留。其他时间纯异步(PR + 微信)。 + +**替代**:完全异步,没固定会议;只在 Gate 触发时开会。代价:节奏放松,可能拖。 + +**Decision**: ___ + +--- + +## Q8. 失败 / 暂停的记录方式 + +**建议**:**直接 append 到主方案对应章节末尾**,格式 `> 2026-XX-XX 决议: ...(决议者)`。**不**单独建 `decisions-log.md`(一个事实一处记,避免分散)。**不**用 GitHub Issues(太噪)。 + +**替代**:建独立的 `decisions-log.md`,所有 Gate 决议集中。代价:多一个文件维护,但搜起来方便。 + +**Decision**: ___ + +--- + +## 决议后处理 + +7 个 Decision 填入 + Q1 等数据这件事达成共识 → 视为 **Gate G1 通过的预备态**。Q1 数据到位后追加该 Decision,G1 正式通过,进入 T1-T4 实施。 + +我(Claude)负责: +- 收到决议后把答案同步回主方案(升 v1.0) +- 把 §G1 中的"4 人确认"改为"两人确认" +- 按 Q6 决议的粒度起草后续 DS 指令包 + +--- + +*起草:2026-05-12* +*目标:本周内(2026-05-17 前)拿到 7 个 Decision* From b29926928e691c802fa6c144333b4a723f018206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=9D=96=E6=81=92?= Date: Tue, 12 May 2026 14:06:29 +0800 Subject: [PATCH 2/3] Fill 6 of 8 Q9 Decisions (Q2/Q3/Q5/Q6/Q7/Q8 from Soli22de side) Author (Soli22de) is the PR-author and one of the 2 team members, so filling preference/flow questions unilaterally and leaving the rest for WW to react to. - Q1: deferred to Gamma distribution data (PR #4 output) - Q2: REVISED from original "Haiku + Sonnet" to OpenRouter Gemini Flash V2 main + same-model V1 prompt fallback, per PR #6 memo - Q3: accepted (OpenAI text-embedding-3-small) - Q4: deferred to WW (his labeling time investment) - Q5: accepted (peer review + Claude sanity + 24h auto-merge) - Q6: accepted (one workstream = one DS pack, split if >300 LOC) - Q7: accepted (Mon evening 30min + biweekly kill criteria review) - Q8: accepted (append to main plan, no separate decisions-log) WW should react via fix commit if any of the 6 self-answered Q's disagree, else they take effect. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/plans/2026-05-12-q9-quick-decisions.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/plans/2026-05-12-q9-quick-decisions.md b/docs/plans/2026-05-12-q9-quick-decisions.md index fa3812f..799dfcc 100644 --- a/docs/plans/2026-05-12-q9-quick-decisions.md +++ b/docs/plans/2026-05-12-q9-quick-decisions.md @@ -14,7 +14,7 @@ **替代**:现在直接拍板初稿数字,后续如果数据严重不符再改。 -**Decision**: ⏳ 等数据 +**Decision**: ⏳ 等 PR #4 (DS pkg #02 Gamma 分布) 数据回填 --- @@ -24,7 +24,7 @@ **替代**:在 T2 prompt 调优阶段(前 50 个市场)跑 head-to-head Haiku vs DeepSeek,再决定主跑模型。代价:多花 ~$3 + 半天。 -**Decision**: ___ +**Decision**: ✅ **撤回原建议**,改为:**OpenRouter `google/gemini-2.0-flash-001` (V2 strict prompt) 主跑 + 同模型 V1 (permissive) prompt 用于 silent-empty fallback**。详见 [`docs/references/dash-ocr-production-patterns.md`](../references/dash-ocr-production-patterns.md) §0 / §1.1 / §4。理由:dash-ocr-pipeline 生产已验证(Pair F1 0.965,hallucination 0.3-0.6%),单模型 V2/V1 双 prompt 比双模型简单且更便宜。**不用 Qwen 2.5-72B**——pipeline 最新版已将其移除,因 Gemini Flash 单 call 实测优于"Gemini → Qwen pairer"两阶段。 --- @@ -34,7 +34,7 @@ **替代**:本地跑开源 `BAAI/bge-large-en-v1.5`(免费但要 GPU/CPU 资源和封装时间)。 -**Decision**: ___ +**Decision**: ✅ **采纳建议**:OpenAI `text-embedding-3-small`,复用现有 key。阈值 0.85 初稿,T3 实施阶段用 100 对人工标注调优。 --- @@ -46,7 +46,7 @@ **替代**:保留 100 条规则样本,分两阶段标 —— 先 50 条(每人 50 份)跑通流程,再做后 50 条。代价:拖 1-2 天,但能拿到更高样本量。 -**Decision**: ___ +**Decision**: ⏳ **等同学(WW)确认愿意承担的标注份数**。我(Soli22de)这边按"4 × 50 = 200 份双标 = 100 条规则"接受。如果他只能做 25 份,把样本量降到 50 条。同时**先决条件**是必须有 rule_discovery 输出作 corpus,目前没有 —— 详见 §T4 重设计:用 [`dash-ocr-production-patterns.md`](../references/dash-ocr-production-patterns.md) 提到的"$0 corpus" 路线(neg-risk 派生 + 重复检测),把 T4 重定位为 judge 校准任务。新方向下样本来源不再卡脖子。 --- @@ -56,7 +56,7 @@ **替代**:所有 PR 必须双 approve,没人 approve 就不 merge。代价:节奏被任一人的可用时间卡住。 -**Decision**: ___ +**Decision**: ✅ **采纳建议**:作者 → 另一人 review + Claude sanity check → CI 过 → merge。**24 小时对方未响应可作者自合**(PR 描述里标注 `auto-merged after 24h`),任一人都可 merge。 --- @@ -66,7 +66,7 @@ **替代**:每 T 都拆成"实现 + 测试 + 验证"三子包,共 ~12 个包。代价:协调成本变高,但每个 PR 更小更好 review。 -**Decision**: ___ +**Decision**: ✅ **采纳建议**:一个工作流(T1/T2/T3/T4)= 一个 DS 包,>300 行再拆"实现 + 测试"。横切任务(fee schedule #01、Gamma 分布 #02)独立成包。总计 5-7 个包。spec 作者负责拆解 + 发送 DS,DS 跑回的 code PR 两人都 review。 --- @@ -76,7 +76,7 @@ **替代**:完全异步,没固定会议;只在 Gate 触发时开会。代价:节奏放松,可能拖。 -**Decision**: ___ +**Decision**: ✅ **采纳建议**:每周一晚 30 分钟同步(上周进度 + 本周计划)。每两周复审 §7 kill criteria。Gate 失败 48 小时内开会决定走或留。其他时间纯异步(PR + 微信)。 --- @@ -86,7 +86,7 @@ **替代**:建独立的 `decisions-log.md`,所有 Gate 决议集中。代价:多一个文件维护,但搜起来方便。 -**Decision**: ___ +**Decision**: ✅ **采纳建议**:直接 append 到主方案对应章节末尾,格式 `> 2026-XX-XX 决议: ...(决议者)`。不单独建 `decisions-log.md`。不用 GitHub Issues。 --- From 8bf6f83b1d3150d0d4577e4397e67adb367c1d4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E9=9D=96=E6=81=92?= Date: Tue, 12 May 2026 14:19:20 +0800 Subject: [PATCH 3/3] Fill Q1 with experiment-derived thresholds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the "wait for data" placeholder with actual P10/P50/P90 values from the experiment 1 run (PR #7). Original draft thresholds were 100× too high — real Polymarket distribution has P50 vol24hr of only ~$40/day. Key implementation note baked in: because P10 vol24hr = $0, the dead/longtail boundary should use liquidity (P10 = $787) rather than volume. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/plans/2026-05-12-q9-quick-decisions.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/plans/2026-05-12-q9-quick-decisions.md b/docs/plans/2026-05-12-q9-quick-decisions.md index 799dfcc..0be2ae2 100644 --- a/docs/plans/2026-05-12-q9-quick-decisions.md +++ b/docs/plans/2026-05-12-q9-quick-decisions.md @@ -14,7 +14,20 @@ **替代**:现在直接拍板初稿数字,后续如果数据严重不符再改。 -**Decision**: ⏳ 等 PR #4 (DS pkg #02 Gamma 分布) 数据回填 +**Decision**: ✅ **用实测数据**(来自 PR #7 实验,n=2000 活跃市场,2026-05-12 snapshot): + +| Tier | 24h 量 | 流动性 | spread | 距 resolution | +|---|---|---|---|---| +| `headline` (P90+) | ≥ \$18,333 | ≥ \$221,690 | ≤ 0.001 | 任意 | +| `mid` (P50-P90) | \$40 – \$18,333 | \$10,138 – \$221,690 | ≤ 0.01 | 任意 | +| **`longtail` (P10-P50)** | **\$0 – \$40** | **\$787 – \$10,138** | ≤ 0.10 | **14-90 天**(研究目标) | +| `dead` ( 0.10 或缺 quote | 任意 | + +**实务调整**:因 P10 vol24hr = \$0,longtail 和 dead 不应在 volume 上区分。**用 liquidity ≥ \$787 作为 dead 边界**:vol=0 但 liquidity 在 \$787-\$10k 的市场是真长尾(做市商不来但有底子);vol=0 且 liquidity<\$787 才是 dead。 + +距 resolution 14-90 天区间:实测 35% 的市场(693/2000)落在此段,样本充裕。 + +详见 [`reports/experiment-gamma-distribution-2026-05-12.md`](../../reports/experiment-gamma-distribution-2026-05-12.md)。 ---