@geoly-ai/social-hub-cli 0.3.18 → 0.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/cmd-manifest.json +2 -2
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +69 -7
- package/dist/index.js.map +1 -1
- package/dist/scrape-output.test.d.ts +2 -0
- package/dist/scrape-output.test.d.ts.map +1 -0
- package/dist/scrape-output.test.js +58 -0
- package/dist/scrape-output.test.js.map +1 -0
- package/package.json +2 -2
- package/skills/manifest.json +1 -1
- package/skills/reddit-content-writing/SKILL.md +1 -1
- package/skills/reddit-content-writing/references/phase4-execution-table.md +24 -3
- package/skills/reddit-content-writing/references/phase4-writing.md +123 -3
- package/skills/reddit-content-writing/references/post-writing-templates.md +14 -6
- package/skills/reddit-delivery-check/SKILL.md +1 -0
- package/skills/reddit-delivery-check/references/phase5-delivery.md +7 -1
- package/skills/reddit-matrix.lock.json +8 -8
- package/skills/reddit-phase-brief/SKILL.md +25 -9
- package/skills/reddit-phase-brief/references/brand-SKU-PGC-rules.md +223 -36
- package/skills/reddit-phase-brief/references/phase4-brief-workflow.md +364 -18
- package/skills/reddit-phase-planning/SKILL.md +13 -0
- package/skills/reddit-phase-planning/references/phase4-execution-table.md +16 -2
- package/skills/reddit-phase-planning/references/phase4-planning.md +74 -15
- package/skills/reddit-phase-planning/references/scheduling-decision-procedure.md +386 -0
- package/skills/reddit-phase-research/SKILL.md +7 -1
- package/skills/reddit-phase-research/references/phase01-research.md +93 -29
- package/skills/reddit-strategy-orchestrator/SKILL.md +120 -18
- package/skills/reddit-strategy-shared/SKILL.md +4 -2
- package/skills/reddit-strategy-shared/references/content-diversity-contract.md +19 -3
- package/skills/reddit-strategy-shared/references/context-contract.md +45 -11
- package/skills/reddit-strategy-shared/references/evidence-policy.md +139 -0
- package/skills/reddit-strategy-shared/references/handoff-schemas.md +16 -1
- package/skills/reddit-strategy-shared/references/path-conventions.md +26 -4
- package/skills/reddit-strategy-shared/references/prerequisites/README.md +57 -0
- package/skills/reddit-strategy-shared/references/prerequisites/{reddit-master-canvas-agent-prompt-template.md → archive/reddit-master-canvas-agent-prompt-template.md} +7 -0
- package/skills/reddit-strategy-shared/references/prerequisites/{reddit-sop-v2-universal.md → archive/reddit-sop-v2-universal.md} +7 -0
- package/skills/reddit-strategy-shared/references/prerequisites/{reddit-strategy-prerequisites-read.md → archive/reddit-strategy-prerequisites-read.md} +7 -0
- package/skills/reddit-strategy-shared/references/prerequisites/{reddit-strategy-reuse-playbook.md → archive/reddit-strategy-reuse-playbook.md} +7 -0
- package/skills/reddit-strategy-shared/references/subreddit-research-profile.md +514 -0
- package/skills/reddit-strategy-shared/references/version-manifest.md +29 -2
- package/skills/reddit-voc-volume/matrix-contract.md +16 -1
|
@@ -120,7 +120,9 @@ Phase 0 门禁自查:
|
|
|
120
120
|
|
|
121
121
|
## Phase 0.5 — 候选板块发现与分析
|
|
122
122
|
|
|
123
|
-
**目标:** 系统性发现适合发帖的候选子版(subreddit
|
|
123
|
+
**目标:** 系统性发现适合发帖的候选子版(subreddit),完成版规过滤,产出每个通过板块的 **SubredditResearchProfile(SRP)** 与「候选板块分析报告」。
|
|
124
|
+
|
|
125
|
+
> **发帖节奏/容量不在本阶段拍板。** 有 SRP 时由 `reddit-phase-planning` 的排期决策程序 D5 从 SRP 推导 `capacityMax`;无 SRP 时才用本文件「补充条例 a-F」的兜底默认表取一个默认节奏,并标 `FallbackOnly`。
|
|
124
126
|
|
|
125
127
|
> **项目类型判断(执行任何步骤前必须先确认):** 两类合同对 Geoly 数据可用性影响不同:
|
|
126
128
|
>
|
|
@@ -195,9 +197,9 @@ get_prompt_citations(
|
|
|
195
197
|
| 解析项 | 负责 Skill | 职责 |
|
|
196
198
|
|--------|-----------|------|
|
|
197
199
|
| 版规 / 风控 / 板块适配 / 账号门槛 / AutoModerator·banner·Installed Apps 信号 | **reddit-subreddit-compliance**(独立矩阵 skill) | **风控管理**:产出 Fit / OverallRisk / EvidenceCompleteness / AccountGate;决定通过、过滤、待验证 |
|
|
198
|
-
|
|
|
200
|
+
| 板块研究画像(SRP):全窗口 flair 分布、话题构成、删帖率;以及高分帖的定性观察 | **reddit-voc-volume**(独立矩阵 skill;脚本路径通常为 `~/.cursor/skills/reddit-voc-volume/scripts/reddit_voc_volume.py`) | **声量采样**:按 SRP 契约 S1–S9 拉全窗口数据与帖子样本;样本仅作社区偏好信号,**不能**替代明文版规;**top-N 样本不得产出任何占比类结论** |
|
|
199
201
|
|
|
200
|
-
> **补充条例 a
|
|
202
|
+
> **补充条例 a(板块选取硬规则 · 未降级,仍是硬规则;勿与下文兜底表「补充条例 a-F」混淆):** 选取板块时**优先依据版规与合规风控结论**,不得因「每周访客数特别高」直接采用。高流量但 `OverallRisk=High`、明确禁止品牌推广、或落入 `NotRecommended` 的板块仍须过滤或标「待验证」,不得进入 Phase 4 执行表。
|
|
201
203
|
|
|
202
204
|
**步骤 0.5.4** 逐板块合规风控检测(reddit-subreddit-compliance):
|
|
203
205
|
|
|
@@ -282,9 +284,21 @@ python3 "$VOC" flair-filters -r "<subreddit>" \
|
|
|
282
284
|
| `VerifiedCandidates` + Fit=High,Risk=Low/Medium,允许个人经验/推荐 | 宽松 | **通过** |
|
|
283
285
|
| `NeedsVerificationCandidates`(EvidenceCompleteness=Partial/Insufficient) | — | 标「待验证」,默认**不**进入 Phase 4 执行表,直至补 rules/flair wiki/pinned/sidebar/bot/Installed Apps 证据 |
|
|
284
286
|
|
|
285
|
-
**补充条例 a —
|
|
287
|
+
**补充条例 a-F — 无 SRP 兜底默认表(`SRPMode: Fallback` 专用):**
|
|
286
288
|
|
|
287
|
-
|
|
289
|
+
> ⚠️ **本表已降级为兜底默认,不是配比判据。** 它是「没有板块研究画像(SRP)时」的替代品。
|
|
290
|
+
>
|
|
291
|
+
> - `SRPMode: Full`(该板块已有 SRP):**禁止**使用本表参与任何配比推导;节奏与容量由
|
|
292
|
+
> 排期决策程序 D5 的 `capacityMax` 给出,配比由 D6 求解。
|
|
293
|
+
> - `SRPMode: Fallback`(该板块无 SRP):可用本表取默认节奏,**每一处引用都必须标 `FallbackOnly`**。
|
|
294
|
+
> - **不得用本表反推配比。** 表中「P-B 帖倾向」一列只是**风控倾向**,
|
|
295
|
+
> **不改变**任何 P-B / P-NB / C-B / C-NB / PGC 的合同数字——配额语义以
|
|
296
|
+
> `memory/phase4-sku-基准表.md` 与 `phase4-planning.md` Phase 4.0.0 为唯一来源。
|
|
297
|
+
>
|
|
298
|
+
> **注意与 L200 的「补充条例 a(板块选取硬规则)」区分:** 那一条(合规优先于流量选板块)
|
|
299
|
+
> **未降级,仍是硬规则**;本条 a-F 才是被 SRP + 排期决策程序取代的兜底查表。
|
|
300
|
+
|
|
301
|
+
| 版规松紧 | 每周贡献数 | 频率建议(FallbackOnly) | P-B 帖倾向(仅风控倾向,非配额) |
|
|
288
302
|
|---------|---------|---------|-----------|
|
|
289
303
|
| 宽松 | 高(>5000) | 每 1–2 天一帖,帖被快速淹没举报风险低 | 可适当提高 P-B 比例 |
|
|
290
304
|
| 宽松 | 中(1000–5000) | 每 2–3 天一帖 | 正常配比 |
|
|
@@ -293,25 +307,47 @@ python3 "$VOC" flair-filters -r "<subreddit>" \
|
|
|
293
307
|
| 中等 | 低 | 每 5–7 天一帖 | 以 P-NB 为主 |
|
|
294
308
|
| 严格 | 任何 | 评估是否放弃该板块,或仅用 C-NB 外部评论介入 | 禁止 P-B |
|
|
295
309
|
|
|
296
|
-
**步骤 0.5.5**
|
|
310
|
+
**步骤 0.5.5** 板块研究画像(SubredditResearchProfile / SRP)产出或复用(**仅**对步骤 0.5.4.3 通过、非「过滤」的板块):
|
|
311
|
+
|
|
312
|
+
> **本步骤已从「top-N 采样 + score 梯队」改为「按 SRP 契约的 S1–S9 标准作业步骤产出板块研究画像」。**
|
|
313
|
+
>
|
|
314
|
+
> **为什么换:** 旧做法用 `--sort top --limit 50` 采样。**top-N 是按 score 排序的偏差样本,
|
|
315
|
+
> 统计上不可能产出可信的全板 flair 占比**——它系统性地过采高分帖,低分/日常/提问类内容被整段截掉。
|
|
316
|
+
> 而排期决策程序 D2 依赖的核心资产是**全窗口 flair 分布**(分母明确的全量占比,
|
|
317
|
+
> 例:某板块窗口内抓取 1200 / 有效 936 / `General Question` 28.1%)。
|
|
318
|
+
> 这不是 agent 不够努力,是这一步的方法上限就到不了标杆。
|
|
319
|
+
>
|
|
320
|
+
> **必读契约:** `~/.cursor/skills/reddit-strategy-shared/references/subreddit-research-profile.md`
|
|
321
|
+
> (Windows:`$HOME\.cursor\skills\reddit-strategy-shared\references\subreddit-research-profile.md`)。
|
|
322
|
+
> 按契约的 **S1–S9 标准作业步骤**逐步执行;**已有未过期的 SRP 可直接复用**,复用时记录其版本与采集时间。
|
|
323
|
+
>
|
|
324
|
+
> **版规与风控结论仍以 0.5.4 compliance 输出为准**,不得用帖子样本反推版规松紧。
|
|
325
|
+
|
|
326
|
+
**a. 产出/复用 SRP(S1–S9):** 按契约执行,产出至少包含窗口起止、抓取总数、有效数、
|
|
327
|
+
排除数与排除原因,即契约的**分母三件套** `fetchedN` / `dedupedN` / `eligibleN` +
|
|
328
|
+
`excludedByReason` + `unknownFlairN`;`flairDistribution[]`(每 flair 的 `count` + `share` +
|
|
329
|
+
**显式声明的分母**,`Unknown` 作为显式 bucket)、`lowSignalFlairs`、`flairBoundaryNotes`、
|
|
330
|
+
`contentTypes[]`、`removalStats`(mod 删除 / 用户自删 / unknown 三项分列)、`selfPromoPolicy`、
|
|
331
|
+
`samplingFrame` + 逐字段 `claimScope`、`confidence`、`computedAt` 与 `lineage`。**字段口径以契约为准**。
|
|
332
|
+
|
|
333
|
+
> **占比类结论的唯一合法来源是 SRP 的全窗口统计。** 以下一律禁止:
|
|
334
|
+
> **禁止**用 top-N 样本产出 flair 占比、帖型占比、话题占比或任何「百分比」结论;
|
|
335
|
+
> **禁止**把样本内比例说成板块总体比例;**禁止**在没有明确分母的情况下报占比。
|
|
336
|
+
>
|
|
337
|
+
> 采不到 SRP 时记 `SRPMode: Fallback`(无画像);采到但契约判 `confidence: Insufficient`
|
|
338
|
+
> 且无法补采时记 `SRPMode: Insufficient`(画像不可信)。**两者不得混用**——
|
|
339
|
+
> 前者走兜底默认继续排期,后者按排期决策程序 D7 判 0 篇。
|
|
297
340
|
|
|
298
|
-
|
|
341
|
+
**b. top 采样的保留用途(定性观察,不得产出占比):**
|
|
299
342
|
|
|
300
343
|
```bash
|
|
301
|
-
#
|
|
344
|
+
# 仅用于定性观察:高分帖长什么样。不得用于 flair / 帖型 / 话题占比。
|
|
302
345
|
python3 "$VOC" keyword "subreddit:<subreddit>" --sort top --limit 50 --pretty
|
|
303
346
|
```
|
|
304
347
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
top 10%(前 5 条):score ≥ N1
|
|
309
|
-
10%–30%(第 6–15 条):score N2~N1
|
|
310
|
-
30%–50%(第 16–25 条):score N3~N2
|
|
311
|
-
50% 以下:score < N3
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
**b. 存活帖提取与学习:** 对每梯队中 `created_utc` 距今 **≥ 3 个月**的帖子,逐条学习以下 4 个维度:
|
|
348
|
+
按 score 从高到低划**排名档位**(第 1–5 名 / 第 6–15 名 / 第 16–25 名 / 第 26 名以后),
|
|
349
|
+
**只作定位用,不是分布,不得写成百分比档位**。对每档中 `created_utc` 距今 **≥ 3 个月**的帖子,
|
|
350
|
+
逐条学习以下 4 个维度(定性学习,同样不产出占比):
|
|
315
351
|
|
|
316
352
|
| 学习维度 | 说明 |
|
|
317
353
|
|---------|------|
|
|
@@ -327,7 +363,8 @@ top 10%(前 5 条):score ≥ N1
|
|
|
327
363
|
|
|
328
364
|
**步骤 0.5.5b — Ask AI 贴型权重分析(reddit-answers-research)**
|
|
329
365
|
|
|
330
|
-
> **目的:**
|
|
366
|
+
> **目的:** SRP(步骤 0.5.5)告诉你该品类社区覆盖哪些帖型;Ask AI 进一步告诉你**哪几种帖型最多被 Reddit AI 引用**。
|
|
367
|
+
> 本步骤只产出**倾向**,作为排期决策程序 D6 的软目标输入;**具体条数由 D6 在硬约束下求解并由用户锁定**,本步骤不得直接调整执行表比例。
|
|
331
368
|
|
|
332
369
|
**执行条件:** 可选步骤,但强烈建议执行;需要浏览器 MCP 可用。若浏览器能力不可用或 Geoly Prompt 尚未建立,记录跳过原因,不得伪造 Ask AI 结果。
|
|
333
370
|
|
|
@@ -369,16 +406,20 @@ top 10%(前 5 条):score ≥ N1
|
|
|
369
406
|
| Prompt | <Prompt> | N | GUIDE×3, ASK×2 | GUIDE |
|
|
370
407
|
|
|
371
408
|
### 综合结论:高 AI 收录权重帖型(跨维度出现 ≥2 次)
|
|
372
|
-
- GUIDE:品类科普/选购攻略被 AI 高频引用 →
|
|
373
|
-
- ROUNDUP:横评帖被引用率高 →
|
|
374
|
-
- ASK:问答帖在 SKU 维度被引用多 →
|
|
409
|
+
- GUIDE:品类科普/选购攻略被 AI 高频引用 → 倾向调高(具体条数交 D6)
|
|
410
|
+
- ROUNDUP:横评帖被引用率高 → 倾向维持或略调高(具体条数交 D6)
|
|
411
|
+
- ASK:问答帖在 SKU 维度被引用多 → 倾向维持;重点让首楼评论露出品牌(形态受 brandEntryAllowedSet 约束)
|
|
375
412
|
|
|
376
|
-
###
|
|
377
|
-
- 原 VOC
|
|
378
|
-
- Ask AI
|
|
379
|
-
-
|
|
413
|
+
### 权重倾向建议(D6 的**软目标输入**,不是配比结论)
|
|
414
|
+
- 原 VOC 帖型覆盖倾向:[从步骤 0.5.5 的定性观察提取]
|
|
415
|
+
- Ask AI 倾向:[如 GUIDE 偏高、ROUNDUP 偏高、OPINION 偏低]
|
|
416
|
+
- 依据:GUIDE 在 3/4 查询维度均为 AI 引用前3帖型
|
|
380
417
|
```
|
|
381
418
|
|
|
419
|
+
> **不得在此直接改配比。** 本节只提供倾向,落到具体条数由 `reddit-phase-planning` 的
|
|
420
|
+
> 排期决策程序 D6 在硬约束下求解、并由用户锁定方案。写「GUIDE +2 条」这类数字调整,
|
|
421
|
+
> 等于绕过 D6 的硬约束与人审,禁止。
|
|
422
|
+
|
|
382
423
|
> **诚实边界:** Ask AI 引用帖样本量有限,仅作方向性参考;不代表 Geoly 实测 citation 数据;正式报告须标注「待 Geoly 数据验证」。
|
|
383
424
|
|
|
384
425
|
**步骤 0.5.6** 产出候选板块分析报告,写入 `memory/phase0.5-board-analysis.md`:
|
|
@@ -391,6 +432,22 @@ top 10%(前 5 条):score ≥ N1
|
|
|
391
432
|
| r/xxx | VOC | 41万 | 9344 | 9344(contributions alias) | High | Low | 宽松 | 每1-2天 | GUIDE/ASK | 通勤降噪/预算选品 | 无 | Complete |
|
|
392
433
|
| r/yyy | Geoly-TWS | — | — | — | Medium | Medium | 中等 | 每3天 | OWNER | 使用体验分享 | 须含使用时长 | Partial |
|
|
393
434
|
|
|
435
|
+
> 「频率建议」列须注明来源。**研究阶段只能填两种值**:`FallbackOnly(补充条例 a-F)`(无 SRP 时直接填),
|
|
436
|
+
> 或 `PendingD5`(有 SRP 时——容量由 planning 阶段的排期决策程序 D5 推导后回填,研究阶段不得自行拍板)。
|
|
437
|
+
> 无来源标注视为未完成。
|
|
438
|
+
|
|
439
|
+
## 板块研究画像(SRP)索引 —— 每个通过版规的板块一节
|
|
440
|
+
|
|
441
|
+
| 板块 | SRPMode | samplingFrame | 窗口起止 | fetchedN | dedupedN | eligibleN | excludedByReason | unknownFlairN | flair 分布分母 | 主导 flair(share) | lowSignalFlairs | flairBoundaryNotes | removalStats(mod/自删/unknown) | claimScope | confidence | computedAt | profileId·revisionId |
|
|
442
|
+
|---|---|---|---|---:|---:|---:|---|---:|---:|---|---|---|---|---|---|---|---|
|
|
443
|
+
| r/xxx | Full | FullWindow | 2025-08-01 ~ 2026-08-01 | 1200 | 1050 | 936 | Removed 60 / Deleted 40 / ModPost 14 | 22 | eligibleN=936 | General Question 28.1% | Watches(17帖), Appraisal(5帖) | Showcase 与 Haul 两可 → 按「有无购买叙事」归类 | 3% / 5% / 2% | Population | Verified | 2026-08-12 | srp-… · r3 |
|
|
444
|
+
|
|
445
|
+
> 全窗口 flair 分布必须给出**显式声明的分母**(默认 `eligibleN`),并逐 flair 给 `count` + `share`;
|
|
446
|
+
> `Unknown` 作为显式 bucket 出现。分母不变量(`fetchedN ≥ dedupedN ≥ eligibleN`,
|
|
447
|
+
> `dedupedN = eligibleN + Σ excludedByReason`,`unknownFlairN ⊆ eligibleN`)任一不成立 → `Insufficient`。
|
|
448
|
+
> **禁止**用 top-N 样本的比例填这张表。无 SRP 的板块此表填 `SRPMode: Fallback` 一行,其余列填「—」;
|
|
449
|
+
> 有 SRP 但 `confidence: Insufficient` 的填 `SRPMode: Insufficient`,**不得**改写成 Fallback。
|
|
450
|
+
|
|
394
451
|
## 合规风控摘要(reddit-subreddit-compliance · 每板块 ComplianceDetectionSummary 摘录)
|
|
395
452
|
- r/xxx: Fit=High / OverallRisk=Low / AccountGate=Unknown / RulesEvidenceStatus=Provided / Recommendation=可尝试
|
|
396
453
|
- r/yyy: Fit=Medium / OverallRisk=Medium / RiskTriggerSummary=self-promotion / Recommendation=谨慎尝试
|
|
@@ -419,10 +476,17 @@ Phase 0.5 门禁自查:
|
|
|
419
476
|
[ ] 每周访客数/每周贡献数/每周活跃用户来自 about-page 的 `weekly_visitors` / `weekly_contributions` / `weekly_active_users`,无法取得时填「—」且未用 subscribers 冒充
|
|
420
477
|
[ ] 每个候选板块已产出 ComplianceDetectionSummary(Fit / OverallRisk / EvidenceCompleteness / AccountGate)
|
|
421
478
|
[ ] VerifiedCandidates / NeedsVerificationCandidates / NotRecommended 三层已划分;不合规板块已标注「过滤」并说明原因
|
|
422
|
-
[ ] 补充条例 a
|
|
479
|
+
[ ] 补充条例 a(板块选取硬规则)已执行:板块选取优先版规与风控,非仅按访客数
|
|
423
480
|
[ ] 待验证板块已单独列出,默认不进入 Phase 4 执行表
|
|
424
|
-
[ ]
|
|
425
|
-
|
|
481
|
+
[ ] 【步骤 0.5.5】每个通过版规的板块已按 SRP 契约 S1–S9 产出或复用 SubredditResearchProfile;
|
|
482
|
+
分母三件套(fetchedN / dedupedN / eligibleN)+ excludedByReason + unknownFlairN 齐全且不变量成立;
|
|
483
|
+
flairDistribution 逐项含 count + share 且分母显式声明、Unknown 为显式 bucket;
|
|
484
|
+
samplingFrame 与逐字段 claimScope 已标;lowSignalFlairs / flairBoundaryNotes / confidence / lineage 齐全
|
|
485
|
+
[ ] 每个板块已声明 SRPMode(Full / Provisional / Fallback / Insufficient);Fallback(无画像)与 Insufficient(画像不可信)未混用
|
|
486
|
+
[ ] 无任何占比类结论来自 top-N 样本;top 采样仅用于定性观察与排名档位,未写成百分比档位
|
|
487
|
+
[ ] 【补充条例 a-F】仅对 SRPMode=Fallback 的板块使用兜底默认表取频率,且已逐处标 FallbackOnly;
|
|
488
|
+
未用该表反推 P-B / C-B 配比(配额语义未被改动)
|
|
489
|
+
[ ] 存活 ≥ 3 个月的帖已提取,帖型/内容方向/语气/语境已学习(定性,不产出占比)
|
|
426
490
|
[ ] 存活 ≥ 1 年的帖已标注「★ 长期有效参考」
|
|
427
491
|
[ ] 【步骤 0.5.5b】Ask AI 帖型权重分析已执行(品牌/SKU/品类/Prompt 4维度查询;或已记录跳过原因:浏览器MCP不可用/Geoly Prompt待建),引用帖型分布已写入 phase0.5-board-analysis.md「Ask AI 引用帖型分析」节
|
|
428
492
|
[ ] 候选板块分析报告已展示(含 Ask AI 权重调整建议),用户已确认
|
|
@@ -20,23 +20,28 @@ Read the installed `reddit-strategy-shared` references before doing any full-flo
|
|
|
20
20
|
- `~/.cursor/skills/reddit-strategy-shared/references/safety-rules.md`
|
|
21
21
|
- Windows equivalents live under `$HOME\.cursor\skills\reddit-strategy-shared\references\`.
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
|
|
39
|
-
|
|
23
|
+
**That list is the complete mandatory read. There is no prerequisite reading pack.**
|
|
24
|
+
|
|
25
|
+
The four legacy SOP files that used to be force-read here
|
|
26
|
+
(`reddit-strategy-prerequisites-read.md`, `reddit-strategy-reuse-playbook.md`,
|
|
27
|
+
`reddit-sop-v2-universal.md`, `reddit-master-canvas-agent-prompt-template.md`
|
|
28
|
+
— 1,994 lines, all `LegacyStatus: Superseded`) have moved to
|
|
29
|
+
`reddit-strategy-shared/references/prerequisites/archive/`. **`archive/` is
|
|
30
|
+
`AgentReadPolicy: DoNotRead` — human reference only.** Do not read it, do not
|
|
31
|
+
cite it, and do not treat anything in it as a gate, schema, field list,
|
|
32
|
+
structure rule, or writing spec.
|
|
33
|
+
|
|
34
|
+
Every operative rule it contained now has an authoritative active version,
|
|
35
|
+
including the two that were briefly ownerless: contract 「量」 unit conversion
|
|
36
|
+
(`reddit-phase-planning/references/phase4-planning.md` step 4.0.0.0) and the
|
|
37
|
+
external-comment A/B readout rule (same file, Phase 4.0.5). Read the active
|
|
38
|
+
file; never go back to the archive for them. (The sibling
|
|
39
|
+
`prerequisites/README.md` is a plain index of that authority mapping and is
|
|
40
|
+
readable — it is the one file in `prerequisites/` not covered by DoNotRead —
|
|
41
|
+
but reading it is optional, not a step.)
|
|
42
|
+
|
|
43
|
+
`PrerequisitesRead:` in the output block is therefore always
|
|
44
|
+
`N/A (archived v2.12.31)`.
|
|
40
45
|
|
|
41
46
|
## When To Use This Skill
|
|
42
47
|
|
|
@@ -76,6 +81,9 @@ Before Phase 0, collect or confirm:
|
|
|
76
81
|
|
|
77
82
|
If required startup context is missing, stop and ask for it. Do not jump into Phase 0.
|
|
78
83
|
|
|
84
|
+
Startup also owns Human Decision Points **#1 (优化目标权重)** — see
|
|
85
|
+
`Human Decision Points — 必须停下来问人` below and ask it together with the list above.
|
|
86
|
+
|
|
79
87
|
## Phase Orchestration
|
|
80
88
|
|
|
81
89
|
1. Shared context
|
|
@@ -86,6 +94,7 @@ If required startup context is missing, stop and ask for it. Do not jump into Ph
|
|
|
86
94
|
- Skill: `reddit-phase-research`
|
|
87
95
|
- Covers: Phase 0, 0.5, 1, 1.5, 1.6, 2
|
|
88
96
|
- Must call or consume: `reddit-voc-volume`, `reddit-subreddit-compliance`, `kg-reddit-check` reference
|
|
97
|
+
- Human Decision Points: **#2, #5** (plus **#3, #4** when a subreddit profile is built)
|
|
89
98
|
|
|
90
99
|
3. Planning
|
|
91
100
|
- Skill: `reddit-phase-planning`
|
|
@@ -99,6 +108,7 @@ If required startup context is missing, stop and ask for it. Do not jump into Ph
|
|
|
99
108
|
`StructureFamily` is not lockable.
|
|
100
109
|
- Phase 4.0.5 fills B-group fanout.
|
|
101
110
|
- Phase 4.0.6 runs SKU/brand-word verification and creates the batch map.
|
|
111
|
+
- Human Decision Points: **#6, #7, #8, #9** — #9 must be answered before the execution table can be locked
|
|
102
112
|
|
|
103
113
|
4. Brief
|
|
104
114
|
- Skill: `reddit-phase-brief`
|
|
@@ -106,6 +116,7 @@ If required startup context is missing, stop and ask for it. Do not jump into Ph
|
|
|
106
116
|
- Requires: locked execution table, SKU baseline, board quantity plan, SKU/brand mapping, batch map
|
|
107
117
|
- Produces: `memory/phase4-撰写brief.md` and `memory/phase4-内容排期表.md`
|
|
108
118
|
- Gate: client mode requires `Brief 已通过`; internal mode requires `确认 Brief · 可动笔`
|
|
119
|
+
- Human Decision Points: **#10, #11**
|
|
109
120
|
|
|
110
121
|
5. Brand-risk review
|
|
111
122
|
- Skill: `reddit-brand-risk-response`
|
|
@@ -121,6 +132,7 @@ If required startup context is missing, stop and ask for it. Do not jump into Ph
|
|
|
121
132
|
7. Delivery
|
|
122
133
|
- Skill: `reddit-delivery-check`
|
|
123
134
|
- Requires: all planned drafts, verification output, and a `pass` record for every post/comment in `memory/content-review-log.md`
|
|
135
|
+
- Human Decision Points: **#12**
|
|
124
136
|
|
|
125
137
|
8. Renewal
|
|
126
138
|
- Skill: `reddit-monthly-iteration`
|
|
@@ -140,6 +152,92 @@ If required startup context is missing, stop and ask for it. Do not jump into Ph
|
|
|
140
152
|
- External comments require `reddit-ext-post-audit`.
|
|
141
153
|
- The writing/rewrite output gate is strict: `social-hub content post-review` for posts and `social-hub content review` for comments/replies. Apply `revise` feedback and rerun. If no final account is selected, use ContentOnly with no `accountId`; this can pass content review but must remain `ReadyForDelivery: No`. For final delivery, rerun AccountBound with the real account and resolve any `brandFitReviewRequired` / blocking account feedback. Hub unavailable/degraded is not a pass.
|
|
142
154
|
- Delivery cannot pass with missing batches, placeholders, or schema mismatches.
|
|
155
|
+
- Every phase must clear its Human Decision Points before handing off: either an answer, or the recorded safe default plus an entry in `HumanDecisionsOpen`. Silently choosing for the user is a gate failure.
|
|
156
|
+
- Human Decision Point **#6** (lifecycle authenticity) and the contract-conflict branch of **#10** are hard blocks — their safe default forbids the output, it does not downgrade it.
|
|
157
|
+
- Never read `reddit-strategy-shared/references/prerequisites/archive/` (`AgentReadPolicy: DoNotRead`). Citing archived legacy SOP text as a rule is a gate failure. The sibling `prerequisites/README.md` is an index only — readable, but never a required step and never a rule source.
|
|
158
|
+
|
|
159
|
+
## Human Decision Points — 必须停下来问人
|
|
160
|
+
|
|
161
|
+
**立场(先读这一段):** 下面 12 条**不能自动化,这是设计的一部分,不是缺陷。**
|
|
162
|
+
它们是商业偏好、客户意图、领域判断和风险胃口——没有任何数据源能替人回答。
|
|
163
|
+
SOP 的价值不在于消灭它们,而在于让它们**在正确的时刻、以正确的粒度被问出来**,
|
|
164
|
+
并且在没拿到答案时有一个**明确的安全默认**——大多数条目的默认是「继续走,但降低
|
|
165
|
+
承诺强度」;少数几条(#1 #6 #9 #10合同分支 #12)的默认就是**停下等人**,因为替人
|
|
166
|
+
拍板的代价比停下来高。**默认的作用是消灭"瞎猜",不是消灭"停"。**
|
|
167
|
+
|
|
168
|
+
**怎么用:**
|
|
169
|
+
|
|
170
|
+
1. 走到某一阶段时,先扫本表属于该阶段的行。命中就**停下来,一次性问清**(同阶段
|
|
171
|
+
的多条合并成一次提问,不要挤牙膏)。
|
|
172
|
+
2. 问了没得到答案(用户不在、说"你定"、明确 defer)→ **落安全默认,不追问第二次**。
|
|
173
|
+
3. 同一条被答过一次就**锁定并写进 memory**,后续阶段不得重问,也不得偷偷改判。
|
|
174
|
+
|
|
175
|
+
**记录格式(12 条全部登记进 `HumanDecisions`;其中 `status: defaulted` 的子集
|
|
176
|
+
另外汇总进 `HumanDecisionsOpen`,`answered` / `not-applicable` 不属于 open):**
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
- id: <1-12>
|
|
180
|
+
status: answered | defaulted | not-applicable
|
|
181
|
+
decision: <答案,或所落的安全默认>
|
|
182
|
+
impact: <如果答案不同会改变什么>
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
**与既有 handoff 字段的接法(避免二义):**
|
|
186
|
+
|
|
187
|
+
字段层级先分清:`BlockingGaps` / `ReadyForNextPhase` 是
|
|
188
|
+
`handoff-schemas.md` 定义的**本地 handoff 字段**,由你填;`blockingIssues` /
|
|
189
|
+
`readyForNextSkill` 是 **Hub `handoff-create` 响应字段**,由服务端裁定,是最终
|
|
190
|
+
phase gate。下面说的都是**本地字段**——本节不新增、不覆盖任何 Hub 语义,Hub
|
|
191
|
+
返回 not-ready 时以 Hub 为准。
|
|
192
|
+
|
|
193
|
+
- `not-applicable` → 不影响 `ReadyForNextPhase`。
|
|
194
|
+
- `defaulted` → **一般仍可 `ReadyForNextPhase: Yes`**(安全默认只降低承诺强度),
|
|
195
|
+
该条同时进交付物的 Verification Boundaries。**两个例外见下。**
|
|
196
|
+
- **`defaulted` 且属于 #6 / #10 合同冲突分支 / #12 → 必写 `BlockingGaps`,
|
|
197
|
+
`ReadyForNextPhase: No`:**
|
|
198
|
+
- **#6** 生命周期真实性(无证据的第一人称经历叙事 = 编造,不能降级)
|
|
199
|
+
- **#10** 的合同冲突分支(社区证据与合同硬性要求正面冲突 = 违约风险,须业务方裁决)
|
|
200
|
+
- **#12** 陈旧/残缺证据(交付判定本身就是商业决策)
|
|
201
|
+
- **`defaulted` 且属于 #8,且 planning 侧记了 `D6Status: AwaitingHDP8`
|
|
202
|
+
(任一「合规已解但高风险」板块——探索位或普通分配位——的篇数无法重分配,
|
|
203
|
+
方案仍必须保留它)→ 同样按审批型阻断处理:`ReadyForNextPhase: No`,
|
|
204
|
+
`BlockingGaps` 写 `awaiting-approval: HDP#8`。** 若重分配成功(只记
|
|
205
|
+
`D7Status: AwaitingHDP8`,该探索位被排除出 `LockedPlanID`),#8 仍留在
|
|
206
|
+
`HumanDecisionsOpen`、交付物标 `Incomplete`,但**不阻断**交棒。
|
|
207
|
+
- **`defaulted` 且属于 #1 / #9 → `ReadyForNextPhase: No`,
|
|
208
|
+
`BlockingGaps` 写 `awaiting-approval: HDP#1` / `HDP#9`。** 这两条是**审批型阻断**,
|
|
209
|
+
不是流程 bug:它们的安全默认「不锁板块配比 / 不锁执行表」会让流程停在
|
|
210
|
+
**Phase 4.0 锁表边界**——这是**故意的**,配比与取整没有客观最优解,没人拍板就不该
|
|
211
|
+
有人替他拍。正确行为是**照常产出加权草案 + 取整敏感项清单**然后停,不要为了让流程
|
|
212
|
+
"跑完"而自选一组整数。
|
|
213
|
+
- **`answered` 不自动解除阻断。** 拿到答案只是补上了「人的判断」这一环;#6 仍需真实
|
|
214
|
+
证据、#10 合同分支仍需业务方书面裁决、#12 仍需既有 Hub waiver 或补齐证据。
|
|
215
|
+
答案与证据/waiver 都到齐,才可把该条移出 `BlockingGaps`。
|
|
216
|
+
**收尾要求:**
|
|
217
|
+
|
|
218
|
+
- `HumanDecisionsOpen` 非空(即存在 `defaulted` 条目)时,交付物必须标 `Incomplete`。
|
|
219
|
+
- 交付前 12 条都必须在 `HumanDecisions` 里有 status,**不允许缺条**;没遇到就写
|
|
220
|
+
`not-applicable`,不能省略。
|
|
221
|
+
|
|
222
|
+
| # | 阶段 | 判断 | 为什么不能自动化 | 问什么 | 无答案时的安全默认 |
|
|
223
|
+
| --- | ---------- | ---------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
|
|
224
|
+
| 1 | 启动 | 优化目标权重 | 覆盖 / 存活 / GEO / SKU 配额之间的取舍是商业偏好,没有客观最优解 | 「这一轮首要目标是什么?覆盖面、账号存活、GEO 引用、还是 SKU 配额?排个序」 | **不锁板块配比**;只出候选板块与各自取舍,不写死每板块条数 |
|
|
225
|
+
| 2 | Research | 商品类别边界 | 品类归属是营销判断(wallet chain 算 jewelry 还是 streetwear accessory) | 「这个品算哪个品类?边界上的这几个板块算不算目标人群?」 | **排除弱相关板块**;只保留强相关,被排除项列入 Verification Boundaries |
|
|
226
|
+
| 3 | Profile | flair 语义边界 | 是否合并需要领域知识(如 Chains 与 Question 是不是一回事) | 「这几个 flair 在你们口径里是同一类吗?能不能合并统计?」 | **保留原始 flair,不合并**;无法归类的记 `Unknown`,占比单列 |
|
|
227
|
+
| 4 | Profile | 时间代表性 | 旺季、板块改版、版规变更无法从样本自证——样本看不见自己所处的时段 | 「这段窗口有没有旺季 / 版规变更 / 板块改版?要不要换窗口重采?」 | **分段报告**(按时间切片给结论),**不宣称长期稳定** |
|
|
228
|
+
| 5 | Research | 因果解读 | 「高分帖的共同特征」→「这就是它高分的原因」是推断跃迁,样本不支持 | 「这条特征你们要当因果用吗?还是只当相关性参考?」 | **只写相关性**;禁止在 Master / Brief 里写成"因为 X 所以高分" |
|
|
229
|
+
| 6 | Planning | 生命周期真实性 | 阶段名(到货 / 用了三个月)不能证明这段经历真的发生过 | 「这批账号有没有真实的购买 / 到货 / 使用记录?能出示吗?」 | ⛔ **禁止无证据的第一人称到货 / 开箱 / 体验 / 长期使用断言**(硬阻断)。范围仅限第一人称经历主张——有据可查的规格对比、二手信息综述、公开评测转述不受影响,改走非体验型 `ContentFunction` / `EvidenceShape` 即可 |
|
|
230
|
+
| 7 | Planning | 搜索需求来源 | 一个搜索量数字的口径(地域、时间窗、工具、是否含长尾)无法自证 | 「这些搜索量是哪个工具、哪个地域、哪个时间窗导出的?能给原始文件吗?」 | **删除数字**,该来源**不参与配比计算**;保留定性方向并标来源未证实 |
|
|
231
|
+
| 8 | Planning | 风险预算 | 高删帖率板块要不要试投,是风险偏好,不是数据结论 | 「这几个板块历史删帖率高,要不要试投?能承受几条被删?」 | 分两种情形,**不要混为一谈**:①**合规未解**(compliance `NotRecommended` / 版规明确禁止 / 账号无资格)→ 配额 = 0,这与排期决策程序 D7 的「0 篇」判据同源,不是风险偏好问题;②**合规已解但风险高**(删帖率高 / 社区对推广敏感)→ **只出草案,不进执行表锁定**,其中也包括 D7 的 1 篇探索位(探索位需本条已答复才能锁表;未答复时它停在草案层) |
|
|
232
|
+
| 9 | Planning | 最终整数配比 | 从权重到整数条数的取舍(谁进位谁舍去)是人的偏好 | 「按这个权重算出来是 X 板块 3.4 条,进位到 4 还是压到 3?」 | **不锁执行表**;给出加权草案 + 取整敏感项清单,等确认 |
|
|
233
|
+
| 10 | Brief | GEO 与社区冲突 | 品牌前置利于实体信号,但社区样本显示会被当广告——两个目标真实冲突 | 「标题前置品牌会提高 GEO 命中但拉高删帖风险,这轮偏哪边?合同有没有硬要求?」 | **优先存活**:品牌延后或不露面。若这会让 P-B / PGC 品牌词配额对不上,须**重排配额并重跑 Phase 4.0.6**,不得单方面破配额。**若合同硬性要求品牌前置 → 阻断,升级给业务方** |
|
|
234
|
+
| 11 | Brief | 卖点强度 | Required / Preferred / Optional 是客户意图,不是文案能推导的 | 「这几个卖点里哪些是必须出现的?哪些可有可无?」 | **合同 / 客户材料里已明确写死的保持 Required;其余一律按 Optional 处理**,不得由 agent 自行把某个卖点升为 Required 去卡稿 |
|
|
235
|
+
| 12 | Delivery | 例外与陈旧证据 | 接不接受 stale / partial 交付,是商业决策(赶 deadline vs 等数据) | 「这批证据已过期 / 缺 N 条,是照发还是等补齐?」 | 标 `Incomplete`,**不发布、不排期**;列出缺口与补齐所需动作 |
|
|
236
|
+
|
|
237
|
+
**审计要求:** 每次全流程运行、每个阶段的 `HandoffContract` 都要带
|
|
238
|
+
`HumanDecisionsAsked`(本阶段问过哪几条)与 `HumanDecisionsOpen`(还挂着哪几条
|
|
239
|
+
`defaulted`)。两个字段都不得省略;本阶段无相关条目时显式写
|
|
240
|
+
`None (阶段 X 未涉及)`。
|
|
143
241
|
|
|
144
242
|
## Output Format
|
|
145
243
|
|
|
@@ -149,12 +247,14 @@ For a full-flow startup request:
|
|
|
149
247
|
## RedditStrategyRoute
|
|
150
248
|
- Mode: FullWorkflow
|
|
151
249
|
- SharedFilesToRead:
|
|
152
|
-
- PrerequisitesRead:
|
|
250
|
+
- PrerequisitesRead: N/A (archived v2.12.31)
|
|
153
251
|
- StartupVariables:
|
|
154
252
|
- MissingInputs:
|
|
155
253
|
- PhasePlan:
|
|
156
254
|
- FirstSkillToRun:
|
|
157
255
|
- BlockingGate:
|
|
256
|
+
- HumanDecisionsAsked:
|
|
257
|
+
- HumanDecisionsOpen:
|
|
158
258
|
- DeliveryTarget:
|
|
159
259
|
- ABTestPlan:
|
|
160
260
|
```
|
|
@@ -180,5 +280,7 @@ End every orchestrated phase with:
|
|
|
180
280
|
- MemoryFilesRequired:
|
|
181
281
|
- RequiredFields:
|
|
182
282
|
- BlockingGaps:
|
|
283
|
+
- HumanDecisionsAsked:
|
|
284
|
+
- HumanDecisionsOpen:
|
|
183
285
|
- ReadyForNextSkill: Yes / No
|
|
184
286
|
```
|
|
@@ -12,6 +12,7 @@ This skill is the shared contract layer for the Reddit skill matrix. Read it bef
|
|
|
12
12
|
|
|
13
13
|
- Defines the skill routing matrix.
|
|
14
14
|
- Defines source-of-truth rules for facts, positioning, client constraints, Reddit samples, and subreddit compliance.
|
|
15
|
+
- Defines the SubredditResearchProfile (SRP) contract for subreddit-level research profiles, and the evidence gates `G3` / `G5` / `G6`.
|
|
15
16
|
- Defines required memory files and handoff fields.
|
|
16
17
|
- Defines the mandatory Social Hub post/comment review gate for generated content.
|
|
17
18
|
- Defines the ContentOnly and AccountBound review modes.
|
|
@@ -37,14 +38,15 @@ planning, brief, writing, rewrite, or delivery task**, not on-demand.
|
|
|
37
38
|
- `references/content-type-routing-contract.md` for the mapping chain `客户内容原型 → skill 主帖型 → StructureFamily → rewrite route`, the ordered StructureFamily selection rule, and the hard stop on unmapped client prototype codes. **Mandatory.**
|
|
38
39
|
- `references/content-diversity-contract.md` for fingerprint fields, the rolling-window collision rule, exception approval, `SampleSetID`, draft hash, and the four enforcement layers. **Mandatory.**
|
|
39
40
|
- `references/routing.md` for deciding which matrix skill should handle a user request.
|
|
40
|
-
- `references/evidence-policy.md` for source priority and
|
|
41
|
+
- `references/evidence-policy.md` for source priority, conflict resolution, and the evidence gates `G3` (URL 存活状态三字段), `G5` (来源职责矩阵), `G6` (fail-closed 适用面与例外).
|
|
42
|
+
- `references/subreddit-research-profile.md` for the **SubredditResearchProfile (SRP)** contract — schema, sampling-frame rules (`TopN` may not carry `flairDistribution`), denominator invariants, `claimScope`, per-field TTL, the S1–S9 procedure, and the skill-freezes-contract / Hub-stores-instances split. **Required reading for any research, compliance, brief, or planning task that consumes subreddit-level conclusions.** SRP does not decide subreddit eligibility — `reddit-subreddit-compliance` still does.
|
|
41
43
|
- `references/handoff-schemas.md` for required memory and output contracts.
|
|
42
44
|
- `references/context-contract.md` for startup variables and project memory layout.
|
|
43
45
|
- `references/content-review-gate.md` for the mandatory Hub review, revision loop, and memory record.
|
|
44
46
|
- `references/safety-rules.md` for Feishu, Geoly, Reddit, evidence, and phase-control safety gates.
|
|
45
47
|
- `references/path-conventions.md` for macOS/Linux and Windows installed skill paths.
|
|
46
48
|
- `references/version-manifest.md` for matrix package contents and copied skill sources.
|
|
47
|
-
- `references/prerequisites
|
|
49
|
+
- `references/prerequisites/README.md` 是**索引,不含规则**:可读,但**不是必读**,也不得当作规则来源(主要用于人工查阅历史背景与「谁是权威」的转发)。该目录下的 `archive/` 是 `AgentReadPolicy: DoNotRead` —— 四份 legacy SOP 文件已归档,**agent 不得读取、不得引用,引用即 gate failure**。它们的四段式正文结构、标题公式、格式清单与 14 字段执行表已在 v2.12.25 删除;替代关系见 `references/context-contract.md` 的 legacy-scope 表。
|
|
48
50
|
|
|
49
51
|
## Core Rule
|
|
50
52
|
|
|
@@ -260,9 +260,25 @@ FixOwnerSkill: reddit-phase-brief
|
|
|
260
260
|
6. 对该文本取小写十六进制 SHA-256,取前 8 位。
|
|
261
261
|
|
|
262
262
|
对应 baseline manifest 至少包含:subreddit、`AcquiredAt`、`BaselineMaxAgeDays`、
|
|
263
|
-
`ValidUntil`、query/sort/时间范围、URL
|
|
264
|
-
|
|
265
|
-
|
|
263
|
+
`ValidUntil`、query/sort/时间范围、URL 列表、有效样本数,以及**全部 10 个风格维度**
|
|
264
|
+
(缺任一项 = `BaselineStatus: Incomplete`,不得用默认值顶替):
|
|
265
|
+
|
|
266
|
+
1. word count 中位数 + IQR
|
|
267
|
+
2. 段落数中位数
|
|
268
|
+
3. 标题长度与句式分布
|
|
269
|
+
4. 列表 / 小标题使用率
|
|
270
|
+
5. 品牌首次出现位置分布(四档直方图 + `ComparableSampleCount` + `BrandMentionSampleCount` +
|
|
271
|
+
`NoBrandMentionRate`;「不出现」不是直方图的一档)
|
|
272
|
+
6. 提问式结尾比例
|
|
273
|
+
7. 是否常见 TL;DR
|
|
274
|
+
8. 第一人称比例
|
|
275
|
+
9. 评测帖与问题帖长度差异
|
|
276
|
+
10. **破折号 / 括号使用分布**(频次或使用率)—— 标点冲突消解依据,不设跨板块统一禁令
|
|
277
|
+
|
|
278
|
+
> 第 10 项与前 9 项同权:它进 manifest,因此它的变化**改变 `SampleSetID`**。
|
|
279
|
+
> 维度清单的权威副本是 writing 侧 `reddit-content-writing/references/phase4-writing.md` 的
|
|
280
|
+
> W-1.b 表与 `reddit-phase-brief/references/phase4-brief-workflow.md` 步骤 B-1.0;
|
|
281
|
+
> 三处必须一致,共 10 项,不是 9 项。
|
|
266
282
|
|
|
267
283
|
> **避免自引用:** 规范化 hash 的输入**排除**派生字段 `ManifestSha256` 与
|
|
268
284
|
> `SampleSetID` 本身。先对不含这两项的规范化文本取 SHA-256,再把完整 hash 与
|
|
@@ -12,7 +12,8 @@ Full-flow strategy work must collect or confirm:
|
|
|
12
12
|
- Deliverable type and volume
|
|
13
13
|
- Delivery target: Feishu folder/doc link, local Markdown only, or both
|
|
14
14
|
- Whether strict A/B testing is required
|
|
15
|
-
- If A/B is required: single test variable, A/B group symmetry, and whether external comments are excluded from the main A/B sample
|
|
15
|
+
- If A/B is required: single test variable, A/B group symmetry, and whether external comments are excluded from the main A/B sample (**default: excluded** — external comments are supplementary observation only; readout rule in `reddit-phase-planning/references/phase4-planning.md` Phase 4.0.5)
|
|
16
|
+
- Contract pricing unit: whether the contract is priced in 「量」(a unit that bundles posts and self-comments, e.g. 1 post + 3 self-comments = 1 unit — posts and comments are not the same cost unit and are never simply summed) or in direct post/comment counts; plus the total allowance and the confirmation source (Phase 4.0.0.0 blocks the quantity plan until this is confirmed; never assume an example ratio)
|
|
16
17
|
- Whether competitor mentions are allowed
|
|
17
18
|
- Review mode when content is generated: ContentOnly if the final publishing account is not selected; AccountBound only after the real account and approved brand context are known
|
|
18
19
|
- Brief approval mode: client review first, internal confirmation only, or unknown
|
|
@@ -24,19 +25,40 @@ Full-flow strategy work must collect or confirm:
|
|
|
24
25
|
|
|
25
26
|
## Startup Prerequisites
|
|
26
27
|
|
|
27
|
-
For full-flow projects, read the shared contracts
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
For full-flow projects, read the shared contracts (`routing.md`, `evidence-policy.md`,
|
|
29
|
+
`context-contract.md`, `handoff-schemas.md`, `safety-rules.md`) — **and nothing else** before Phase 0.
|
|
30
|
+
|
|
31
|
+
**Phase-scoped contracts (read on entering the phase that consumes them, not at startup):**
|
|
32
|
+
|
|
33
|
+
| Contract | Read before | Owner / consumers |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| `references/content-type-routing-contract.md` | Phase 4 Brief structure routing | brief / writing / rewrite / delivery |
|
|
36
|
+
| `references/content-diversity-contract.md` | Phase 4 Brief baseline + fingerprint | brief / writing / rewrite / delivery |
|
|
37
|
+
| `references/subreddit-research-profile.md` (SRP) | Phase 0.5 step 0.5.5, and any compliance / brief / planning step that consumes subreddit-level conclusions | research produces; compliance / planning / brief consume |
|
|
38
|
+
| `reddit-phase-planning/references/scheduling-decision-procedure.md` (D1–D7) | Phase 4.0.0.4 board quantity planning | planning owns; brief reads `memory/phase4-排期决策台账.md`, not the procedure |
|
|
39
|
+
|
|
40
|
+
Keeping these out of the startup read is deliberate: the startup budget is the five
|
|
41
|
+
shared contracts above. Loading a phase contract early is not a gate failure, but
|
|
42
|
+
skipping it when its phase starts is.
|
|
43
|
+
|
|
44
|
+
> **⛔ 那四份 prerequisite 文件已归档,agent 不得读取。**
|
|
45
|
+
> `reddit-strategy-prerequisites-read.md` / `reddit-strategy-reuse-playbook.md` /
|
|
46
|
+
> `reddit-sop-v2-universal.md` / `reddit-master-canvas-agent-prompt-template.md` 已移入
|
|
47
|
+
> `references/prerequisites/archive/`(`AgentReadPolicy: DoNotRead`)。
|
|
48
|
+
>
|
|
49
|
+
> **为什么**:这四份共 1,994 行,占全流程强制阅读量的 80%,而它们自己声明
|
|
50
|
+
> `LegacyStatus: Superseded`、"Do not execute any gate, schema, or structure rule found in them"
|
|
51
|
+
> —— 同时其中的规则又与 active 文件里的硬规则**逐条重复**。一份"声明不作数、内容却一致"的
|
|
52
|
+
> 文本进入上下文,模型无从区分哪句该执行,只会稀释真正的门禁。
|
|
53
|
+
>
|
|
54
|
+
> 需要人工查阅历史背景时见 `references/prerequisites/README.md`(该 README 可读、非必读,
|
|
55
|
+
> 只做转发与真空登记)。**active 文档不得再要求 agent 读取 archive 内容,引用即 gate failure。**
|
|
35
56
|
|
|
36
57
|
**v2.12.25 legacy scope (binding).** `reddit-strategy-reuse-playbook.md` and
|
|
37
58
|
`reddit-sop-v2-universal.md` are marked `LegacyStatus: Superseded` /
|
|
38
|
-
`UseAsWritingGate: No` / `UseAsPlanningGate: No
|
|
39
|
-
|
|
59
|
+
`UseAsWritingGate: No` / `UseAsPlanningGate: No`, and they are now under
|
|
60
|
+
`prerequisites/archive/` with `AgentReadPolicy: DoNotRead` — **agents do not read
|
|
61
|
+
them at all** (human historical reference only). Never take from them: post structure, opening-sentence form, title formulas,
|
|
40
62
|
per-paragraph format checklists, or the execution-table schema. Their
|
|
41
63
|
four-paragraph body structure, title-formula section, format-prohibition
|
|
42
64
|
checklist, and 14-field table were **deleted** in v2.12.25. The replacements are:
|
|
@@ -61,6 +83,7 @@ Use `memory/` as the working truth store:
|
|
|
61
83
|
- `phase2-缺口分析.md`
|
|
62
84
|
- `phase3-master-canvas摘要.md`
|
|
63
85
|
- `phase4-board-quantity-plan.md`
|
|
86
|
+
- `phase4-排期决策台账.md`
|
|
64
87
|
- `phase4-sku-基准表.md`
|
|
65
88
|
- `phase4-执行表.md`
|
|
66
89
|
- `phase4-external-post-audit.md`
|
|
@@ -88,6 +111,17 @@ Use `memory/` as the working truth store:
|
|
|
88
111
|
- Phase 2 must write `phase2-缺口分析.md`.
|
|
89
112
|
- Phase 3 must write `phase3-master-canvas摘要.md` and confirm all 21 Master Canvas boards.
|
|
90
113
|
- Phase 4.0.0 must write `phase4-board-quantity-plan.md` and `phase4-sku-基准表.md`.
|
|
114
|
+
- Phase 4.0.0.4 must run the D1–D7 scheduling decision procedure
|
|
115
|
+
(`reddit-phase-planning/references/scheduling-decision-procedure.md`) and write
|
|
116
|
+
`phase4-排期决策台账.md`: one row per planned post keyed by execution-table `Key`, all 9 fields
|
|
117
|
+
present, including `ProposedFlair` (the execution table has no flair column). Owner:
|
|
118
|
+
`reddit-phase-planning`. `reddit-phase-brief` reads it to verify and lock `AssignedFlair`;
|
|
119
|
+
a missing ledger or `ProposedFlair` is a `BlockingGap` back to planning, not a licence for the
|
|
120
|
+
Brief to pick its own flair.
|
|
121
|
+
- Phase 0.5 step 0.5.5 must produce one `SubredditResearchProfile`
|
|
122
|
+
(`references/subreddit-research-profile.md`) per passing subreddit alongside
|
|
123
|
+
`phase0.5-board-analysis.md`; boards with no SRP are declared `SRPMode: Fallback` downstream,
|
|
124
|
+
which is **not** the same as `confidence: Insufficient`.
|
|
91
125
|
- Phase 4.0 must write `phase4-执行表.md`; if external comment URLs exist, EPA results must be recorded in `phase4-external-post-audit.md` or as an `外部核验` control column.
|
|
92
126
|
- Phase 4.0.6 must write `phase4-SKU品牌词映射.md` and `phase4-撰写批次map.md`.
|
|
93
127
|
- Phase 4 Brief must write `phase4-内容排期表.md` and `phase4-撰写brief.md`; writing cannot start until the required Brief approval phrase is present.
|