# tasks

id: t_937a8ac9
title: 01 research: validate AI coding pricing keyword cluster and SERP opportunity
assignee: motan
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_937a8ac9
tenant: site-aicodingpricing-20260521
skills: ["projects/site-research"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Deliverables:
  - Write market/keyword opportunity report to /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/research/opportunity-report.md
  - Validate provided DataForSEO numbers; run SERP spot checks for top pages: claude code pricing, codex pricing, claude code vs codex, claude code vs cursor, cursor pricing, codex usage.
  - Classify keyword clusters into P0/P1/P2 and index/canonical/redirect policy.
  - Identify Top 3-5 SERP competitors per cluster and whether independent/small sites can enter.
  - Metadata: selected_keyword_cluster, total_volume_estimate, p0_pages, serp_risks, artifact_paths.

idempotency_key:
  site-aicodingpricing-20260521:01 research: validate AI coding pricing keyword cluster and SERP opportunity


id: t_b385646b
title: 02 seo: SERP/GEO/AEO baseline for AI coding pricing hub
assignee: moyin
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_b385646b
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:02 seo: SERP/GEO/AEO baseline for AI coding pricing hub
skills: ["projects/site-seo-review"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Deliverables:
  - Write SEO/GEO baseline to /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/seo/serp-geo-baseline.md
  - For each proposed URL, define primary keyword, semantic variants, search intent, title/meta, schema type, canonical/redirect/noindex policy.
  - Pay special attention to duplicate pairs: codex-vs-claude-code, cursor-vs-claude-code.
  - Include AI-citation/GEO answer blocks and short-answer strategy.
  - Metadata: route_contract, seo_matrix_path, canonical_map, artifact_paths.


id: t_bfe1db04
title: 03 prd: AI Coding Pricing Hub PRD v1 and route contract
assignee: moce
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_bfe1db04
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:03 prd: AI Coding Pricing Hub PRD v1 and route contract
skills: ["projects/site-building"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read parents research + SEO. Deliver:
  - Full PRD: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/prd/prd-aicodingpricing-20260521.md
  - Route Contract: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/prd/route-contract.json
  - Product scope: hub + calculators + comparison pages + pricing/limits changelog + newsletter capture.
  - Define Competitive Minimum, core user tasks, NOT-DO, IA, acceptance criteria, analytics events.
  - Must include SEO-Copy Freeze requirements and downstream handoff summary.
  - Metadata: prd_path, route_contract_path, site_type, user_tasks, not_do, downstream_inputs.


id: t_2467e60c
title: 04 pricing: monetization and pricing strategy for AI coding pricing hub
assignee: mozhang
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_2467e60c
tenant: site-aicodingpricing-20260521
skills: ["projects/site-pricing"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read PRD. Deliver:
  - Pricing/monetization report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/pricing/pricing-report.md
  - Decide whether v1 should monetize via newsletter/affiliate/sponsorship/Pro alerts/API export; do not force Stripe if not justified.
  - Define free vs paid gates if any, cost model, ROI scenarios, conversion CTAs.
  - Metadata: pricing_report_path, monetization_model, free_limits, paid_limits, risks.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.

idempotency_key:
  site-aicodingpricing-20260521:04 pricing: monetization and pricing strategy for AI coding pricing hub


id: t_ed27bf00
title: 05 compliance: trademark, affiliate, pricing-data and policy constraints
assignee: modun
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_ed27bf00
tenant: site-aicodingpricing-20260521
skills: ["compliance-review"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read PRD. Deliver:
  - Compliance/IP policy report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/compliance/compliance-report.md
  - Cover brand/trademark nominative fair use for Claude Code, Codex, Cursor, GitHub Copilot; disclaimers; logo/material policy; pricing-data freshness disclaimers; affiliate disclosure; privacy/ToS requirements.
  - Define prohibited copy and required footer/page disclaimers.
  - Metadata: compliance_report_path, forbidden_claims, required_disclaimers, policy_pages, risks.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.

idempotency_key:
  site-aicodingpricing-20260521:05 compliance: trademark, affiliate, pricing-data and policy constraints


id: t_14f52354
title: 06 copy: SEO-Copy Freeze for all indexable pages
assignee: mobi
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_14f52354
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:06 copy: SEO-Copy Freeze for all indexable pages
skills: ["site-copy"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read PRD + pricing + compliance. Deliver:
  - SEO-Copy Freeze package: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/copy/seo-copy-freeze.md and machine-readable /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/copy/page-copy-matrix.json
  - For every indexable route: final H1/H2/H3, above-fold copy, sections, FAQ, schema copy, target word count, density/semantic coverage, design placement priority.
  - Must not omit SEO body due to design concerns; mark fold/collapse/lower-page placement instead.
  - Metadata: seo_copy_frozen=true, copy_matrix_path, word_count_targets, indexable_routes, artifact_paths.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_ea50ca95
title: 07 design: Stitch high-fidelity design based on frozen copy
assignee: moying
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_ea50ca95
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:07 design: Stitch high-fidelity design based on frozen copy
skills: ["projects/site-design"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read SEO-Copy Freeze package. Use official Stitch SDK where available. Deliver:
  - Design handoff: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/design/HANDOFF.md
  - Content-fit matrix: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/design/content-fit-matrix.md
  - Stitch/screen index: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/stitch/screen-index.json
  - Desktop + mobile HTML/screenshots for homepage, pricing pages, comparison page, changelog, calculator states, newsletter capture.
  - Do not delete/cut frozen copy. Use accordions, lower sections, cards, tabs, drawers.
  - Metadata: artifact_paths, stitch_project, screen_index, content_fit_matrix, verification.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_e6ac989f
title: 08 backend/data: pricing dataset, changelog schema, calculator logic
assignee: moshu
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_e6ac989f
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:08 backend/data: pricing dataset, changelog schema, calculator logic
skills: ["projects/backend-site-build"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read PRD + pricing + compliance. Deliver machine-readable data contract for frontend:
  - /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/data/frontend-contract.json
  - pricing/providers seed data with source/provenance/freshness fields
  - calculator formulas for subscription vs API vs seat cost comparisons
  - changelog schema and update workflow
  - If live scraping/API is unsafe or unavailable, create honest manual-update data model and freshness UI requirements.
  - Metadata: frontend_contract_path, data_files, update_policy, source_policy, verification.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_9085ad91
title: 09 frontend: implement AI Coding Pricing site on Cloudflare stack
assignee: mojie
status: done
created_by: xiaomo-host
workspace_kind: dir
workspace_path: /root/projects
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:09 frontend: implement AI Coding Pricing site on Cloudflare stack
skills: ["projects/frontend-site-build"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read design + backend/data contract. Build under /root/projects/aicodingpricing unless an existing repo is found.
  Hard requirements:
  - Next.js/Astro on Cloudflare Pages per fleet convention.
  - Implement route matrix, canonical redirects, calculators, comparison tables, changelog, newsletter capture shell, policy pages.
  - Mobile-first, no horizontal overflow at 390/430px.
  - Commit + push + deploy from same commit; provide Crawler Hints evidence if deployment/CF zone is configured here.
  - Metadata: repo_path, commit_sha, pushed_branch, deploy_url, deployment_source_commit, git_status_after, crawler_hints_evidence.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_0b4bdc72
title: 10 seo recheck: technical SEO/GEO after implementation
assignee: moyin
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_0b4bdc72
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:10 seo recheck: technical SEO/GEO after implementation
skills: ["projects/site-seo-review"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read frontend deployment metadata. Deliver:
  - Technical SEO/GEO recheck: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/seo/final-seo-recheck.md
  - Verify sitemap, robots, canonical/redirects, schema, metadata, index/noindex, internal links, page content depth, AI citation blocks.
  - Metadata: seo_verdict=GO|NO_GO, blockers, artifact_paths, verified_routes.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_95daa803
title: 11 compliance recheck: production policy/trademark/privacy verification
assignee: modun
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_95daa803
tenant: site-aicodingpricing-20260521
skills: ["compliance-review"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read frontend deployment metadata. Deliver:
  - Final compliance recheck: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/compliance/final-compliance-recheck.md
  - Verify disclaimers, no official affiliation claims, logo usage, affiliate disclosure if any, privacy/terms pages, cookie/analytics disclosures.
  - Metadata: compliance_verdict=GO|NO_GO, blockers, artifact_paths.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.

idempotency_key:
  site-aicodingpricing-20260521:11 compliance recheck: production policy/trademark/privacy verification


id: t_f1758ded
title: 12 pm acceptance: product gate before QA
assignee: moce
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_f1758ded
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:12 pm acceptance: product gate before QA
skills: ["projects/site-building"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read PRD, frontend, SEO recheck, compliance recheck. Deliver:
  - PM acceptance report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/pm/product-acceptance.md
  - Verdict must be PM_GO / PM_CONDITIONAL_GO / PM_NO_GO.
  - Verify PRD still holds, competitive minimum, real user tasks, scope not downgraded, residual risks.
  - Metadata: pm_verdict, competitive_minimum_verdict, verified_user_tasks, blocker_count, next_gate=motest_qa.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_108bbf98
title: 13 qa: real-user-task final QA for AI Coding Pricing site
assignee: motest
status: blocked
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_108bbf98
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:13 qa: real-user-task final QA for AI Coding Pricing site
skills: ["projects/site-qa"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read PM acceptance and production/preview URL. Deliver:
  - QA report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/qa/final-qa.md
  - Test homepage, calculators, pricing pages, comparison pages, changelog, newsletter capture, mobile 390/430, redirects/canonical pairs.
  - Use browser where needed. QA_GO alone does not unlock launch; owner review gate follows.
  - Metadata: qa_verdict=QA_GO|QA_NO_GO, p0_issues, p1_issues, verified_routes, screenshots, artifact_paths.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_793aae51
title: 14 owner review gate: wait for Meng Jian approval before launch
assignee: moce
status: blocked
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_793aae51
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:14 owner review gate: wait for Meng Jian approval before launch
skills: ["projects/site-building"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Read QA report. Send/prepare owner-facing review summary with URL, core pages/tasks, QA verdict, P0/P1/P2 issues, residual risks, explicit reply options.
  Then block with WAITING_OWNER_SITE_APPROVAL unless user approval is already explicitly present for this exact deployment.
  Metadata when approved must include owner_approval=confirmed.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_483a4cad
title: 15 launch: GSC/Bing submission, Crawler Hints verification, cold start package
assignee: moyun
status: blocked
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_483a4cad
tenant: site-aicodingpricing-20260521
skills: ["projects/site-launch"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  Only proceed after owner approval metadata. Deliver:
  - Launch report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/launch/launch-report.md
  - Verify production, Cloudflare Crawler Hints checked/value=true, submit sitemap to GSC/Bing if property access exists, prepare cold-start/listing/newsletter package.
  - External publishing/submission that posts publicly must wait for explicit owner confirmation if not already covered.
  - Metadata: launch_verdict, production_url, crawler_hints_evidence, gsc_status, bing_status, cold_start_package, artifact_paths.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.

idempotency_key:
  site-aicodingpricing-20260521:15 launch: GSC/Bing submission, Crawler Hints verification, cold start package


id: t_7a263660
title: 16 data review: post-launch metrics watch and iterate/kill/scale setup
assignee: moxi
status: done
created_by: xiaomo-host
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_7a263660
tenant: site-aicodingpricing-20260521
skills: ["projects/site-data-review"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 做站流水线专职 Agent；不闲聊、不泛泛建议、不跳步。必须先加载并遵守绑定 skill；缺关键输入就 block，不得编造；完成时写 structured summary + JSON metadata。

  Project: AI Coding Pricing / Cost Hub
  Slug: aicodingpricing
  Domain: aicodingpricing.com（用户已注册）
  Tenant: site-aicodingpricing-20260521
  Target: US / English
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  User-confirmed input file: /tmp/aicodingpricing_input_20260521.md

  核心约束：
  - 主域名是通用 Hub；品牌词只做页面 slug，不做主域名。
  - SEO 主入口是 Claude Code / Codex / Cursor / Copilot pricing、usage、limits、vs 对比词；calculator 是转化和停留工具，不是主词。
  - 品牌词页面必须是事实性、对比性、nominative fair use；不得冒充官方，不得使用未授权 logo/商标素材。
  - pricing/limits 更新频繁，必须设计 changelog/freshness/newsletter 机制。
  - SEO-Copy Freeze Gate：所有 indexable 页面的 final copy、H1/H2/H3、FAQ、schema、目标词数必须在设计前冻结。
  - Cloudflare Crawler Hints 是上线前硬闸门；部署阶段必须提供 checked/value=true evidence。
  - 任何代码/部署任务必须 commit + push + deploy，同一 commit 验证生产/preview。

  用户输入摘要：
  # AI Coding Pricing / Cost Hub — 用户确认输入

  - Domain: `aicodingpricing.com`（用户已注册）
  - Target market: US / English
  - Data source: DataForSEO Google Ads, US / English, trailing 12 months
  - Strategic rule: 主域名不能用品牌词；通用域名做 Hub，品牌词只放页面 slug。
  - Core thesis: 不靠 `ai coding cost calculator` 泛词起量；真正入口是品牌 pricing / usage / limits / vs 对比词。Calculator 用来提高停留、转化和差异化；changelog 抢更新型长尾；newsletter 承接反复变化的 pricing / limits。

  ## Keyword cluster

  - claude code pricing: 27,100/mo, CPC $6.42, competition LOW, KD 13. Judgment: 主入口，必须抢
  - cursor pricing: 12,100/mo, CPC $2.92, competition LOW, KD 18. Judgment: 可做，但官方/已有内容较多
  - claude code vs cursor: 8,100/mo, CPC $17.46, competition LOW, KD 0. Judgment: 高优先级对比页
  - codex vs claude code: 8,100/mo, CPC $93.36, competition LOW, KD 14. Judgment: 极高商业意图
  - codex usage: 6,600/mo, CPC $41.54, competition LOW, KD 3. Judgment: explain + calculator
  - cursor vs claude code: 6,600/mo, CPC $23.12, competition LOW, KD 0. Judgment: 同义页/别名页覆盖
  - claude code cost: 4,400/mo, CPC $11.40, competition LOW, KD 49. Judgment: 有量但难
  - claude code vs codex: 3,600/mo, CPC $166.84, competition LOW, KD 11. Judgment: 超高价值页
  - codex pricing: 3,600/mo, CPC $25.97, competition MEDIUM, KD 5. Judgment: 主入口之一
  - claude code limits: 1,300/mo, CPC $15.76, competition LOW, KD 28. Judgment: 长尾入口
  - claude code usage limits: 880/mo, CPC $20.11, competition LOW, KD 26. Judgment: FAQ + calculator
  - codex limits: 590/mo, CPC $50.61, competition LOW. Judgment: 小但值钱
  - llm pricing calculator: 30/mo, CPC $3.32. Judgment: 只能辅助页

  Total stated cluster search volume: ~97.5K/mo.

  ## Domain strategy

  Registered chosen domain: `aicodingpricing.com`.
  Avoid brand-term domains: `claudecodepricing.com`, `codexpricing.com`, `claudevscodex.com`, `chatgptcodexlimits.com`.

  ## Proposed URL matrix

  - `/` — AI Coding Cost Calculator / headline: "Compare AI coding tool costs before you upgrade"
  - `/claude-code-pricing`
  - `/claude-code-usage-limits`
  - `/claude-code-cost`
  - `/codex-pricing`
  - `/codex-usage`
  - `/codex-limits`
  - `/claude-code-vs-codex`
  - `/codex-vs-claude-code` — 301 or canonical to `/claude-code-vs-codex`
  - `/claude-code-vs-cursor`
  - `/cursor-vs-claude-code` — 301 or canonical to `/claude-code-vs-cursor`
  - `/codex-vs-cursor`
  - `/cursor-pricing`
  - `/github-copilot-pricing` — P1, harder
  - `/github-copilot-vs-cursor`
  - `/claude-max-vs-pro`
  - `/chatgpt-pro-vs-claude-max`
  - `/api-vs-subscription`
  - `/pricing-changelog`
  - `/codex-pricing-changelog`
  - `/claude-code-pricing-changelog`

  ## Product direction

  - Hub + calculator + comparison + changelog + newsletter.
  - Must handle branded pages carefully: factual, nominative fair use, no official affiliation, no logo misuse unless safe.
  - Pricing/limits change frequently; freshness/changelog is core product value.
  - Design/copy must not bury SEO content; SEO-Copy Freeze required before Stitch design.
  - Cloudflare Crawler Hints is a launch hard gate.

  After launch, set up first review package:
  - Analytics/event plan verification
  - 7/14/30 day review criteria for keyword ranking, traffic, calculator usage, newsletter conversion
  - Create follow-up tasks if early data needs fixes.
  Metadata: review_plan_path, metrics, thresholds, next_review_schedule.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.

idempotency_key:
  site-aicodingpricing-20260521:16 data review: post-launch metrics watch and iterate/kill/scale setup


id: t_64346f98
title: [CONT] [SDK Clean 08 墨运] 上线 + GSC/Bing + 冷启动，仅在 PM_GO + QA_GO 后
assignee: moyun
status: blocked
created_by: budget-continuation-watchdog
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_64346f98
tenant: site-rerun-subnautica2maps-20260520-stitch-sdk-clean
idempotency_key: budget-continuation-t_208b5a7d
skills: ["projects/site-launch"]
body:
  GOAL MODE / automatic narrow continuation after iteration-budget exhaustion.

  Original task: `t_208b5a7d`
  Original title: [SDK Clean 08 墨运] 上线 + GSC/Bing + 冷启动，仅在 PM_GO + QA_GO 后
  Original assignee: `moyun`
  Original latest summary: Iteration budget exhausted (60/60) — task could not complete within the allowed iterations
  Original parents reused for this continuation: `t_5dba8672`

  This is NOT a restart. Continue from the artifacts, repo/workspace state, logs, and dirty changes produced by `t_208b5a7d`. First inspect the original task log and current workspace, then finish only the missing closeout work.

  Required actions:
  1. Read original task details/logs: `hermes kanban --board site-factory show t_208b5a7d --json` and board log if present.
  2. Inspect workspace/repo state and existing artifacts before changing anything.
  3. Preserve useful completed work; remove accidental/generated noise.
  4. Run the original acceptance gates that are still missing.
  5. If code was modified: complete the full sync loop — `git status --short` before/after, lint/build/test/verify, conventional commit, push, deploy from the same commit, production/preview smoke.
  6. Complete this continuation with structured metadata: `continued_from`, `artifact_paths`, `verification`, `commit_sha` if applicable, `deploy_url` if applicable, `git_status_after`, `residual_risk`, `next_inputs`.
  7. If blocked, block with the exact failing command/output and what owner/profile must fix.

  Downstream tasks originally waiting on `t_208b5a7d` at creation time:
  - `t_c5d9d511` todo @moxi: [SDK Clean 09 墨析] 数据复盘口径接管：上线后指标与地图使用事件

  The budget-continuation watchdog may rewire non-terminal children from the exhausted task to this continuation. Do not mark the original exhausted task done just to unlock children.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5867` (`做站 · subnautica2maps`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5867', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_7819a420
title: [Frontend Follow-up 墨介] Apply Subnautica2Maps inner-page Stitch design refresh
assignee: mojie
status: blocked
created_by: moying
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_7819a420
tenant: site-rerun-subnautica2maps-20260520-stitch-sdk-clean
skills: ["projects/frontend-site-build"]
body:
  Parent design refresh: t_13066796.

  Use the new Subnautica2Maps inner-page Stitch design refresh package as visual guidance for frontend iteration.

  Artifacts:
  - /root/.hermes/kanban/boards/site-factory/workspaces/t_13066796/reports/site-pipeline/site-rerun-subnautica2maps-20260520-stitch-sdk-clean/subnautica2maps/design-refresh-inner-pages/HANDOFF.md
  - /root/.hermes/kanban/boards/site-factory/workspaces/t_13066796/reports/site-pipeline/site-rerun-subnautica2maps-20260520-stitch-sdk-clean/subnautica2maps/design-refresh-inner-pages/content-fit-matrix.md
  - /root/.hermes/kanban/boards/site-factory/workspaces/t_13066796/reports/site-pipeline/site-rerun-subnautica2maps-20260520-stitch-sdk-clean/subnautica2maps/design-refresh-inner-pages/stitch-screen-index.json
  - HTML visual truths under html/ and screenshots under screens/.

  Priority implementation targets:
  1. /map bottom-sheet density at 390px and marker density at 1440px, matching QA residual P2 items.
  2. Resource detail template hierarchy: answer-first, filtered-map CTA, coordinate table, source/provenance, route clue.
  3. Guides and policy pages: preserve distinct answer/task/legal/privacy/terms hierarchy from the handoff.

  Constraints:
  - Do not add unimplemented /biomes, /blueprints, /locations routes to sitemap until route + data + copy exist.
  - Do not use official game assets, copied tiles, official logos/key art/screenshots, or hotlinked thumbnails.
  - Commit/push/deploy must be source-synced if code changes are made.


id: t_c176e3f9
title: [CONT] [Frontend Follow-up 墨介] Apply Subnautica2Maps inner-page Stitch design refresh
assignee: mojie
status: done
created_by: budget-continuation-watchdog
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_c176e3f9
tenant: site-rerun-subnautica2maps-20260520-stitch-sdk-clean
idempotency_key: budget-continuation-t_7819a420
skills: ["projects/frontend-site-build"]
body:
  GOAL MODE / automatic narrow continuation after iteration-budget exhaustion.

  Original task: `t_7819a420`
  Original title: [Frontend Follow-up 墨介] Apply Subnautica2Maps inner-page Stitch design refresh
  Original assignee: `mojie`
  Original latest summary: Iteration budget exhausted (60/60) — task could not complete within the allowed iterations
  Original parents reused for this continuation: `t_13066796`

  This is NOT a restart. Continue from the artifacts, repo/workspace state, logs, and dirty changes produced by `t_7819a420`. First inspect the original task log and current workspace, then finish only the missing closeout work.

  Required actions:
  1. Read original task details/logs: `hermes kanban --board site-factory show t_7819a420 --json` and board log if present.
  2. Inspect workspace/repo state and existing artifacts before changing anything.
  3. Preserve useful completed work; remove accidental/generated noise.
  4. Run the original acceptance gates that are still missing.
  5. If code was modified: complete the full sync loop — `git status --short` before/after, lint/build/test/verify, conventional commit, push, deploy from the same commit, production/preview smoke.
  6. Complete this continuation with structured metadata: `continued_from`, `artifact_paths`, `verification`, `commit_sha` if applicable, `deploy_url` if applicable, `git_status_after`, `residual_risk`, `next_inputs`.
  7. If blocked, block with the exact failing command/output and what owner/profile must fix.

  Downstream tasks originally waiting on `t_7819a420` at creation time:
  - none

  The budget-continuation watchdog may rewire non-terminal children from the exhausted task to this continuation. Do not mark the original exhausted task done just to unlock children.


id: t_9878762b
title: [Kanban-only 墨运] Subnautica2Maps 第一波冷启动分发队列（仅准备，不发布）
assignee: moyun
status: done
created_by: xiaomo-host
workspace_kind: dir
workspace_path: /root/projects/subnautica2maps
tenant: site-rerun-subnautica2maps-20260520-stitch-sdk-clean
idempotency_key: subnautica2maps-kanban-only-distribution-queue-20260521
skills: ["projects/site-launch"]
body:
  GOAL MODE / Kanban-only site-launch workflow. Do not use Telegram @bot direct dispatch for execution.

  Context:
  - Site: https://subnautica2maps.com
  - Repo: /root/projects/subnautica2maps
  - Canonical upstream owner gate: t_5dba8672 (OWNER_ACCEPTED)
  - Prior launch continuation t_64346f98 had useful artifacts but was blocked on Bing/Plausible API credentials; Host has since verified Plausible by browser dashboard and event injection. Treat API 403 as not a blocker for preparing the distribution queue.
  - Existing artifacts to read first:
    - /root/projects/subnautica2maps/data/subnautica2maps/baseline.md
    - /root/projects/subnautica2maps/data/subnautica2maps/cold-start-pack.md
    - /root/projects/subnautica2maps/data/subnautica2maps/experiments.md
    - /root/projects/subnautica2maps/data/subnautica2maps/moyun-distribution-baton.md
    - t_64346f98 comments/artifacts if useful

  Task:
  Prepare the first-wave cold-start distribution queue as a Kanban deliverable. Do NOT publish externally. Do NOT post comments/replies on Reddit/Steam/YouTube/X/HN. The output is a queue for Meng Jian approval, not execution.

  Required output:
  - Write a concise distribution queue file in the repo, preferably /root/projects/subnautica2maps/data/subnautica2maps/distribution-queue.md
  - Include channel, exact target URL/community/thread/video if known, fit score, angle, draft copy/reference to existing copy, risk notes, and whether it needs owner approval.
  - Prioritize game/player intent channels over AI directories.
  - Mark `external_posts_published:false` explicitly.
  - Include a recommended first batch of 3-5 actions only.
  - Complete Kanban with structured metadata: artifact_paths, recommended_first_batch, external_posts_published:false, approval_required:true, residual_risk, next_inputs.

  Visibility:
  - Progress visibility should be through Kanban state/comments and the site topic only; no direct @ dispatch.
  - If sending status to Telegram topic is available in your toolset, use target `telegram:-1003750190535:5867`; otherwise put the status in Kanban comments.


id: t_9319be77
title: Fix P0 Privacy/Terms blockers from final compliance recheck
assignee: mojie
status: done
created_by: modun
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521-policy-p0-fix
skills: ["projects/frontend-site-build"]
body:
  Project: AI Coding Pricing / Cost Hub
  Tenant: site-aicodingpricing-20260521
  Repo: /root/projects/aicodingpricing
  Production: https://aicodingpricing.com
  Compliance report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/compliance/final-compliance-recheck.md

  Goal: fix P0 compliance policy blockers found by 墨盾 before PM acceptance / QA.

  Required changes:
  1. Expand `/privacy` with:
  - operator: Nextfield Labs LLC, Wyoming, or actual final operator from project context
  - data categories: client-side calculator inputs, newsletter email/provider interest/source path/consent/status, contact/correction request email/message/source URL, technical logs/IP/security events, aggregate analytics if actually used
  - third parties: Cloudflare; Plausible only if installed; newsletter/email provider or explicit pending/no-storage language if not implemented
  - concrete retention: newsletter until unsubscribe/delete; contact/correction 24 months; server/security logs 30–90 days; aggregate analytics per provider settings
  - rights: access/delete/correct/opt-out/no sale/share
  - cookies: no non-essential cookies currently observed; Cloudflare strictly necessary cookies; banner required only if GA/Clarity/ad pixels/affiliate trackers are added
  - contact route and MX caveat if privacy@ is used

  2. Expand `/terms` with:
  - operator and governing law
  - independent informational service; not billing/procurement/legal/tax/financial advice
  - trademark ownership / nominative fair use for Claude/Anthropic, OpenAI/Codex/ChatGPT, Cursor/Anysphere, GitHub/GitHub Copilot/Microsoft
  - no warranty / limitation of liability
  - affiliate/sponsored placement placeholder
  - no account scraping / no private account data / no provider credentials
  - copyright/trademark complaint and corrections route

  3. Commit + push + deploy same source commit; verify production `/privacy` and `/terms`.

  Acceptance:
  - `npm run lint`, `npm run verify`, `npm run build` pass.
  - Production `/privacy` and `/terms` return 200 and include the required disclosures.
  - No new GA/Clarity/ad/affiliate trackers without consent gate.
  - Complete with changed_files, tests_run, commit_sha, deploy_url, deployment_source_commit.


id: t_04a6402b
title: Fix SEO/GEO NO_GO blockers: schema graph + P0 content depth
assignee: mojie
status: done
created_by: moyin
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
body:
  Project: AI Coding Pricing / Cost Hub
  Tenant: site-aicodingpricing-20260521
  Domain: https://aicodingpricing.com
  Parent SEO recheck: t_0b4bdc72
  Report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/seo/final-seo-recheck.md
  Repo: /root/projects/aicodingpricing
  Current synced commit: 2d87d351ac40e91dd98b8fc5c1dae62a331999d3

  SEO verdict is NO_GO. Fix the blockers, then commit + push + deploy from the same commit.

  Required fixes:
  1. Implement page-specific JSON-LD graph generation:
     - `/`: WebApplication + WebSite + FAQPage
     - pricing/comparison pages: Article + FAQPage + BreadcrumbList
     - `/claude-code-usage-limits`: Article + FAQPage + HowTo + BreadcrumbList
     - `/codex-usage`: Article + FAQPage + HowTo + WebApplication
     - `/pricing-changelog`: CollectionPage + ItemList + BreadcrumbList
     - keep Product schema out unless source-backed offers exist.
  2. Expand under-target P0 pages to meet SEO-Copy Freeze word targets:
     - `/claude-code-usage-limits`: target 1200–1600, live parsed 1038
     - `/codex-usage`: target 1200–1600, live parsed 1051
     - `/claude-code-vs-codex`: target 1200–1800, live parsed 1193
     - `/claude-code-vs-cursor`: target 1200–1800, live parsed 1164
  3. Add OG/Twitter social meta to `/about`, `/privacy`, `/terms` if touching metadata.
  4. Strengthen `scripts/verify-site.mjs` so it fails on missing contracted schema types and P0 content-depth regressions.

  Acceptance:
  - `npm run lint`, `npm run verify`, `npm run build` pass.
  - Live/preview routes show the expected JSON-LD types, one H1, self-canonical, no noindex, sitemap inclusion for indexable pages.
  - Alias routes remain 301 and absent from sitemap.
  - Commit + push + Cloudflare deploy source commit must match.
  - Send progress to telegram:-1003750190535:5866 only.


id: t_e75eaa3b
title: Recheck SEO/GEO after AI Coding Pricing schema/content remediation
assignee: moyin
status: done
created_by: motest
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:seo-recheck-after-t_04a6402b
body:
  Project: AI Coding Pricing / Cost Hub
  Tenant: site-aicodingpricing-20260521
  Domain: https://aicodingpricing.com
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  Previous SEO report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/seo/final-seo-recheck.md
  Remediation task: t_04a6402b
  Remediation commit: 5d141b41e61f70d1f773de8b421b90b12592edfe
  Production: https://aicodingpricing.com
  Preview/deploy URL from remediation: https://1bd9892c.aicodingpricing.pages.dev

  Goal: rerun final SEO/GEO/AEO recheck after schema graph + P0 content-depth remediation. Update/write final SEO artifact and return SEO_GO or SEO_NO_GO.

  Must verify:
  - Contracted JSON-LD types on P0 routes: FAQPage, BreadcrumbList, HowTo, CollectionPage, ItemList, WebApplication where required.
  - P0 frozen word-count/content-depth targets now pass.
  - title/meta/OG/canonical/noindex/H1 basics still pass.
  - alias routes remain 301 and absent from sitemap.
  - P1 indexed routes are acceptable or explicitly flagged.
  - Source/freshness/disclaimer language remains visible.
  - Production source commit matches pushed/deployed commit evidence from t_04a6402b.

  Progress target: telegram:-1003750190535:5866 only.
  Complete with metadata: seo_verdict, verified_routes, p0_issues, p1_issues, artifact_paths, commit_sha/deployment_source_commit evidence.


id: t_696c2567
title: Refresh compliance recheck after AI Coding Pricing policy remediation
assignee: modun
status: done
created_by: motest
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:compliance-recheck-after-t_9319be77-t_04a6402b
body:
  Project: AI Coding Pricing / Cost Hub
  Tenant: site-aicodingpricing-20260521
  Domain: https://aicodingpricing.com
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  Previous compliance report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/compliance/final-compliance-recheck.md
  Policy remediation task: t_9319be77
  Policy remediation commit: 2735ea6d40888977aeeb8407206dfb3e5d727232
  Later SEO/content deployment task: t_04a6402b, commit 5d141b41e61f70d1f773de8b421b90b12592edfe
  Production: https://aicodingpricing.com

  Goal: refresh final compliance recheck after /privacy and /terms P0 remediation and later SEO deployment. Update/write the compliance artifact so PM/QA launch evidence no longer points to stale NO_GO if fixed.

  Must verify:
  - /privacy and /terms are production 200 and include operator, processors, retention, rights, cookies, data categories, trademark/fair-use, liability/no-warranty, affiliate/sponsorship placeholder, no private account data/scraping, complaint/correction route.
  - Footer links privacy/terms/contact; domain email/MX caveat if contact uses site email.
  - No unauthorized logos/trademarks/assets; no positive official/endorsed/partner/certified claims.
  - Runtime cookies/analytics/tracker evidence matches policy.
  - Source/freshness caveats remain visible on pricing data.
  - Production deployment source is the expected final source after t_04a6402b.

  Progress target: telegram:-1003750190535:5866 only.
  Complete with metadata: compliance_verdict, p0_issues, p1_issues, pages_checked, artifact_paths, deployment evidence.


id: t_eeea3f95
title: PM re-acceptance after AI Coding Pricing SEO/compliance rechecks
assignee: moce
status: done
created_by: motest
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_eeea3f95
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521:pm-reacceptance-after-seo-compliance-rechecks
body:
  Project: AI Coding Pricing / Cost Hub
  Tenant: site-aicodingpricing-20260521
  Domain: https://aicodingpricing.com
  Report base: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing
  Previous PM report: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/pm/product-acceptance.md
  Prior PM verdict: PM_NO_GO before remediation.
  Remediation tasks now done: t_04a6402b (SEO schema/content), t_9319be77 (privacy/terms).
  Required upstream rechecks: t_e75eaa3b SEO/GEO, t_696c2567 compliance.

  Goal: rerun product acceptance after SEO/GEO and compliance rechecks. Update/write product acceptance artifact and decide whether motest final QA may proceed.

  Must verify:
  - Do not advance to motest if SEO remains NO_GO or compliance has P0 blockers.
  - If SEO_GO and no compliance P0, verify product minimum: calculator, source-linked pricing table, changelog/freshness, pricing alerts, fair-use disclaimers, redirect aliases, P1 route exposure risk.
  - Return PM_GO or PM_CONDITIONAL_GO_TO_QA if ready for final QA; otherwise PM_NO_GO with blockers.

  Progress target: telegram:-1003750190535:5866 only.
  Complete with metadata: pm_verdict, competitive_minimum_verdict, verified_user_tasks, blockers, next_gate, artifact_paths.


id: t_7ea142b3
title: [CONT QA 墨测] AI Coding Pricing final QA after PM_CONDITIONAL_GO
assignee: motest
status: done
created_by: xiaomo-host
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: aicodingpricing-final-qa-after-pm-reaccept-20260521
skills: ["projects/site-qa"]
body:
  GOAL MODE / Kanban-only final QA continuation for AI Coding Pricing.

  Context:
  - Tenant: site-aicodingpricing-20260521
  - Site: https://aicodingpricing.com
  - Repo: /root/projects/aicodingpricing
  - This is a narrow QA continuation after remediation rechecks. Do NOT use stale PM_NO_GO from t_f1758ded as the active gate.
  - Canonical fresh upstream gate: t_eeea3f95 = PM_CONDITIONAL_GO_TO_QA.
  - Fresh SEO recheck: t_e75eaa3b = SEO_GO after schema/content remediation.
  - Fresh compliance recheck: t_696c2567 = GO_WITH_P1_CAVEAT; no P0 blockers; remaining P1 is operational email deliverability / MX.
  - Frontend/domain gate: t_9085ad91 done; custom domains active; Crawler Hints enabled.
  - Previous QA task t_108bbf98 is blocked due to stale upstream-gate logic and is superseded by this continuation.

  Task:
  Run final real-user-task QA for AI Coding Pricing using projects/site-qa. Verify production, not just preview. Produce a final QA report and complete with structured metadata.

  Required checks:
  - Read parent metadata/artifacts from t_eeea3f95, t_e75eaa3b, t_696c2567, t_9085ad91.
  - Verify production routes, sitemap/robots/canonical/schema, SEO matrix routes, pricing calculator/core user task, responsive/mobile, console errors, performance smoke, footer/legal/contact links, analytics script presence.
  - Treat MX/email deliverability as P1 unless it blocks user task or policy contact route.
  - If QA_GO or QA_CONDITIONAL_GO, include exact P1/P2 followups and allow Owner Review Gate to proceed.
  - If QA_NO_GO, list P0 blockers and create/point to exact remediation tasks.

  Completion metadata must include:
  artifact_paths, qa_verdict, production_url, checks_run, p0_blockers, p1_followups, residual_risk, next_inputs.

  Visibility:
  - Project topic target: telegram:-1003750190535:5866 (`做站 · aicodingpricing`).
  - Progress should be Kanban state/comments + project topic only; no direct @bot dispatch.


id: t_14b33ebb
title: [FIX 墨界] AI Coding Pricing P1 web fixes before launch: analytics/mobile/LCP/SEO/newsletter
assignee: mojie
status: blocked
created_by: xiaomo-host
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: aicodingpricing-fix-before-launch-frontend-p1-20260521
skills: ["projects/frontend-site-build"]
body:
  GOAL MODE / FIX_BEFORE_LAUNCH P1 remediation for AI Coding Pricing.

  Owner chose FIX_BEFORE_LAUNCH from Owner Review Gate t_793aae51. Current launch is blocked until these P1/P2 fixes are completed and rechecked.

  Site: https://aicodingpricing.com
  Repo: /root/projects/aicodingpricing
  Upstream QA: t_7ea142b3 = QA_CONDITIONAL_GO, P0=0.
  Owner review summary: /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/owner-review-summary.md

  Fix scope:
  1. Install analytics script(s) per project convention and implement/verify client events: cta_click, pricing_click, calculator usage, newsletter submit. Prefer lightweight privacy-friendly analytics consistent with fleet conventions; document exact provider/env assumptions.
  2. Fix 390px mobile menu: visible Menu button must expand/collapse primary nav links.
  3. Improve homepage LCP below 2500ms target where practical without redesign regression; document before/after measurement.
  4. SEO follow-up: add/fix /claude-code-cost WebApplication JSON-LD; add /llms.txt; expand shallow P1/P2 page content called out in QA/SEO reports.
  5. Newsletter UX P2: submission should show explicit success/error/pending feedback even if backend is capture-shell; do not imply a working subscription backend if absent.

  Required release loop:
  - Inspect current git status and deployment source.
  - Implement minimal safe fixes.
  - Run lint/typecheck/build/verify and relevant route/schema checks.
  - Commit with Conventional Commit, push main, deploy from same commit, verify production.
  - Complete with metadata: artifact_paths, changed_files, checks_run, commit_sha, pushed_branch, deploy_url, deployment_source_commit, production_verification, residual_risk, next_inputs.


  Visibility:
  - Project topic target: telegram:-1003750190535:5866 (`做站 · aicodingpricing`).
  - Kanban comments/state are source of truth; no direct @bot dispatch.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_675ed693
title: [FIX 墨枢] AI Coding Pricing support@ MX/email deliverability before launch
assignee: moshu
status: done
created_by: xiaomo-host
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: aicodingpricing-fix-before-launch-mx-20260521
skills: ["projects/backend-site-build"]
body:
  GOAL MODE / FIX_BEFORE_LAUNCH MX/support email remediation for AI Coding Pricing.

  Owner chose FIX_BEFORE_LAUNCH from Owner Review Gate t_793aae51. Current launch is blocked until MX/support@ deliverability is fixed or precisely blocked.

  Site/domain: aicodingpricing.com
  Cloudflare zone should already exist and be active from frontend/domain gate t_9085ad91.
  Issue: no MX record observed; support@aicodingpricing.com has delivery risk.

  Task:
  - Inspect current Cloudflare DNS/MX records for aicodingpricing.com.
  - Configure the fleet-standard support email route if available (Cloudflare Email Routing / existing mailbox / provider convention).
  - If the required destination mailbox or Email Routing setup cannot be completed with available credentials, block with exact missing input.
  - Verify DNS after change: dig MX aicodingpricing.com and document expected support@ behavior.
  - Do not claim email works without evidence.

  Completion metadata: dns_records_before, dns_records_after, mx_verified, support_email_status, exact_blocker_if_any, residual_risk, next_inputs.


  Visibility:
  - Project topic target: telegram:-1003750190535:5866 (`做站 · aicodingpricing`).
  - Kanban comments/state are source of truth; no direct @bot dispatch.


id: t_141cfd70
title: [RECHECK 墨引] AI Coding Pricing SEO follow-up after P1 remediation
assignee: moyin
status: done
created_by: xiaomo-host
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: aicodingpricing-seo-recheck-after-p1-fix-20260521
skills: ["projects/site-seo-review"]
body:
  GOAL MODE / SEO follow-up recheck after AI Coding Pricing P1 remediation.

  Wait for frontend remediation parent. Verify only the P1 SEO follow-up scope from Owner Review: /claude-code-cost WebApplication JSON-LD, /llms.txt, and content-depth expansion. Also ensure analytics/mobile/LCP changes did not regress sitemap/robots/canonical/schema basics.

  Complete with SEO_GO or SEO_NO_GO, artifact_paths, checks_run, remaining_blockers, next_inputs.


  Visibility:
  - Project topic target: telegram:-1003750190535:5866 (`做站 · aicodingpricing`).
  - Kanban comments/state are source of truth; no direct @bot dispatch.


id: t_c6dc22f8
title: [RE-QA 墨测] AI Coding Pricing final QA after FIX_BEFORE_LAUNCH repairs
assignee: motest
status: done
created_by: xiaomo-host
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: aicodingpricing-reqa-after-fix-before-launch-20260521
skills: ["projects/site-qa"]
body:
  GOAL MODE / final QA recheck after FIX_BEFORE_LAUNCH remediation.

  This is a narrow re-QA for the Owner Review P1/P2 list, not a full restart. Read parent outputs from frontend remediation, MX remediation, and SEO follow-up recheck.

  Verify:
  - analytics script and events: cta/pricing/calculator/newsletter as implemented; if backend absent, verify UX feedback and event emission.
  - MX/support@ status from infra parent; classify remaining email risk.
  - 390px mobile menu expands primary nav.
  - homepage LCP target or documented residual.
  - /claude-code-cost schema, /llms.txt, content-depth follow-up.
  - newsletter success/error feedback.
  - quick smoke: core calculator, 23 routes, sitemap/legal/SEO basics still pass.

  Return QA_GO / QA_CONDITIONAL_GO / QA_NO_GO. If P0=0 and only explicit residual P1 remains, pass to Owner Review with exact waiver list.
  Complete metadata: qa_verdict, p0_blockers, p1_followups, p2_followups, artifact_paths, checks_run, residual_risk, next_inputs.


  Visibility:
  - Project topic target: telegram:-1003750190535:5866 (`做站 · aicodingpricing`).
  - Kanban comments/state are source of truth; no direct @bot dispatch.


id: t_b76bcb40
title: [Owner Gate 墨策] AI Coding Pricing owner review after P1 repairs
assignee: moce
status: done
created_by: xiaomo-host
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: aicodingpricing-owner-review-after-p1-repairs-20260521
skills: ["projects/site-qa"]
body:
  GOAL MODE / Owner Review Gate after FIX_BEFORE_LAUNCH remediation for AI Coding Pricing.

  This replaces stale blocked owner gate t_793aae51 for the repair branch. Wait for final QA recheck parent. Prepare a compact owner review summary with before/after status of each requested fix, QA verdict, remaining P1/P2, and explicit launch recommendation.

  Block with WAITING_OWNER_SITE_APPROVAL until Meng Jian replies APPROVE_LAUNCH / APPROVE_WITH_WAIVER / FIX_BEFORE_LAUNCH / HOLD.

  Completion metadata when approved must include owner_approval=confirmed, approved_by=mengjian, approval_message, artifact_paths, residual_risk, next_inputs.


  Visibility:
  - Project topic target: telegram:-1003750190535:5866 (`做站 · aicodingpricing`).
  - Kanban comments/state are source of truth; no direct @bot dispatch.


id: t_cb2a6f85
title: [CONT] [FIX 墨界] AI Coding Pricing P1 web fixes before launch: analytics/mobile/LCP/SEO/newsletter
assignee: mojie
status: done
created_by: budget-continuation-watchdog
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: budget-continuation-t_14b33ebb
skills: ["projects/frontend-site-build"]
body:
  GOAL MODE / automatic narrow continuation after iteration-budget exhaustion.

  Original task: `t_14b33ebb`
  Original title: [FIX 墨界] AI Coding Pricing P1 web fixes before launch: analytics/mobile/LCP/SEO/newsletter
  Original assignee: `mojie`
  Original latest summary: Iteration budget exhausted (60/60) — task could not complete within the allowed iterations
  Original parents reused for this continuation: `t_7ea142b3`

  This is NOT a restart. Continue from the artifacts, repo/workspace state, logs, and dirty changes produced by `t_14b33ebb`. First inspect the original task log and current workspace, then finish only the missing closeout work.

  Required actions:
  1. Read original task details/logs: `hermes kanban --board site-factory show t_14b33ebb --json` and board log if present.
  2. Inspect workspace/repo state and existing artifacts before changing anything.
  3. Preserve useful completed work; remove accidental/generated noise.
  4. Run the original acceptance gates that are still missing.
  5. If code was modified: complete the full sync loop — `git status --short` before/after, lint/build/test/verify, conventional commit, push, deploy from the same commit, production/preview smoke.
  6. Complete this continuation with structured metadata: `continued_from`, `artifact_paths`, `verification`, `commit_sha` if applicable, `deploy_url` if applicable, `git_status_after`, `residual_risk`, `next_inputs`.
  7. If blocked, block with the exact failing command/output and what owner/profile must fix.

  Downstream tasks originally waiting on `t_14b33ebb` at creation time:
  - `t_141cfd70` todo @moyin: [RECHECK 墨引] AI Coding Pricing SEO follow-up after P1 remediation
  - `t_c6dc22f8` todo @motest: [RE-QA 墨测] AI Coding Pricing final QA after FIX_BEFORE_LAUNCH repairs

  The budget-continuation watchdog may rewire non-terminal children from the exhausted task to this continuation. Do not mark the original exhausted task done just to unlock children.


id: t_f1e043b5
title: [CONT] 15 launch: GSC/Bing submission, Crawler Hints verification, cold start package
assignee: moyun
status: blocked
created_by: budget-continuation-watchdog
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_f1e043b5
tenant: site-aicodingpricing-20260521
idempotency_key: budget-continuation-t_483a4cad
skills: ["projects/site-launch"]
body:
  GOAL MODE / automatic narrow continuation after iteration-budget exhaustion.

  Original task: `t_483a4cad`
  Original title: 15 launch: GSC/Bing submission, Crawler Hints verification, cold start package
  Original assignee: `moyun`
  Original latest summary: Iteration budget exhausted (60/60) — task could not complete within the allowed iterations
  Original parents reused for this continuation: `t_b76bcb40`

  This is NOT a restart. Continue from the artifacts, repo/workspace state, logs, and dirty changes produced by `t_483a4cad`. First inspect the original task log and current workspace, then finish only the missing closeout work.

  Required actions:
  1. Read original task details/logs: `hermes kanban --board site-factory show t_483a4cad --json` and board log if present.
  2. Inspect workspace/repo state and existing artifacts before changing anything.
  3. Preserve useful completed work; remove accidental/generated noise.
  4. Run the original acceptance gates that are still missing.
  5. If code was modified: complete the full sync loop — `git status --short` before/after, lint/build/test/verify, conventional commit, push, deploy from the same commit, production/preview smoke.
  6. Complete this continuation with structured metadata: `continued_from`, `artifact_paths`, `verification`, `commit_sha` if applicable, `deploy_url` if applicable, `git_status_after`, `residual_risk`, `next_inputs`.
  7. If blocked, block with the exact failing command/output and what owner/profile must fix.

  Downstream tasks originally waiting on `t_483a4cad` at creation time:
  - `t_7a263660` todo @moxi: 16 data review: post-launch metrics watch and iterate/kill/scale setup

  The budget-continuation watchdog may rewire non-terminal children from the exhausted task to this continuation. Do not mark the original exhausted task done just to unlock children.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_3c65300b
title: [CONT] [CONT] 15 launch: GSC/Bing submission, Crawler Hints verification, cold start package
assignee: moyun
status: blocked
created_by: budget-continuation-watchdog
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_3c65300b
tenant: site-aicodingpricing-20260521
idempotency_key: budget-continuation-t_f1e043b5
skills: ["projects/site-launch"]
body:
  GOAL MODE / automatic narrow continuation after iteration-budget exhaustion.

  Original task: `t_f1e043b5`
  Original title: [CONT] 15 launch: GSC/Bing submission, Crawler Hints verification, cold start package
  Original assignee: `moyun`
  Original latest summary: Iteration budget exhausted (60/60) — task could not complete within the allowed iterations
  Original parents reused for this continuation: `t_b76bcb40`

  This is NOT a restart. Continue from the artifacts, repo/workspace state, logs, and dirty changes produced by `t_f1e043b5`. First inspect the original task log and current workspace, then finish only the missing closeout work.

  Required actions:
  1. Read original task details/logs: `hermes kanban --board site-factory show t_f1e043b5 --json` and board log if present.
  2. Inspect workspace/repo state and existing artifacts before changing anything.
  3. Preserve useful completed work; remove accidental/generated noise.
  4. Run the original acceptance gates that are still missing.
  5. If code was modified: complete the full sync loop — `git status --short` before/after, lint/build/test/verify, conventional commit, push, deploy from the same commit, production/preview smoke.
  6. Complete this continuation with structured metadata: `continued_from`, `artifact_paths`, `verification`, `commit_sha` if applicable, `deploy_url` if applicable, `git_status_after`, `residual_risk`, `next_inputs`.
  7. If blocked, block with the exact failing command/output and what owner/profile must fix.

  Downstream tasks originally waiting on `t_f1e043b5` at creation time:
  - `t_7a263660` todo @moxi: 16 data review: post-launch metrics watch and iterate/kill/scale setup

  The budget-continuation watchdog may rewire non-terminal children from the exhausted task to this continuation. Do not mark the original exhausted task done just to unlock children.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_d9b00ede
title: [CONT] [CONT] [CONT] 15 launch: GSC/Bing submission, Crawler Hints verification, cold start package
assignee: moyun
status: blocked
created_by: budget-continuation-watchdog
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_d9b00ede
tenant: site-aicodingpricing-20260521
idempotency_key: budget-continuation-t_3c65300b
skills: ["projects/site-launch"]
body:
  GOAL MODE / automatic narrow continuation after iteration-budget exhaustion.

  Original task: `t_3c65300b`
  Original title: [CONT] [CONT] 15 launch: GSC/Bing submission, Crawler Hints verification, cold start package
  Original assignee: `moyun`
  Original latest summary: Iteration budget exhausted (60/60) — task could not complete within the allowed iterations
  Original parents reused for this continuation: `t_b76bcb40`

  This is NOT a restart. Continue from the artifacts, repo/workspace state, logs, and dirty changes produced by `t_3c65300b`. First inspect the original task log and current workspace, then finish only the missing closeout work.

  Required actions:
  1. Read original task details/logs: `hermes kanban --board site-factory show t_3c65300b --json` and board log if present.
  2. Inspect workspace/repo state and existing artifacts before changing anything.
  3. Preserve useful completed work; remove accidental/generated noise.
  4. Run the original acceptance gates that are still missing.
  5. If code was modified: complete the full sync loop — `git status --short` before/after, lint/build/test/verify, conventional commit, push, deploy from the same commit, production/preview smoke.
  6. Complete this continuation with structured metadata: `continued_from`, `artifact_paths`, `verification`, `commit_sha` if applicable, `deploy_url` if applicable, `git_status_after`, `residual_risk`, `next_inputs`.
  7. If blocked, block with the exact failing command/output and what owner/profile must fix.

  Downstream tasks originally waiting on `t_3c65300b` at creation time:
  - `t_7a263660` todo @moxi: 16 data review: post-launch metrics watch and iterate/kill/scale setup

  The budget-continuation watchdog may rewire non-terminal children from the exhausted task to this continuation. Do not mark the original exhausted task done just to unlock children.

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_967ca8c5
assignee: moyun
status: done
created_by: budget-continuation-watchdog
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_967ca8c5
tenant: site-aicodingpricing-20260521
idempotency_key: budget-continuation-t_d9b00ede
skills: ["projects/site-launch"]
title:
  [CONT] [CONT] [CONT] [CONT] 15 launch: GSC/Bing submission, Crawler Hints verification, cold start package

body:
  GOAL MODE / automatic narrow continuation after iteration-budget exhaustion.

  Original task: `t_d9b00ede`
  Original title: [CONT] [CONT] [CONT] 15 launch: GSC/Bing submission, Crawler Hints verification, cold start package
  Original assignee: `moyun`
  Original latest summary: Iteration budget exhausted (60/60) — task could not complete within the allowed iterations
  Original parents reused for this continuation: `t_b76bcb40`

  This is NOT a restart. Continue from the artifacts, repo/workspace state, logs, and dirty changes produced by `t_d9b00ede`. First inspect the original task log and current workspace, then finish only the missing closeout work.

  Required actions:
  1. Read original task details/logs: `hermes kanban --board site-factory show t_d9b00ede --json` and board log if present.
  2. Inspect workspace/repo state and existing artifacts before changing anything.
  3. Preserve useful completed work; remove accidental/generated noise.
  4. Run the original acceptance gates that are still missing.
  5. If code was modified: complete the full sync loop — `git status --short` before/after, lint/build/test/verify, conventional commit, push, deploy from the same commit, production/preview smoke.
  6. Complete this continuation with structured metadata: `continued_from`, `artifact_paths`, `verification`, `commit_sha` if applicable, `deploy_url` if applicable, `git_status_after`, `residual_risk`, `next_inputs`.
  7. If blocked, block with the exact failing command/output and what owner/profile must fix.

  Downstream tasks originally waiting on `t_d9b00ede` at creation time:
  - `t_7a263660` todo @moxi: 16 data review: post-launch metrics watch and iterate/kill/scale setup

  The budget-continuation watchdog may rewire non-terminal children from the exhausted task to this continuation. Do not mark the original exhausted task done just to unlock children.


id: t_2671ede0
title: [Follow-up aicodingpricing] 补齐 GA4/Clarity 可观测性并复测核心事件
assignee: mojie
status: done
created_by: moxi
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_2671ede0
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521-aicodingpricing-ga4-clarity-event-observability
body:
  来源：墨析 post-launch metrics watch task_id=t_7a263660。

  目标：补齐 aicodingpricing.com 的 GA4 / Microsoft Clarity 可观测性，或明确阻塞所需的公开配置项；复测核心事件是否能在浏览器 runtime 触发。

  证据：
  - live HTML 已检测到 Plausible self-host 脚本 `https://plausible.shipsolo.io/js/script.js` 与 `window.aiCodingPricingTrack`。
  - browser runtime 已记录 `page_view` / `tool_start` / `tool_result` / `calculator_usage` / `pricing_cta_click` / `newsletter_submit` 到 localStorage，并可调用 `window.plausible`。
  - 未检测到 GA4 gtag/dataLayer；未检测到 Microsoft Clarity；Cloudflare Web Analytics token 未配置。
  - D1 newsletter stats 可查但当前 active=0；直接 curl API 会被 Cloudflare challenge，浏览器 same-origin invalid request 返回 400。

  交付要求：
  1. 若已有 GA4 Measurement ID / Clarity Project ID / CF Web Analytics token：用环境变量或安全配置接入，不要把密钥写入代码。
  2. 若缺 ID/token：不要编造，直接 block 并列出所需变量名和配置入口。
  3. 复测核心事件：page_view、hero_cta_click/cta_click、pricing_cta_click/pricing_click、tool_start、tool_result、calculator_usage、newsletter_submit。
  4. 输出 evidence：代码 diff/commit 或阻塞说明、浏览器 runtime 截图/console 证据、是否需要墨析复核。

  安全边界：不要自动对外发布、不要群发、不要付款、不要写生产数据。若需要生产部署，先完成 patch/preview 证据并 block 等人工确认。

  交付 topic：telegram:-1003750190535:5866
  同步节点：claim/开始时发 [ACK]；遇阻塞发 [BLOCKED]；完成发 [DONE]。
  汇报格式：6 行内，含 task_id / 当前状态 / 已验证证据 / 需要墨析复核点 / 下一步。需要口径确认时 @墨析。未在群 topic 同步 [DONE] 或 [BLOCKED] 不视为交付。

result:
  HOST verified external fix completed: GA4 G-QYC23TSM8Q, Clarity wuwfgms5x2, Cloudflare Web Analytics auto-inject configured for Production+Preview and verified on live site; stale BLOCK resolved via browser/API automation. Needs moxi realtime dashboard recheck as downstream data-review, not mojie implementation rerun.


id: t_59fac7c8
title: [Daily Step 0 墨探] 新词发现并选择今日新站
assignee: motan
status: blocked
created_by: user
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_59fac7c8
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-00-motan
skills: ["projects/site-research"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。

  任务：每日新词新站启动。今天只允许选择 1 个最值得做的新站机会。

  强制口径（2026-05-21 对齐）：
  - Step 0 默认只走「严格新词管线」。新词定义：市场搜索需求正在明确起量，不是概念新、SERP 有早期供给、社区有人聊。
  - Google Trends 是硬门槛：US/en past 7 days 必须有 rising/breakout/top query 可见；补 30/90 天确认不是单日噪声。Google Trends 查不到量，默认不能作为今日主推荐。
  - GPTs 对比是硬门槛：必须拿候选词和 GPTs/ChatGPT 相关基准词做趋势强度对比，输出 `gpts_baseline_keyword`、`candidate_trend_value`、`baseline_trend_value`、`gpts_ratio`；只有 `gpts_ratio > 1.0` 才能进入 A_NOW/B_QUEUE。
  - 12 个月回溯是硬门槛：必须标注 `freshness_12m = new | old_hot | stable_old | spike_noise | no_data`；每日新站主推荐只允许 `new`。old_hot/稳定老词只能观察，除非孟健明确批准兜底。
  - SERP/社区/模型发布/托管新站信号只能做辅助，不得替代 Google Trends 起量 + GPTs ratio。
  - 如果没有合格新词，必须如实 BLOCK：`NO_CLEAN_NEW_WORD_TODAY`，给观察池和下一步采集建议；不要退回老词硬凑一个站。

  输入：
  - 当前方向：AI 编程、出海工具、小产品矩阵、SEO 驱动站。
  - 目标市场：优先 US/en；如果发现中文市场机会也可标注但默认不启动。

  必须输出：
  - selected_keyword
  - project_slug
  - target_market
  - 为什么今天选这个词（必须包含 Google Trends 7d/30d/90d 证据、GPTs ratio、12m freshness）
  - SERP 初判
  - 是否 AI 功能 / 登录 / 支付 / 域名调研
  - handoff_path: reports/site-pipeline/site-daily-20260522/00-daily-keyword.md

  人工卡点（强制）：
  1. 先完成调研与候选排序，写入 reports/site-pipeline/site-daily-20260522/00-daily-keyword.md。
  2. 不要直接 kanban_complete。
  3. 必须用 send_message 由墨探 bot 发到 Telegram 群/做站 topic，发「推荐词 + 2 个备选 + 选择理由 + 风险 + task_id」，并明确让他在群里 @墨探 回复：
     - 「确认 <task_id>」= 用推荐词继续
     - 「换成 <keyword> <project_slug> <task_id>」= 改词继续
     - 「暂停 <task_id>」= 今日不启动
  4. 发完确认请求后，执行 kanban_block，原因必须以 `WAITING_USER_KEYWORD_APPROVAL` 开头，并包含 task_id / selected_keyword / project_slug。
  5. 孟健在群里确认后，墨探需要先登记复盘白名单，再 complete：
     `python3 /root/.hermes/scripts/site_review_registry.py approve --slug <project_slug> --keyword '<selected_keyword>' --target-market '<target_market>' --task-id <task_id> --handoff-path 'reports/site-pipeline/site-daily-20260522/00-daily-keyword.md'`
     然后执行：
     `hermes kanban --board site-factory complete <task_id> --summary '<最终选词结论>' --metadata '{"selected_keyword":"...","project_slug":"...","target_market":"...","approval":"user_confirmed","google_trends_7d":"rising|breakout|top_visible","google_trends_30d_90d":"rising|flat|declining|spike_noise","gpts_baseline_keyword":"gpts|chatgpt|...","gpts_ratio":1.23,"freshness_12m":"new","review_registry":"/root/.hermes/state/site_review_approved_sites.json","handoff_path":"reports/site-pipeline/site-daily-20260522/00-daily-keyword.md"}'`
     complete 后下游才会继续；未写入白名单的站点不得进入 site-review 复盘池。

  如果没有合格词：同样先在群里汇报候选词和不启动原因，再 block。


id: t_52310e77
title: [Daily Step 1 墨策] Brief v0：产品/搜索边界
assignee: moce
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-01-moce-brief-v0
skills: ["projects/site-building"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取父任务墨探输出，只产出 Brief v0，不写完整 PRD。
  Brief v0 只锁 5 件事：目标用户、搜索意图、核心任务、竞品最低能力假设、页面矩阵假设。目的是给并行角色统一边界，避免 SEO 后补、设计返工、开发硬塞词。
  必须包含：site_type 假设、selected_keyword、project_slug、target_market、core_user_tasks、competitive_minimum_hypothesis、page_matrix_hypothesis、known_unknowns、并行输入需要回答的问题。
  交付：reports/site-pipeline/site-daily-20260522/01-brief-v0.md
  验收：metadata.artifact_paths 必须包含 01-brief-v0.md；acceptance_checklist 必须覆盖目标用户、搜索意图、核心任务、竞品最低能力假设、页面矩阵假设、并行任务问题清单。
  如果 Brief v0 无法明确边界，block `BRIEF_V0_INSUFFICIENT_CONTEXT`，不要进入并行。


id: t_a0952c93
title: [Daily Step 2A 墨账] 定价/免费额度/成本上限/转化策略
assignee: mozhang
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-02a-mozhang
skills: ["projects/site-pricing"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取 Brief v0，输出定价、免费额度、成本上限和转化策略。
  必须回答：是否收费、Free/Pro/Lifetime 边界、免费额度、单次成本上限、超额处理、转化 CTA、支付/退款边界给墨盾复核。不能写 unlimited。
  交付：reports/site-pipeline/site-daily-20260522/02a-pricing.md
  验收：metadata.artifact_paths 必须包含 02a-pricing.md；acceptance_checklist 必须覆盖竞品价格、成本模型、套餐边界、免费额度、转化策略、不使用 unlimited。


id: t_4de2e8e3
title: [Daily Step 2B 墨盾] Policy/合规风险/禁用文案/免责声明
assignee: modun
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-02b-modun
skills: ["openclaw-imports/compliance-review"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取 Brief v0，输出 Policy、合规风险、禁用文案、免责声明和实际功能边界。
  必须给墨引+墨笔和墨策可直接使用的约束：品牌/IP 禁词、不能声称的能力、Privacy/Terms/Cookie/Refund 边界、数据准确性免责声明、AI/UGC/支付风险。
  交付：reports/site-pipeline/site-daily-20260522/02b-compliance.md
  验收：metadata.artifact_paths 必须包含 02b-compliance.md；acceptance_checklist 必须覆盖 IP/商标/隐私/ToS/Cookie/Refund/内容安全/禁用文案/免责声明/上线风险。


id: t_d9882322
title: [Daily Step 2C 墨引+墨笔] SEO + 用户文案联合包
assignee: moyin
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-02c-moyin-mobi
skills: ["projects/site-seo-review"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取 Brief v0，与墨笔职责合并产出“可直接进页面”的 SEO + 用户文案联合包；不是 SEO 词表，也不是散文。
  墨引负责：关键词、搜索意图、页面矩阵、内链、Schema、SERP Top 3-5、competitive_minimum、interaction_baseline、index/noindex 初判。
  墨笔负责：用户可读 headline、section copy、FAQ、CTA、AEO short answers、Meta 3 变体、CORE-EEAT、禁词自查。
  联合输出必须逐页/逐 section：URL、主关键词、次关键词、intent、H1/H2、section final copy、FAQ、CTA、schema text、internal links、是否首页展示/是否下沉。必须能被墨策直接合入 PRD v1，能被墨影直接做 content-fit-matrix。
  交付：reports/site-pipeline/site-daily-20260522/02c-seo-copy.md
  验收：metadata.artifact_paths 必须包含 02c-seo-copy.md；acceptance_checklist 必须覆盖 SERP、关键词、页面矩阵、内链、Schema、搜索意图、landing sections、SEO pages final copy、Meta、FAQ、CTA、AEO、CORE-EEAT、合规禁词检查、design_ready_structure。
  metadata 必须包含 p0_pages、target_keywords、interaction_baseline、competitive_minimum、index_policy。


id: t_d155ef62
title: [Daily Step 3 墨策] PRD v1：整合并锁定下游合同
assignee: moce
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-03-moce-prd-v1
skills: ["projects/site-building"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取 Brief v0 + 墨账 + 墨盾 + 墨引/墨笔联合包，整合成 PRD v1。
  PRD v1 必须包含：
  - 首页 IA + 每个 section 的最终文案；
  - SEO 内页数量；
  - 每个内页的 URL、主关键词、次关键词、搜索意图、H1/H2、最终文案摘要、schema、内链；
  - pricing/free quota/cost ceiling/conversion strategy；
  - policy/compliance/forbidden copy/disclaimer；
  - site_type、core_user_tasks、competitive_minimum、interaction_baseline；
  - asset/content inventory、domain email/contact policy、analytics/event plan（含事件 taxonomy、UTM、真实上报验收口径）、index/noindex+sitemap policy、Webmaster submission plan（GSC + Bing Webmaster/目标市场站长平台）、Cloudflare settings plan（含 Crawler Hints）、GTM 与 Kill/Iterate/Scale；
  - 给墨影、墨界、墨枢、墨引复验、墨盾复验、墨策验收、墨测、墨运、墨析的 must_read/must_produce/must_not。
  这是下游唯一产品合同；如果并行输入互相冲突，墨策必须 resolve 或 block，不能把冲突丢给设计/开发。
  交付：reports/site-pipeline/site-daily-20260522/03-prd-v1.md
  验收：metadata.artifact_paths 必须包含 03-prd-v1.md；acceptance_checklist 必须覆盖 Brief v0 整合、首页最终文案、SEO 内页矩阵、定价、合规、竞品最低能力、核心用户任务、交互基线、素材清单、索引策略、analytics plan、下游 handoff。
  metadata 必须包含 domain_candidates、requires_auth、requires_payment、site_type、p0_pages、core_user_tasks、pricing_model、compliance_verdict。


id: t_278a30e2
title: [Daily Step 4 墨影] 高保真设计交付包 + 品牌资产
assignee: moying
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-04-moying
skills: ["projects/site-design"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取 PRD v1（其中已整合定价、合规、SEO+文案联合包），必须完整执行 projects/site-design，不允许只交设计说明。
  核心原则：SEO 文案已经前置到 PRD/文案包，设计必须先消化全部 SEO 内容，再决定哪些上首页、哪些下沉到详情/索引页；不得让 SEO 长文、query index、token 列表打破首页布局和用户体验。
  开工前必做输入核验：PRD 是否含 site_type、竞品交互基线、核心用户任务、逐页 IA、逐页 SEO 文案、schema/index policy、asset inventory；缺任一项必须 block `upstream-gate-failed` 回墨策/墨笔，不能自己临时拼。
  必交设计包：
  - reports/site-pipeline/site-daily-20260522/design/HANDOFF.md
  - reports/site-pipeline/site-daily-20260522/design/stitch/screen-index.json
  - reports/site-pipeline/site-daily-20260522/design/screens/<slug>-desktop-final.png
  - reports/site-pipeline/site-daily-20260522/design/screens/<slug>-mobile-final.png
  - reports/site-pipeline/site-daily-20260522/design/html/<slug>-desktop-final.html
  - reports/site-pipeline/site-daily-20260522/design/html/<slug>-mobile-final.html
  - reports/site-pipeline/site-daily-20260522/design/assets/icon.svg / wordmark.svg / stacked.svg / horizontal.svg / logo-system.json
  - favicon 多尺寸；og-image.png / hero 图，如缺必要能力必须写 blocker，不能用占位图冒充完成。
  额外交付：reports/site-pipeline/site-daily-20260522/design/content-fit-matrix.md，逐 section 标明：PRD/SEO 文案来源、展示位置、是否首页展示、若下沉则目标页面、布局容器、视觉风险。
  Stitch 成功口径：只有真实 projectId/screenId 且能 get_screen_code/get_screen_image 才算 Stitch done；如果 Stitch 失败，该任务必须 block 或标记 DESIGN_CONDITIONAL，不能让下游误认为“已用 Stitch”。
  验收：metadata.artifact_paths 必须逐项列出上述文件；acceptance_checklist 必须覆盖 input_contract_checked、content_fit_matrix、real_stitch_project_ids、截图、HTML、logo、favicon、OG/hero、反 AI 味终检、homepage_not_seo_wall、media_cards_not_empty。缺任一关键项必须 block/rework。


id: t_57f29280
title: [Daily Step 5A 墨界] 前端实现 + 数据上报 + CF Pages 预览部署
assignee: mojie
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-05a-mojie
skills: ["projects/frontend-site-build"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取设计交付包，完成前端实现、构建、数据上报、CF Pages 预览部署。
  开工前先验证父任务设计包 artifact_paths；缺 HANDOFF / screen-index / screenshots / HTML / assets / content-fit-matrix 时必须 block `upstream-gate-failed`。
  如果设计 metadata 显示 DESIGN_CONDITIONAL，必须先由墨策 Design Acceptance 明确放行，不能默认继续。
  实现原则：Stitch/HTML 视觉真源是上限，不是参考图。前端不得自行追加 SEO 墙、query index、token 列表、长篇 route dossier 到首页；SEO 长文只能按 content-fit-matrix 放到指定详情/索引页。任何新增 SEO 模块必须保持设计系统且过移动端截图。
  工具站/地图站不得做成 SEO 原型壳：必须先看至少 3 个直接竞品并输出 interaction_baseline；核心工具必须浏览器实操验证。地图类 P0 必须包含大地图布局、底图/抽象 biome、拖拽缩放、图层多选、marker 弹窗、搜索联动、坐标/深度/数据可信度、移动端可用；不能用装饰图或 prototype 文案冒充 interactive map。
  数据/地图/目录页开工闸门：如果 PRD 要求真实 marker/seed/API/schema，墨界必须先读取墨枢 metadata.artifact_paths 中的 frontend-consumable 数据合同（如 markers.json / manifest.json / frontend-contract.md / schema.json）。缺任一必需文件必须 block `missing-data-contract`，不得自行 mock、不得只按 05B 文字报告脑补数据。数据合同必须区分 `ui_fixture_ready` / `launch_data_ready` / `seo_index_ready`；若 confirmed_count=0 或 launch_data_ready=false，05A 主线上线实现继续 BLOCKED，只允许另开 isolated prototype，不得进入 SEO/上线链路。
  数据上报是墨界 P0：不能只挂脚本，必须实现并验证事件发送。至少覆盖 pageview / hero_cta_click / tool_start / tool_result / pricing_cta_click；地图/目录/数据库站补 map_search / marker_open / filter_apply / detail_open；没有对应模块必须写 N/A 理由。至少 Plausible / GA4 / Clarity / Cloudflare Web Analytics / first-party /api/events 中一个要在线上真实收数或给出精确 block。
  域名邮箱也是墨界/上线前 P0：Contact/Footer/Policy 里的对外邮箱必须是站点域名邮箱；未绑定自定义域名时不能写 Gmail/占位邮箱，必须标记 needs domain email。
  交付：reports/site-pipeline/site-daily-20260522/05a-frontend.md
  metadata 必须包含 preview_url、repo_path、commit、artifact_paths、interaction_baseline、core_interactions_verified、visual_fidelity_check、content_fit_matrix_followed、analytics_event_taxonomy、analytics_reporting_verification、verification、acceptance_checklist。验收必须覆盖 build、preview 200、移动端、核心页面、核心工具交互、SEO 基础、数据上报网络请求/后台收数证据、首页不是 SEO 墙、实站截图对比设计截图。


id: t_7188a995
title: [Daily Step 5B 墨枢] 后端/D1/R2/鉴权/支付/API 联调
assignee: moshu
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-05b-moshu
skills: ["projects/backend-site-build"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取 PRD、定价、合规和设计，完成后端/API/存储/鉴权/支付判定与实现。
  开工前先验证 PRD/定价/合规/设计父任务 artifact_paths；缺关键输入必须 block `upstream-gate-failed`。
  必须遵守 backend-site-build：先解析 PRD，确认登录/支付/AI API/免费额度/域名状态；D1/R2/KV 不复制旧项目 id；migration 必须 local + remote；API schema 必须交给前端；AI 成功后才扣额度；Webhook 用 request.text；OAuth 有 state；所有 Pages Functions route 声明 edge runtime；涉及 CF/DNS/SSL/WAF 变更先查现状再操作。
  必须明确 crawler_hints_status、cf_security_settings_status、domain_email_status。
  数据/地图/目录站必须额外交付 frontend-consumable 数据合同，不得只交文字方案：`markers.json`/`seed.json`、`manifest.json`、`frontend-contract.md`、`schema.json` 至少覆盖实体字段、坐标/分类、source/provenance、freshness、index/noindex、前端读取路径。合同必须显式给出 `ui_fixture_ready`、`launch_data_ready`、`seo_index_ready`、`confirmed_count`；若 confirmed_count=0 或 launch_data_ready=false，必须 BLOCK `confirmed-data-insufficient`，不能用 demo fixture 标 DONE 解锁主线。
  交付：reports/site-pipeline/site-daily-20260522/05b-backend.md
  metadata 必须包含 schema_path、api_schema_path、storage_plan、auth_payment_plan、free_quota_rules、migration_status、secrets_status_masked、cf_security_settings_status、crawler_hints_status、api_e2e_verification、frontend_data_contract_paths、artifact_paths、verification、acceptance_checklist。


id: t_08c72a3a
title: [Daily Step 7 墨引] 技术 SEO/GEO/AEO 精修与验收
assignee: moyin
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-07-moyin
skills: ["projects/site-seo-review"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取前后端交付，检查 sitemap、robots、schema、metadata、internal links、AI citation blocks、answer-first/Short answer/FAQ/AEO。
  开工前验证前后端 preview_url / repo_path / schema/API handoff。
  必须跑技术 SEO audit（脚本或等价检查），覆盖 Title、Meta description、canonical、H1/H2/H3、word count、主词密度、noindex、sitemap inclusion、robots、图片 alt、OG/Twitter、schema、内链、anti-spam。进入 sitemap 的页面必须真实有价值；placeholder/prototype/pending source 页面必须 noindex 且不进 sitemap。
  交付：reports/site-pipeline/site-daily-20260522/07-technical-seo.md
  metadata 必须包含 checked_urls、schema_files、sitemap_robots_status、indexability_matrix、geo_aeo_status、seo_audit_result_path、artifact_paths、verification、acceptance_checklist。


id: t_220a55e4
title: [Daily Step 7B 墨盾] 合规/Policy 上线前复验
assignee: modun
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-07b-modun
skills: ["openclaw-imports/compliance-review"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取前后端预览、PRD、合规早期报告，执行上线前合规/Policy 复验。
  必须检查 /privacy、/terms、footer policy links、Cookie/analytics 披露、fan-made/no-affiliation、品牌/IP 禁词、数据准确性免责声明；policy 声明必须与实际脚本/功能一致。
  交付：reports/site-pipeline/site-daily-20260522/07b-compliance-recheck.md
  metadata 必须包含 compliance_verdict、policy_pages_checked、analytics_disclosure_status、ip_trademark_status、p0_p1_p2_issues、artifact_paths、verification、acceptance_checklist。


id: t_fe9281cd
title: [Daily Step 7C 墨策] 产品经理上线前验收
assignee: moce
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-07c-moce
skills: ["projects/site-building"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取 PRD、前后端交付、墨引 SEO/GEO/AEO 验收、墨盾合规/Policy 复验，从产品经理视角做 Product Acceptance。
  这一步不是重写 PRD，而是验收当前产品是否满足 PRD、竞品 competitive minimum、核心用户任务和上线范围。工具/地图站必须以真实用户任务验收：找资源、筛 marker、打开 detail、复制坐标、路线提示、移动端可用；不得把 required scope 降级为 later。
  必须额外做 Design/Product Fit 验收：浏览器打开实站/preview，截首页、核心工具页、移动端；对比 design screenshots/HANDOFF/content-fit-matrix。若首页出现 SEO 墙、query index/token 列表外露、空媒体卡、大段重复文案压垮布局、或与视觉真源明显不一致，pm_verdict 必须 PM_NO_GO。
  交付：reports/site-pipeline/site-daily-20260522/07c-product-acceptance.md
  metadata 必须包含 pm_verdict(PM_GO/PM_NO_GO/PM_CONDITIONAL_GO)、competitive_minimum_verdict、design_fidelity_verdict、content_ux_verdict、verified_user_tasks、scope_gaps、blocker_count、artifact_paths、verification、acceptance_checklist。


id: t_f72541db
title: [Daily Step 8 墨测] 全站 QA 验收 + 返修清单
assignee: motest
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-08-motest
skills: ["projects/site-qa"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取预览 URL、墨引 SEO/GEO/AEO 验收、墨盾合规/Policy 复验、墨策产品经理验收，做功能/移动端/性能/安全/合规/SEO/埋点 QA。
  开工前验证 preview_url、SEO handoff、compliance handoff、PM acceptance handoff；缺任一关键输入必须 block。墨策 pm_verdict 不是 PM_GO/PM_CONDITIONAL_GO 时不得 GO。
  工具站 QA 不能只验 200/metadata/schema；必须读取/复核竞品 interaction_baseline，并用浏览器实际操作核心工具。地图类必须实测拖拽、缩放、图层筛选、marker 弹窗、搜索联动、坐标/数据可信度、移动端地图可用；任一核心交互缺失即 go_no_go=NO-GO。
  Design QA 属于硬门槛：必须用浏览器截图实站首页/核心页/移动端，对照设计包与 content-fit-matrix；若 SEO 文案破坏布局、首页变 SEO 墙、媒体卡空、视觉明显低保真，即使 SEO/功能通过也必须 NO-GO。
  Policy 合规也属于 QA 范围：/privacy、/terms、footer 链接、analytics/cookie 披露、fan-made/no-affiliation、品牌/IP 禁词、数据准确性免责声明必须通过；墨盾有 P0 则 QA 不得 GO。
  交付：reports/site-pipeline/site-daily-20260522/08-qa.md
  metadata 必须包含 preview_url、test_matrix、competitor_baseline_checked、core_interactions_verified、design_fidelity_checked、content_ux_checked、pm_verdict_checked、compliance_verdict_checked、p0_p1_p2_issues、go_no_go、artifact_paths、verification、acceptance_checklist。


id: t_68204013
title: [Daily Step 8H 墨策] Owner Review Gate：QA_GO 后等孟健人工验收
assignee: moce
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-08h-owner-review
skills: ["projects/site-building"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  这是 QA 通过后的人工验收闸门，不是产品重做任务。读取 QA 报告与所有上线前 handoff，整理给孟健的人工验收包。

  强制流程：
  1. 验证父任务 QA metadata.go_no_go 为 GO/QA_GO；否则 block `QA_NOT_GO`。
  2. 提取 production/preview URL、核心页面、核心工具路径、QA 结论、P0/P1/P2、已知风险、是否允许上线。
  3. 用 send_message 发到做站群/Topic，标题必须是：`人工验收请求 <task_id> <project_slug>`，包含：站点 URL、5 条验收重点、剩余风险、建议回复格式。
  4. 发送后必须 kanban_block，reason 以 `WAITING_OWNER_SITE_APPROVAL` 开头。
  5. 孟健确认后，才能 complete 本任务；metadata 必须写 `owner_approval: confirmed`、`approved_by: mengjian`、`approval_message`。

  用户回复格式：
  - `确认上线 <task_id>` = 允许进入墨运上线/站长平台/冷启动准备
  - `返修 <task_id>: <问题>` = 不允许上线，创建返修卡并保持本 gate blocked
  - `暂停 <task_id>` = 暂停后续上线

  未获得孟健明确确认，不得让墨运启动。
  交付：reports/site-pipeline/site-daily-20260522/08h-owner-review.md
  metadata 必须包含 owner_review_url_pack、qa_summary_path、p0_p1_p2_issues、residual_risk、owner_approval、artifact_paths。


id: t_7417290f
title: [Daily Step 9 墨运] 上线运营 + Webmaster/GSC + 冷启动分发
assignee: moyun
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-09-moyun
skills: ["projects/site-launch"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取 QA 结论和 Owner Review Gate，通过后做上线运营计划、GSC + Bing Webmaster/目标市场 Webmaster sitemap 提交、冷启动分发包、首周动作。
  只有 QA metadata.go_no_go=go/QA_GO 且 Owner Review Gate metadata.owner_approval=confirmed 才可继续；否则 block。
  上线 Done 口径：生产 URL 可访问 + 域名邮箱/contact/policy 链路确认 + CF settings 复核（尤其 Crawler Hints=on）+ sitemap/robots/canonical/schema 复验 + analytics endpoint 至少一个真实事件入口可验证 + GSC sitemap submitted 或精确 BLOCK 原因 + Bing Webmaster Tools sitemap submitted 或精确 BLOCK 原因（如需 Yandex/其他市场站长平台也同样记录）+ 冷启动分发包已生成。外部发帖/投稿/目录提交必须等孟健确认；未确认时只能产出草稿和渠道清单，metadata.external_posts_published=false。
  交付：reports/site-pipeline/site-daily-20260522/09-launch.md
  metadata 必须包含 production_url、domain_email_status、cf_settings_status、crawler_hints_status、gsc_sitemap_submitted、gsc_submission_method、bing_webmaster_sitemap_submitted、webmaster_submission_status、distribution_pack_path、distribution_log、external_posts_published、analytics_status、launch_checklist、artifact_paths、verification。


id: t_739eb620
title: [Daily Step 10 墨析] 数据链路接管 + 复盘登记
assignee: moxi
status: todo
created_by: user
workspace_kind: scratch
tenant: site-daily-20260522
idempotency_key: site-daily-20260522-10-moxi
skills: ["projects/site-data-review"]
body:
  GOAL MODE / 严格目标模式：你是 Hermes Kanban 派发的专职做站 Agent。
  不闲聊、不泛泛建议、不跳步；必须先加载并遵守绑定 skill。
  缺关键输入就 block，不得编造。
  全链路约束：Cloudflare-first；Conventional commits；不蹭品牌词；不做高风险合规 niche；输出必须落盘到 reports/site-pipeline/site-daily-20260522/。
  Skill-to-Pipeline 同步硬规则：本任务绑定的 skill 是最低交付标准，不是参考资料。开工后必须在交付物里写 `skill_contract_check` 小节：列出该 skill 的必需输入、必需产出、硬约束、验收项，并逐项标记 pass/fail/evidence。若流水线任务正文与 skill 冲突，以更严格者为准；若 skill 要求的交付物未产出，不能 DONE。
  上游交付不是口头摘要，必须是可读文件 + metadata 双轨：下游既要读父任务 metadata，也要读 artifact_paths 里的文件。缺文件、缺关键字段、或内容和 metadata 不一致，一律 `upstream-gate-failed`。
  统一硬门槛：site_type、SERP/竞品 interaction_baseline、core_user_tasks、competitive_minimum、asset/content inventory、index/noindex+sitemap policy、analytics/event plan、legal/policy boundary、GTM/复盘口径必须从 PRD 阶段开始贯穿设计、开发、QA、上线、复盘。
  数据上报职责边界：墨界负责把前端/工具/转化事件真实上报并验证，至少覆盖 pageview、hero_cta_click、tool_start、tool_result、pricing_cta_click（无模块标 N/A）；墨运负责上线后搜索站长平台接入与提交，包括 Google Search Console、Bing Webmaster Tools（必要时补 Yandex/其他目标市场 Webmaster）、sitemap 提交/状态记录；墨析负责数据源可信度复核和口径裁判。不能把“脚本已接入”当成“数据已收数”。
  域名/Cloudflare 硬门槛：正式上线必须有站点域名邮箱（如 hello@domain / support@domain），不得用 Gmail 或占位邮箱；如未绑定自定义域名必须明确 block/后续项。墨枢/墨运必须检查 CF 安全标准项：SSL Full Strict、Always HTTPS、Bot Fight Mode、Crawler Hints=on、Browser Cache TTL、/api rate limit、静态资源缓存；不能漏 Crawler Hints。
  完成时必须写 Kanban v2 structured summary + JSON metadata；下游只认父任务 run metadata，不认口头 DONE。
  metadata 必须至少包含：
  - project_slug
  - selected_keyword 或 primary_keyword
  - artifact_paths: 本步骤所有落盘交付物路径
  - verification: 实际执行过的验收/检查命令或人工检查项
  - acceptance_checklist: 本步骤 skill 对应验收清单，true/false
  - residual_risk: 剩余风险，空也写 []
  - next_inputs: 下一棒需要读取的输入
  - blocking_risks
  - next_assignee_input
  下游开工前必须验证父任务 metadata.artifact_paths 对应文件真实存在；缺关键交付物必须 kanban_block，reason 以 `upstream-gate-failed:` 开头，不得脑补继续。
  谁执行谁汇报 / Owner visibility：
  - 你是当前步骤执行者，必须由你自己的 profile 主动汇报到「做站流水线」Telegram topic；不要私聊孟健，不要发到复盘 topic，不要只依赖小墨或 digest。
  - 汇报工具：send_message(action='send', target='telegram:-1003750190535:5318', message='...')。
  - 汇报频率：开始执行发一条 `[START]`；完成或阻塞发一条 `[DONE]` / `[BLOCKED]`；长任务超过 30 分钟发 `[STATUS]`，否则不要刷屏。
  - 汇报格式：开头写清楚「角色名 + task_id + 状态」，例如「墨引 t_xxx [DONE] SEO 复核完成」。
  - DONE 必须包含：交付路径、关键结论 3-5 条、下一棒是谁、是否有风险/人工确认点。
  - BLOCKED 必须包含：阻塞原因、缺什么、需要谁处理、用户在群里应该怎么回复。
  - 汇报成功后，再 kanban_complete 或 kanban_block；如果 send_message 失败，把失败原因写进 block/comment，不能静默完成。
  读取上线运营输出，验收 Plausible/GA4/Clarity/GSC/Bing Webmaster/Stripe/D1 日志入口，登记进入每日复盘池。
  开工前验证 production_url / analytics_status / GSC sitemap submission / Bing Webmaster submission / distribution pack。必须区分“前端脚本已挂”“浏览器网络请求已发”“后台/API 可查”“站长平台已提交但等待数据”四类状态；缺数据入口必须 block，并列出具体 token/scope/dashboard 入口。登记复盘时要写 project_slug、production_url、事件名、UTM 规范、GSC property、Bing Webmaster site、首周复盘日期、owner digest 投递目标。
  交付：reports/site-pipeline/site-daily-20260522/10-data-review-handoff.md
  metadata 必须包含 review_registry_entry、analytics_sources、event_taxonomy、utm_policy、webmaster_sources、baseline_metrics、owner_digest_target、artifact_paths、verification、acceptance_checklist。


id: t_26289150
assignee: moxi
status: blocked
created_by: user
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_26289150
tenant: site-aicodingpricing-20260521
idempotency_key: aicodingpricing-moxi-realtime-after-analytics-fix-20260522
skills: ["projects/site-data-review"]
title:
  [Moxi Recheck] AI Coding Pricing realtime analytics dashboard verification after GA4/Clarity/CFWA fix

body:
  GOAL MODE / 严格目标模式：你是墨析，负责上线后数据复核，不做泛泛建议。

  背景：aicodingpricing.com 已上线，GA4/Clarity/Cloudflare Web Analytics 的线上注入已由 Host 修复并验证。

  必须完成：
  1. 打开/检查 GA4 Realtime 或 DebugView，确认 Measurement ID G-QYC23TSM8Q 能看到实时访问/事件。
  2. 打开/检查 Microsoft Clarity 项目 wuwfgms5x2，确认项目存在且 tracking code/实时或近期 session 状态正常。
  3. 检查 Cloudflare Web Analytics / Crawler Hints 状态是否和上线交付一致。
  4. 若后台登录态/权限阻塞，先尝试共享浏览器；确实无权限再 BLOCK，写清楚缺哪个账号/哪个页面。
  5. 输出 structured summary + metadata：ga4_status, clarity_status, cfwa_status, evidence_paths_or_screenshots, residual_risks, next_actions。

  不得做：不得公开发布/分发；不得改生产配置；不得重复让 mojie 配置 env。

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_b0f1d1f4
assignee: moxi
status: done
created_by: budget-continuation-watchdog
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_b0f1d1f4
tenant: site-aicodingpricing-20260521
idempotency_key: budget-continuation-t_26289150
skills: ["projects/site-data-review"]
title:
  [CONT] [Moxi Recheck] AI Coding Pricing realtime analytics dashboard verification after GA4/Clarity/CFWA fix

body:
  GOAL MODE / automatic narrow continuation after iteration-budget exhaustion.

  Original task: `t_26289150`
  Original title: [Moxi Recheck] AI Coding Pricing realtime analytics dashboard verification after GA4/Clarity/CFWA fix
  Original assignee: `moxi`
  Original latest summary: Iteration budget exhausted (60/60) — task could not complete within the allowed iterations
  Original parents reused for this continuation: `t_2671ede0`

  This is NOT a restart. Continue from the artifacts, repo/workspace state, logs, and dirty changes produced by `t_26289150`. First inspect the original task log and current workspace, then finish only the missing closeout work.

  Required actions:
  1. Read original task details/logs: `hermes kanban --board site-factory show t_26289150 --json` and board log if present.
  2. Inspect workspace/repo state and existing artifacts before changing anything.
  3. Preserve useful completed work; remove accidental/generated noise.
  4. Run the original acceptance gates that are still missing.
  5. If code was modified: complete the full sync loop — `git status --short` before/after, lint/build/test/verify, conventional commit, push, deploy from the same commit, production/preview smoke.
  6. Complete this continuation with structured metadata: `continued_from`, `artifact_paths`, `verification`, `commit_sha` if applicable, `deploy_url` if applicable, `git_status_after`, `residual_risk`, `next_inputs`.
  7. If blocked, block with the exact failing command/output and what owner/profile must fix.

  Downstream tasks originally waiting on `t_26289150` at creation time:
  - none

  The budget-continuation watchdog may rewire non-terminal children from the exhausted task to this continuation. Do not mark the original exhausted task done just to unlock children.


id: t_2033dd46
title: [COLD-START 墨运] AI Coding Pricing Day 0 public distribution and submission execution
assignee: moyun
status: blocked
created_by: xiaomo-host
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: aicodingpricing-cold-start-day0-20260522
skills: ["projects/site-launch"]
body:
  GOAL MODE / 严格目标模式：你是墨运，执行 AI Coding Pricing 的冷启动分发，不闲聊、不泛泛建议，不重跑整条做站 DAG。

  项目：AI Coding Pricing
  生产站：https://aicodingpricing.com
  Tenant：site-aicodingpricing-20260521
  上游已完成：
  - Launch continuation DONE: t_967ca8c5。GSC sitemap 已提交、Bing sitemap 已提交、Cloudflare Crawler Hints 已验证、cold-start package 已准备。
  - Post-launch data review DONE: t_7a263660。
  - Analytics/observability fix DONE: t_2671ede0。
  - Realtime analytics recheck DONE: t_b0f1d1f4。GA4 Realtime、Clarity wuwfgms5x2、Cloudflare Web Analytics beacon 均通过。

  Owner approval：孟健在 Telegram 明确说「冷启动可以做了」。这视为允许执行冷启动公开分发/投稿，但仍要遵守平台规则、账号风控和 Reddit posting lock。

  必须先读取上游冷启动包和证据：
  - /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/launch/cold-start-package.md
  - /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/launch/launch-report.md
  - /root/.hermes/kanban/boards/site-factory/reports/site-pipeline/site-aicodingpricing-20260521/aicodingpricing/data-review/post-launch-review-plan.md
  - /root/.hermes/kanban/boards/site-factory/workspaces/t_b0f1d1f4/aicodingpricing_realtime_recheck_20260522.md

  执行范围：
  1. 建立/更新运营交付物，落盘到仓库或 site-factory reports：
     - data/aicodingpricing/baseline.md
     - data/aicodingpricing/competitor-backlinks.md
     - data/aicodingpricing/cold-start-execution-log.md
     - data/aicodingpricing/experiments.md
     - reports/aicodingpricing/week1-review.md（初始化模板即可）
  2. 基于 cold-start package 和竞品外链，执行 Day 0 冷启动：AI 工具目录、开发者社区、技术周刊/Newsletter、垂直渠道。
  3. 可公开提交/发帖/投稿，但必须：
     - 每个渠道先检查规则和相关性。
     - 不硬广，使用「真实成本计算 / AI coding tool pricing comparison」价值角度。
     - Reddit 必须执行账号级 posting lock：age/karma/recent removals、subreddit rules、approved relevance、one-account-one-window、默认最多 1 Reddit comment/day；不满足则记录 blocked，不要硬发。
     - Product Hunt 如需排期/账号权限/素材不足，可准备并记录 draft，不要伪造已发布。
     - HN/Show HN、V2EX、X、即刻、周刊投稿等若账号登录态/权限不足，先尝试共享浏览器；仍不足则记录 `login_required` / `permission_blocked`。
  4. 所有外部动作必须写入 execution log：channel、url、action、status、timestamp、account/context、UTM、next follow-up。
  5. 如果修改仓库文件：必须 `git status --short` 前后、lint/build 如需要、Conventional Commit、push。若只写 reports 且不在 repo，可说明不需要 deploy。
  6. 完成时用 `kanban_complete(summary=..., metadata={...})`，metadata 必须包含：
     - `production_url`
     - `owner_approval="cold_start_public_distribution_allowed"`
     - `channels_attempted`
     - `external_posts_published`（列表，不能把 blocked/draft 算发布）
     - `submissions_created`
     - `blocked_channels`
     - `artifact_paths`
     - `followup_windows`（24h/72h/7d）
     - `residual_risk`

  可见性：进展发到 Telegram topic `telegram:-1003750190535:5866`（做站 · aicodingpricing），不要 DM 刷屏。

  [HOST VISIBILITY OVERRIDE / DO NOT IGNORE]
  - Project topic target: `telegram:-1003750190535:5866` (`做站 · aicodingpricing`)。
  - All START / STATUS / DONE / BLOCKED progress must be sent there with `send_message(action='send', target='telegram:-1003750190535:5866', message='...')`.
  - Do not DM Meng Jian for pipeline progress. Do not send this project's progress to the generic 做站流水线 or 做站复盘 topic unless explicitly asked.
  - If `send_message` fails, write the error into Kanban comment/block; do not silently complete.


id: t_9f8219d2
title: [CONT] [COLD-START 墨运] AI Coding Pricing Day 0 public distribution and submission execution
assignee: moyun
status: done
created_by: budget-continuation-watchdog
workspace_kind: dir
workspace_path: /root/projects/aicodingpricing
tenant: site-aicodingpricing-20260521
idempotency_key: budget-continuation-t_2033dd46
skills: ["projects/site-launch"]
body:
  GOAL MODE / automatic narrow continuation after iteration-budget exhaustion.

  Original task: `t_2033dd46`
  Original title: [COLD-START 墨运] AI Coding Pricing Day 0 public distribution and submission execution
  Original assignee: `moyun`
  Original latest summary: Iteration budget exhausted (60/60) — task could not complete within the allowed iterations
  Original parents reused for this continuation: `t_967ca8c5`, `t_b0f1d1f4`

  This is NOT a restart. Continue from the artifacts, repo/workspace state, logs, and dirty changes produced by `t_2033dd46`. First inspect the original task log and current workspace, then finish only the missing closeout work.

  Required actions:
  1. Read original task details/logs: `hermes kanban --board site-factory show t_2033dd46 --json` and board log if present.
  2. Inspect workspace/repo state and existing artifacts before changing anything.
  3. Preserve useful completed work; remove accidental/generated noise.
  4. Run the original acceptance gates that are still missing.
  5. If code was modified: complete the full sync loop — `git status --short` before/after, lint/build/test/verify, conventional commit, push, deploy from the same commit, production/preview smoke.
  6. Complete this continuation with structured metadata: `continued_from`, `artifact_paths`, `verification`, `commit_sha` if applicable, `deploy_url` if applicable, `git_status_after`, `residual_risk`, `next_inputs`.
  7. If blocked, block with the exact failing command/output and what owner/profile must fix.

  Downstream tasks originally waiting on `t_2033dd46` at creation time:
  - none

  The budget-continuation watchdog may rewire non-terminal children from the exhausted task to this continuation. Do not mark the original exhausted task done just to unlock children.


id: t_4b050ded
title: [CORRECTION aicodingpricing] Re-audit analytics gate and fix false pass
assignee: moxi
status: done
created_by: xiaomo
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_4b050ded
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521-analytics-gate-correction
skills: ["projects/site-data-review"]
body:
  HOST CORRECTION from 孟健 review: previous data-review closeout conflated analytics states. Live browser verification on https://aicodingpricing.com shows:
  - Plausible front-end script loads: https://plausible.shipsolo.io/js/script.js
  - Plausible browser event requests observed: https://plausible.shipsolo.io/api/event
  - Plausible backend/API reporting token/dashboard access was NOT verified, so UV/session numbers are not proven.
  - GA4 gtag/dataLayer currently undefined in runtime.
  - Clarity runtime currently undefined.
  - Cloudflare Web Analytics beacon loads.

  Required outcome:
  1. Re-audit the analytics gate using the four-state model: front-end script, browser network, backend/API or dashboard data, webmaster submissions.
  2. Patch the post-launch report / metadata so status is not "passed" unless backend/dashboard data is actually queryable.
  3. If Plausible dashboard/API is missing, create/record exact missing credential/host/token or configure it via approved browser/backend access.
  4. Recheck GA4 and Clarity; if runtime is still missing, create mojie fix task with exact evidence.
  5. Report corrected conclusion to topic telegram:-1003750190535:5866; do not call this a full data gate pass until evidence is attached.


id: t_f54ed4dc
title: [Follow-up aicodingpricing] Fix GA4/Clarity runtime regression after correction re-audit
assignee: mojie
status: blocked
created_by: moxi
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_f54ed4dc
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521-ga4-clarity-runtime-regression-20260522
session_id: 20260522_061927_ce0ef1
body:
  来源：墨析 correction re-audit task_id=t_4b050ded。

  目标：修复 aicodingpricing.com 当前 production runtime 中 GA4 / Clarity 缺失问题，并解释为什么 t_b0f1d1f4 曾验证通过但当前线上又缺失（可能是 Cloudflare Pages env/auto-inject、部署回滚、缓存或构建产物差异）。

  当前墨析证据（2026-05-22T06:20Z）：
  - Production URL: https://aicodingpricing.com/
  - `window.gtag` = undefined；`window.dataLayer` = false。
  - `window.clarity` = undefined。
  - HTML probe: `has_ga4_id=false`, `has_clarity_id=false`, `has_cfwa=true`, `has_plausible=true`。
  - runtime scripts 仅看到 `https://plausible.shipsolo.io/js/script.js` 与 `https://static.cloudflareinsights.com/beacon...`。
  - artifact: /root/.hermes/kanban/boards/site-factory/workspaces/t_4b050ded/aicodingpricing_analytics_gate_correction_20260522.md

  交付要求：
  1. 检查 /root/projects/aicodingpricing source、Cloudflare Pages production deployment、Production+Preview env、Cloudflare Web Analytics auto-inject 是否一致。
  2. 恢复并验证 GA4 Measurement ID `G-QYC23TSM8Q` 与 Clarity tracking id `wuwfgms5x2` 在线上 production runtime 可见。
  3. 真实浏览器复测：脚本 src、`window.gtag`/`dataLayer`、`window.clarity`、GA collect、Clarity collect。
  4. 如果需要生产部署或修改 Cloudflare 配置，先给证据并按安全边界执行；不要对外发布、不要群发、不要写生产业务数据。
  5. 完成后请求墨析复核，不能自行把数据 gate 标记为 pass。

  交付 topic：telegram:-1003750190535:5866
  同步节点：claim/开始时发 [ACK]；遇阻塞发 [BLOCKED]；完成发 [DONE]。
  汇报格式：6 行内，含 task_id / 当前状态 / 已验证证据 / 需要墨析复核点 / 下一步。需要口径确认时 @墨析。
  完成门槛：未在群 topic 同步 [DONE] 或 [BLOCKED]，不得视为交付完成。


id: t_27640341
title: [Follow-up aicodingpricing] Fix Plausible backend/API site access for UV/session reporting
assignee: moshu
status: done
created_by: moxi
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_27640341
tenant: site-aicodingpricing-20260521
idempotency_key: site-aicodingpricing-20260521-plausible-backend-api-401-20260522
session_id: 20260522_061927_ce0ef1
body:
  来源：墨析 correction re-audit task_id=t_4b050ded。

  目标：闭环 aicodingpricing.com 的 Plausible self-host 后台/API 可查状态；当前不能用 Plausible UV/session 作为事实指标。

  当前墨析证据（2026-05-22T06:20Z）：
  - 前端脚本 PASS：`https://plausible.shipsolo.io/js/script.js` 已加载，`window.plausible` 为 function。
  - 浏览器网络 PASS：performance entries 观察到 `https://plausible.shipsolo.io/api/event`。
  - 后端 API FAIL：用当前可用 `PLAUSIBLE_API_TOKEN/PLAUSIBLE_API_KEY` 查询：
    - `GET https://plausible.shipsolo.io/api/v1/stats/aggregate?site_id=aicodingpricing.com&period=7d&metrics=visitors,pageviews,visits,bounce_rate,visit_duration` -> HTTP 401 `Invalid API key or site ID`。
    - `GET https://plausible.shipsolo.io/api/v1/stats/timeseries?site_id=aicodingpricing.com&period=7d` -> HTTP 401。
  - Dashboard FAIL/未验证：`https://plausible.shipsolo.io/aicodingpricing.com` 返回 404 page with Login link。
  - artifact: /root/.hermes/kanban/boards/site-factory/workspaces/t_4b050ded/aicodingpricing_analytics_gate_correction_20260522.md

  交付要求：
  1. 确认 self-host Plausible 中是否存在 site_id/domain `aicodingpricing.com`，以及 domain 是否应为别名/其他 site_id。
  2. 若 site 缺失：创建/配置 site，使当前生产脚本 domain 与后台 site 匹配。
  3. 若 token 无权限：提供/配置对该 site 有权限的 API token；不要在 Kanban/comment/群里暴露原始 token。
  4. 复测 aggregate + timeseries API，并输出 sanitized evidence（HTTP 状态、site_id、date/period、visitors/pageviews/visits，可不含 token）。
  5. 完成后请求墨析复核；墨析复核通过前，不得把 Plausible backend gate 标记为 pass。

  交付 topic：telegram:-1003750190535:5866
  同步节点：claim/开始时发 [ACK]；遇阻塞发 [BLOCKED]；完成发 [DONE]。
  汇报格式：6 行内，含 task_id / 当前状态 / 已验证证据 / 需要墨析复核点 / 下一步。


id: t_617b7cd0
title: [Review aicodingpricing] Re-audit Plausible backend/API gate after site creation
assignee: moxi
status: done
created_by: moshu
workspace_kind: scratch
workspace_path: /root/.hermes/kanban/boards/site-factory/workspaces/t_617b7cd0
tenant: site-aicodingpricing-20260521
session_id: 20260522_062431_302dff
body:
  来源：t_27640341 墨枢修复完成后复核请求。

  请复核 aicodingpricing.com Plausible backend/API gate。

  墨枢交付物：/root/.hermes/kanban/boards/site-factory/workspaces/t_27640341/aicodingpricing_plausible_backend_fix_20260522.md

  已修复事实：
  - self-hosted Plausible 原先缺少 `aicodingpricing.com` site row。
  - 已在 team_id=3 下创建 site/domain `aicodingpricing.com`，site_pk=85。
  - 已用现有 server-side Plausible API token 复测：aggregate/timeseries API 从 HTTP 401 变为 HTTP 200。
  - period=7d 返回 2026-05-15..2026-05-21 全 0；current day controlled event 后 period=day aggregate 为 visitors=1/pageviews=1/visits=1。

  复核要求：
  1. 独立复测 aggregate + timeseries API。
  2. 如需 dashboard 口径，请用已登录 Plausible UI 复核；未登录 URL 仍可能 404/login HTML。
  3. 复核通过前，不要把 Plausible backend gate 标记为 pass。
  4. 复核完成后更新 post-launch review metadata/report。


