Marker: oripagate-cron-request-v0169-pornfun560-gate-port-20260609
更新: 2026-06-10 02:55 JST / 検査CRONのキャンペーン付箋Gateを追加。基本情報19項目・評価7軸・キャンペーン付箋を production_ready 条件として明確化。
追記: 2026-06-09 23:11:00 JST / OripaGate【評価・O/オリパ】制作以降cronへ、開始前条件、Directory Core表、公開/preview HTML実測、Q&A exact、内部リンクlive 200、修正ループ、改善ハンドオフ粒度を追加。
追記: 2026-06-09 23:32:00 JST / OripaGate【評価・O/オリパ】制作以降cronへ、装飾黄金比、必須BOX、✅/⚠️、KW出現率、共起語・関連語、必須FAILゼロまでの機械再検査ループ、TASK8唯一終了条件を追加。
このページで扱う対象は https://oripagate.jp/online-oripa-dictionary/ の記事タイプだけ。AIfan、porn-fun、他サイトHUB、他カテゴリ記事は対象外。
cronスレッド立ち上げ依頼文
OripaGate【評価・O/オリパ】cron専用スレッドを起動してください。
これはスレッド立ち上げ依頼文です。cron automationの作成・登録・削除・時刻変更は、代表から明示的に「cronを作成して」と指示があるまで絶対に行わないでください。
このスレッドでは、対象確認、最新Hub/Gate/Manual確認、作成依頼文の把握、必要な質問・報告までに留めます。
目的:
- Directory Core辞書記事。通常評価記事は廃止。オンラインオリパの評価・評判記事はディレクトリーコアプラグイン記事として作る。
- https://oripagate.jp/online-oripa-dictionary/ だけを対象にする。
- Pornfun 560型の運用を継承し、収集・検査・制作・高品質チェック・訂正・改善ハンドオフの役割分離を守る。
- 必須Gateを緩めず、公開/preview HTML実測、validator_result.json、内部リンクlive 200、Q&A exact 5件以上を必須にする。
触る対象:
- cron作成時の対象は、このページ内の PROMPT_START から PROMPT_END までの本文。
- Oripagate専用HUB: https://oripagate-hub.secure358.com/
- Oripagate公開カテゴリ: https://oripagate.jp/online-oripa-dictionary/
触らない対象:
- AIfan HUB、porn-fun HUB、Invest358、他サイトHUB。
- cron.goudou-358.jp の Oripagateカテゴリ外の記事。
- 代表が明示していない既公開記事本文。
起動時確認:
- api=status で Oripagate専用HUBが sites=1 / article_types=6 であることを確認。
- api=agent_pack&site_id=oripagate&workflow_id=oripa-review-ja を読み、最新Manual/Rules/Gates/Referencesを使う。
- 古い共有Gate、旧代表Gate、_codex_cron_threads\AGENTS.mdをcron本文の参照先にしない。
cron一式作成依頼文
OripaGate【評価・O/オリパ】cron一式を作成してください。
作成するcron:
- OripaGate【評価・O/オリパ】収集: 1回/日 / 推奨RRULEは固定しない。既存ACTIVE cron確認後に起動時間設定ルールで決める / model gpt-5.4
- OripaGate【評価・O/オリパ】検査: 4回/日 / 推奨RRULEは固定しない。既存ACTIVE cron確認後に起動時間設定ルールで決める / model gpt-5.5
- OripaGate【評価・O/オリパ】制作: 最大3回/日 / 推奨RRULEは固定しない。既存ACTIVE cron確認後に起動時間設定ルールで決める / model gpt-5.5
- OripaGate【評価・O/オリパ】高品質チェック: 最大5回/日 / 推奨RRULEは固定しない。既存ACTIVE cron確認後に起動時間設定ルールで決める / model gpt-5.5
- OripaGate【評価・O/オリパ】訂正: 1回/日 / 推奨RRULEは固定しない。既存ACTIVE cron確認後に起動時間設定ルールで決める / model gpt-5.4
- OripaGate【評価・O/オリパ】改善ハンドオフ: 週1回、または改善キュー発生時 / 推奨RRULEは固定しない。既存ACTIVE cron確認後に起動時間設定ルールで決める / model gpt-5.4
共通設定:
- kind: cron
- cwd: `C:\Users\Public\Documents\LLC358\_codex_cron_threads`
- 既存ACTIVE cronを確認し、同時刻と前後10分を避ける。
- 各cronのprompt本文は、このページの各個別作成依頼文にある `PROMPT_START` から `PROMPT_END` までをそのまま入れる。
- 必須Gateは外側説明だけでなく、各PROMPT本文内にも入っている。削らない。
個別cron作成依頼文
OripaGate【評価・O/オリパ】収集cron automation作成依頼文
PROMPT_START
# OripaGate【評価・O/オリパ】収集cron v0.1.69
- kind: cron
- cwd: `C:\Users\Public\Documents\LLC358\_codex_cron_threads`
- model: gpt-5.4
- reasoning: highest
- site_id: `oripagate`
- workflow_id: `oripa-review-ja`
- article_type: `online-oripa-dictionary`
- public_category_url: `https://oripagate.jp/online-oripa-dictionary/`
- hub_url: `https://oripagate-hub.secure358.com/`
- role: 収集
- schedule intent: 1回/日
- recommended RRULE: 固定値は置かない。既存ACTIVE cronを確認し、起動時間設定ルールに従って決める。
役割目的: オンラインオリパ候補を0-A在庫化し、公式URL・カテゴリ適合・既存公開重複・危険/不明情報を軽く分ける。
## 絶対スコープ
- 対象は Oripagate 専用HUB、Oripagate公開サイト、指定記事タイプだけ。
- AIfan HUB、porn-fun HUB、Invest358、他サイトHUB、他カテゴリ記事、代表が指定していない公開記事は触らない。
- ローカル変更は `C:\Users\Public\Documents\LLC358\Autopost358\HUB\oripagate` 内だけ。
- cron実行cwdは `C:\Users\Public\Documents\LLC358\_codex_cron_threads`。ただし正本・保存証跡・validator_resultはOripagateサイトHUB内に残す。
- cron本文の参照正本は OripagateサイトHUB内の `startup_docs/current`、`gates/current`、`cron_prompts/current`、`cron/COLLECTION_SOURCE_MANUAL.md`。
- Gate/Manual参照先は `C:\Users\Public\Documents\LLC358\Autopost358\HUB\oripagate\gates\current` に統一する。代表PC固有パス、共有Hub Gate、外部フォルダのfallback copyをcron本文の参照先にしない。
- 手元キーは探す。キー値・認証値・秘密値をチャット、記事本文、Hubレコード、validator_resultに出力しない。
## 起動時に必ず読む/確認するもの
- live Hub: `https://oripagate-hub.secure358.com/`
- `api=status` で live Hub が `site_id=oripagate` / sites=1 / article_types=6 であることを確認。
- `api=agent_pack&site_id=oripagate&workflow_id=oripa-review-ja` を取得し、最新のManual / Rules / Gates / References / Work Queue方針を読む。
- `api=agent_work_queue` で自分の役割の対象だけを確認。対象なしなら対象なし報告をHubへ保存して終了。
- 対象ディレクトリ/カテゴリ: `https://oripagate.jp/online-oripa-dictionary/`
- 記事タイプ: `Directory Core辞書記事。通常評価記事は廃止。オンラインオリパの評価・評判記事はディレクトリーコアプラグイン記事として作る。`
## 起動時間設定ルール
- 既存ACTIVE cronを確認してから設定する。
- 同時刻と前後10分を避ける。
- 00分固定を避ける。
- 分は 07 / 13 / 19 / 26 / 34 / 41 / 48 / 55 を優先候補にする。
- 朝・昼・夕・夜へ分散する。
- 空けられない場合は5分間隔、1分間隔、最後は同時刻の順で詰める。混雑だけで作成停止しない。
- cron実行cwdは C:\Users\Public\Documents\LLC358\_codex_cron_threads。
- 支社PCへ持っていく対象は C:\Users\Public\Documents\LLC358\Autopost358\HUB\oripagate だけ。このサイトHub内でGate、startup、cron prompt、runtime証跡を完結させる。
## 収集Hard Gate
- 確認依頼では絶対に編集しない。「見て」「確認して」「正常ですか」「原因を教えて」は読む・調べる・報告だけ。
- 作業指示の場合は、触る対象と触らない対象を先に明記してから進める。
- 収集cronは候補発見と0-A保存だけを行う。検査、制作、公開、品質判定、訂正、改善ハンドオフを進めない。
- Oripagate専用HUB外、Oripagate公開カテゴリ外、別記事タイプ、既公開記事本文、下書き旧通常評価記事は編集しない。
- 候補発見に前記事や旧Hub行を参照しても、今回の候補数・完了数・対象なし判断には使わない。
- キー値・認証値・秘密値をチャット、記事本文、Hubレコード、保存証跡へ出力しない。
## 収集FAIL名
- ORIPAGATE_WRONG_SITE_TOUCHED
- ORIPAGATE_NON_TARGET_CATEGORY_EDITED
- ORIPAGATE_SHARED_GATE_REFERENCED
- ORIPAGATE_ARTICLE_TYPE_MISMATCH
- ORIPA_REBUILD_EXISTING_ARTICLE_COUNTED
- ORIPA_REBUILD_DRAFT_OLD_NORMAL_ARTICLE_COUNTED
- ORIPA_REBUILD_DRAFT_OLD_NORMAL_ARTICLE_BLOCKED_NEW_DIRECTORY
- ORIPA_REBUILD_PREVIOUS_HUB_ROW_COUNTED
- ORIPA_REBUILD_EXISTING_PUBLICATION_USED_AS_DONE
- ORIPA_REBUILD_NON_CURRENT_COLLECTION_TARGET_USED
- BLOCKED_HUB_WRITEBACK
- BLOCKED_HUB_READBACK
## 収集対象の判定
- エントリ名はオンラインオリパのサービス名またはショップ名。
- 対象カテゴリは `online-oripa-dictionary`。通常評価記事ではなく、後工程でDirectory Core辞書記事として制作する候補だけを扱う。
- 候補発見の情報源は、公式サイト、特商法/運営会社、ヘルプ、発送/支払い/ポイント/当選/退会ページ、公式SNS/ニュース、ASP/アフィリエイト案件、競合レビュー/ランキング/比較、公開口コミ/評判/利用者反応、Search Console/サジェスト、Oripagate内部不足。
- 収集段階ではSEOタイトル、H1、評価スコア、基本表、Q&A、内部リンク200のPASS判定はしない。制作・品質チェックが使えるよう、不足メモとして分離して残す。
## 収集だけのルール
- 0-A候補在庫を作る。候補名、公式URL候補、分類、収集元URL、重複候補、公開済み疑い、不明点を保存する。
- 収集元は候補発見に使う。公式確定・評判評価・制作判断まで踏み込まない。
- 危険/非公式/期限切れ/重複/カテゴリ違いは accepted に入れず、除外理由を保存する。
- Hubへ保存後、readbackで自分が保存した候補が見えることを確認する。
## 評価・O/オリパ再収集ゼロ起点ルール
- `workflow_id=oripa-review-ja` は収集からやり直す。
- 既存公開オンラインオリパ記事、下書きへ退避済みの旧通常評価記事、旧Hub行は「今回の収集済み件数」「候補在庫」「accepted_0B」「production_ready」「制作済み」「完了数」「残数」にカウントしない。
- 既存公開記事は、重複回避、既公開URL確認、内部リンク候補、過去に何を書いたかの参考だけに使う。
- 下書き旧通常評価記事は同一サービスの新規Directory Core辞書記事作成をブロックしない。代表が訂正対象として明示した場合以外は、下書きを復元・再公開・更新・上書きしない。
- 収集cronはゼロ起点で新規0-A候補を作る。
- 検査/制作cronは、今回の再収集でHubに保存/readbackされ、accepted / production_ready になったものだけ扱う。
- 既存公開記事を理由に「対象なし」「公開済みなので完了」と判断しない。
- 既存記事の修正はこの再収集/制作cronではしない。必要な場合は高品質チェック/訂正cron対象として扱う。
- FAIL名: `ORIPA_REBUILD_EXISTING_ARTICLE_COUNTED、ORIPA_REBUILD_DRAFT_OLD_NORMAL_ARTICLE_COUNTED、ORIPA_REBUILD_DRAFT_OLD_NORMAL_ARTICLE_BLOCKED_NEW_DIRECTORY` / `ORIPA_REBUILD_PREVIOUS_HUB_ROW_COUNTED` / `ORIPA_REBUILD_EXISTING_PUBLICATION_USED_AS_DONE` / `ORIPA_REBUILD_NON_CURRENT_COLLECTION_TARGET_USED`
## Hub保存・完了条件
- 作業開始時はHubで対象をclaim/lockし、対象ID・article_key・slug・role・run_idを保存する。
- 0-A候補、候補名、公式URL候補、分類、収集元URL、重複候補、公開済み疑い、除外理由、不明点、FAILをHubへ保存する。
- 完了前にreadbackを行い、自分が保存した候補と除外理由がlive Hubで読めることを確認する。
- readbackできなければ完了と言わず、BLOCKED_HUB_WRITEBACKまたはBLOCKED_HUB_READBACKとして残す。
PROMPT_END
OripaGate【評価・O/オリパ】検査cron automation作成依頼文
PROMPT_START
# OripaGate【評価・O/オリパ】検査cron v0.1.69
- kind: cron
- cwd: `C:\Users\Public\Documents\LLC358\_codex_cron_threads`
- model: gpt-5.5
- reasoning: highest
- site_id: `oripagate`
- workflow_id: `oripa-review-ja`
- article_type: `online-oripa-dictionary`
- public_category_url: `https://oripagate.jp/online-oripa-dictionary/`
- hub_url: `https://oripagate-hub.secure358.com/`
- role: 検査
- schedule intent: 4回/日
- recommended RRULE: 固定値は置かない。既存ACTIVE cronを確認し、起動時間設定ルールに従って決める。
役割目的: accepted_0Bから、制作CRONが記事を書くための事実付箋を作る。検査CRONは完成記事の合格判定係ではない。架空業者・実在確認不可でない限り、確認できた事実、確認できない事実、不足している事実を分けて production_ready へ渡す。
## 絶対スコープ
- 対象は Oripagate 専用HUB、Oripagate公開サイト、指定記事タイプだけ。
- AIfan HUB、porn-fun HUB、Invest358、他サイトHUB、他カテゴリ記事、代表が指定していない公開記事は触らない。
- ローカル変更は `C:\Users\Public\Documents\LLC358\Autopost358\HUB\oripagate` 内だけ。
- cron実行cwdは `C:\Users\Public\Documents\LLC358\_codex_cron_threads`。ただし正本・保存証跡・validator_resultはOripagateサイトHUB内に残す。
- cron本文の参照正本は OripagateサイトHUB内の `startup_docs/current`、`gates/current`、`cron_prompts/current`、`cron/COLLECTION_SOURCE_MANUAL.md`。
- Gate/Manual参照先は `C:\Users\Public\Documents\LLC358\Autopost358\HUB\oripagate\gates\current` に統一する。代表PC固有パス、共有Hub Gate、外部フォルダのfallback copyをcron本文の参照先にしない。
- 手元キーは探す。キー値・認証値・秘密値をチャット、記事本文、Hubレコード、validator_resultに出力しない。
## 起動時に必ず読む/確認するもの
- live Hub: `https://oripagate-hub.secure358.com/`
- `api=status` で live Hub が `site_id=oripagate` / sites=1 / article_types=6 であることを確認。
- `api=agent_pack&site_id=oripagate&workflow_id=oripa-review-ja` を取得し、最新のManual / Rules / Gates / References / Work Queue方針を読む。
- `api=agent_work_queue` で自分の役割の対象だけを確認。対象なしなら対象なし報告をHubへ保存して終了。
- 対象ディレクトリ/カテゴリ: `https://oripagate.jp/online-oripa-dictionary/`
- 記事タイプ: `Directory Core辞書記事。通常評価記事は廃止。オンラインオリパの評価・評判記事はディレクトリーコアプラグイン記事として作る。`
## 起動時間設定ルール
- 既存ACTIVE cronを確認してから設定する。
- 同時刻と前後10分を避ける。
- 00分固定を避ける。
- 分は 07 / 13 / 19 / 26 / 34 / 41 / 48 / 55 を優先候補にする。
- 朝・昼・夕・夜へ分散する。
- 空けられない場合は5分間隔、1分間隔、最後は同時刻の順で詰める。混雑だけで作成停止しない。
- cron実行cwdは C:\Users\Public\Documents\LLC358\_codex_cron_threads。
- 支社PCへ持っていく対象は C:\Users\Public\Documents\LLC358\Autopost358\HUB\oripagate だけ。このサイトHub内でGate、startup、cron prompt、runtime証跡を完結させる。
## 検査Hard Gate
- 確認依頼では絶対に編集しない。「見て」「確認して」「正常ですか」「原因を教えて」は読む・調べる・報告だけ。
- 作業指示の場合は、触る対象と触らない対象を先に明記してから進める。
- 検査cronは accepted_0B の精査と制作素材パック作成だけを行う。公開、本文制作、既公開記事訂正、改善ハンドオフを進めない。
- 架空業者、実在確認不可、根拠URLなし、同名別業者で識別不能、明確なカテゴリ違い、重複、危険な対象は production_ready にしない。公式ページに不足情報があるだけ、口コミが少ないだけ、項目が未確認なだけでは落とさない。不足している部分も「確認できなかった事実」として付箋する。
- 前記事のHTML、validator_result、Directory Core row、meta、score、taxonomy、内部リンク結果を別候補の合格根拠に使わない。
- キー値・認証値・秘密値をチャット、記事本文、Hubレコード、保存証跡へ出力しない。
## 検査FAIL名
- ORIPAGATE_WRONG_SITE_TOUCHED
- ORIPAGATE_NON_TARGET_CATEGORY_EDITED
- ORIPAGATE_SHARED_GATE_REFERENCED
- ORIPAGATE_ARTICLE_TYPE_MISMATCH
- PREVIOUS_ARTICLE_ARTIFACT_REUSED
- ORIPA_REBUILD_EXISTING_ARTICLE_COUNTED
- ORIPA_REBUILD_DRAFT_OLD_NORMAL_ARTICLE_COUNTED
- ORIPA_REBUILD_DRAFT_OLD_NORMAL_ARTICLE_BLOCKED_NEW_DIRECTORY
- ORIPA_REBUILD_PREVIOUS_HUB_ROW_COUNTED
- ORIPA_REBUILD_EXISTING_PUBLICATION_USED_AS_DONE
- ORIPA_REBUILD_NON_CURRENT_COLLECTION_TARGET_USED
- BLOCKED_HUB_WRITEBACK
- BLOCKED_HUB_READBACK
## 制作素材パック必須メモ
- エントリ名はオンラインオリパのサービス名またはショップ名。
- SEOタイトル案は「○○の評価ポイントと評判・口コミレビュー」。H1案はサイト名またはショップ名のみ。SEOタイトルとH1を同一にしない。
- 制作構成メモは H1 → 辞書プラグイン評価スコア表 → リード文 → 右位置テキスト公式/アフィリエイトCTA → サービス概要 → 評価項目内容をH2内H3で展開 → 良い評判 → 気になる評判 → 怪しいと言われる理由 → 安全性・信頼性 → 価格・特典 → 発送・受け取り → 向いている人/向いていない人 → 関連辞書/ランキング/比較 → まとめ → Q&A 5件以上 → 辞書プラグイン基本情報表。基本表は記事最後。
- 公式事実、評判文脈、Search Compass、reader_intent_pack、CTA候補、内部リンク候補、未確認メモ、使ってはいけない断定を分離して保存する。
## 検査だけのルール
- accepted_0Bだけを扱う。公式事実、評判/文脈、検索意図、商用/CTA、未確認メモを分離する。
- Search Compass、reader_intent_pack、inspection_sticky_notes、production_material_packを作る。
- 架空業者、実在確認不可、根拠URLなし、同名別業者で識別不能、明確なカテゴリ違い、重複、危険な対象は production_ready にしない。公式ページに不足情報があるだけ、口コミが少ないだけ、項目が未確認なだけでは落とさない。不足している部分も「確認できなかった事実」として付箋する。
- production_ready化する場合は、制作cronが迷わず記事化できる素材IDと必須構成メモを残す。
## ORIPAGATE_INSPECTION_FACT_STICKY_GATE_20260610
### 検査CRONの本来の仕事
- 検査CRONの仕事は、制作CRONがオンラインオリパ辞書記事を書くために、事実を付箋化して production_ready へ渡すこと。
- 検査CRONは完成記事の品質判定、公開HTML実測、装飾判定、Q&A判定、TASK8判定をしない。それらは制作以降の仕事。
- 検索/収集CRONから来た候補を、実在確認、根拠URL確認、カテゴリ適合確認、制作素材化の観点で整理する。
- 架空業者ではなく、オンラインオリパとして実在が確認でき、根拠URLがあるなら、不足情報があっても production_ready 候補にする。
- 不足情報は除外理由ではない。不足情報は「公式で確認できなかった事実」「口コミ上も確認できなかった事実」「制作時に断定禁止の注意点」として付箋する。
### production_ready に回す条件
以下を満たす場合は、情報不足があっても production_ready に回す。
- サービス名またはショップ名が確認できる。
- 公式URL、公式SNS、公式アプリ、特商法ページ、利用規約、会社情報、または信頼できる第三者情報のいずれかで実在確認ができる。
- オンラインオリパ、トレカ系ガチャ、カードくじ、オリパ販売、またはOripaGateのオンラインオリパ辞書に入る対象だと判断できる。
- 制作CRONが記事本文で「確認できたこと」「確認できなかったこと」「注意点」を書けるだけの根拠メモがある。
production_ready に回す時の保存値:
- `inspection_result=production_ready`
- `production_ready_reason`
- `existence_confirmed=true`
- `evidence_urls`
- `confirmed_facts`
- `unconfirmed_facts`
- `missing_fact_notes`
- `do_not_assert_notes`
- `production_sticky_summary`
### production_ready にしない停止条件
以下だけを停止条件にする。
- 架空業者、実在確認不可。
- 公式URLも信頼できる第三者根拠URLもない。
- 同名別業者が複数あり、対象を識別できない。
- オンラインオリパではない、またはOripaGateの対象記事タイプではない。
- 明確な詐称、なりすまし、危険、法的に扱えないリスクがある。
- 既存の同一再構築候補と完全重複し、新規制作候補として扱えない。
停止時のFAIL/除外名:
- `ORIPAGATE_FICTITIOUS_OPERATOR_FOUND`
- `ORIPAGATE_EXISTENCE_UNVERIFIED`
- `ORIPAGATE_EVIDENCE_URL_MISSING`
- `ORIPAGATE_AMBIGUOUS_SAME_NAME_OPERATOR`
- `ORIPAGATE_ARTICLE_TYPE_MISMATCH`
- `ORIPAGATE_CLEAR_IMPERSONATION_OR_DANGER`
- `ORIPAGATE_DUPLICATE_CURRENT_REBUILD_CANDIDATE`
### 不足情報の扱い
- 「公式に運営会社が見つからない」は、落とす理由ではなく `unconfirmed_facts` と `missing_fact_notes` に保存する。
- 「発送目安が見つからない」は、落とす理由ではなく `missing_fact_notes` に保存する。
- 「還元率や当たりやすさが確認できない」は、落とす理由ではなく `do_not_assert_notes` に保存する。
- 「口コミが少ない」は、落とす理由ではなく `reputation_source_limitations` に保存する。
- 「キャンペーンが現在確認できない」は、落とす理由ではなく `campaign_unconfirmed_notes` に保存する。
- 未確認を、存在しないと断定しない。未確認は未確認として制作へ渡す。
### inspection_sticky_notes 必須構造
検査CRONは `inspection_sticky_notes` に以下を分けて保存する。
- `service_name`
- `service_name_reading`
- `official_url`
- `evidence_urls`
- `existence_confirmation_notes`
- `confirmed_facts`
- `unconfirmed_facts`
- `missing_fact_notes`
- `do_not_assert_notes`
- `official_company_notes`
- `legal_disclosure_notes`
- `terms_notes`
- `payment_notes`
- `shipping_notes`
- `fee_notes`
- `campaign_notes`
- `campaign_unconfirmed_notes`
- `line_invite_code_notes`
- `point_bonus_notes`
- `gacha_or_oripa_mechanism_notes`
- `prize_or_card_notes`
- `odds_or_return_notes`
- `odds_or_return_unconfirmed_notes`
- `safety_reliability_notes`
- `why_people_call_it_suspicious_notes`
- `good_reputation_notes`
- `concern_reputation_notes`
- `reputation_source_urls`
- `reputation_source_limitations`
- `reader_decision_points`
- `recommended_for_notes`
- `not_recommended_for_notes`
- `directory_core_rating_score_candidates`
- `directory_core_basic_info_candidates`
- `seo_title_candidate`
- `h1_candidate`
- `cta_candidate`
- `internal_link_candidates`
- `related_dictionary_candidates`
- `search_compass_keywords`
- `cooccurrence_terms`
- `related_terms`
- `production_structure_notes`
- `production_ready_reason`
### 事実の分類ルール
- 公式情報、口コミ、第三者記事、SNS、検索結果、未確認メモを混ぜない。
- 公式情報は `confirmed_facts` として扱う。
- 口コミやSNSは `reputation_*` として扱い、断定ではなく傾向として付箋する。
- 第三者記事は根拠URLと日付、確認できる範囲を付箋する。
- 未確認は `unconfirmed_facts` または `missing_fact_notes` に入れる。
- 制作CRONが本文で断定してはいけない内容は `do_not_assert_notes` に入れる。
### 制作CRONへ渡す文章メモ
制作CRONが迷わないよう、以下の形で付箋する。
- 読者に伝えてよい確認済み事実。
- 読者に注意点として伝えるべき未確認情報。
- 断定せず「公式では確認できませんでした」と書くべき項目。
- 良い評判として扱える傾向。
- 気になる評判として扱える傾向。
- 怪しいと言われる理由として整理できる論点。
- 安全性・信頼性で確認できたこと、確認できなかったこと。
- 価格・特典・発送・受け取りで確認できたこと、確認できなかったこと。
### 検査CRONでやってはいけないこと
- 不足情報があるだけで候補を落とすこと。
- 口コミが少ないだけで候補を落とすこと。
- 公式に全項目が載っていないだけで候補を落とすこと。
- 確認できない項目を空欄のまま制作へ渡すこと。
- 未確認を「なし」と断定すること。
- 口コミ傾向を公式事実のように扱うこと。
- 制作CRONの代わりに本文を書くこと。
- 公開HTML実測、装飾、Q&A exact、TASK8判定まで背負うこと。
### 検査CRON完了条件
- 実在確認できた候補は、確認済み事実、不足情報、断定禁止メモを分けて保存し、production_readyへ回す。
- 停止する場合は、停止条件に該当するFAIL名と根拠URL確認結果を保存する。
- Hub保存後にreadbackし、`inspection_sticky_notes`、`production_material_pack`、`production_ready`、`missing_fact_notes` がlive Hubで読めることを確認する。
- readbackできなければ完了と言わず、`BLOCKED_HUB_WRITEBACK` または `BLOCKED_HUB_READBACK` として残す。
## ORIPAGATE_INSPECTION_SEARCH_COMPASS_MANDATORY_GATE_20260610
### Search Compass必須Gate
- 検査CRONは必ずSearch Compassを回す。Search Compassを回していない検査結果は必須FAIL。
- Search Compassが未実行、実行証跡なし、結果保存なし、readback不可、対象サービスと違う結果、前記事や別記事の結果流用の場合は production_ready にしてはいけない。
- Search Compassが一時的に使えない場合は、代替の曖昧な自己判断で production_ready にしない。`BLOCKED_SEARCH_COMPASS` または `SEARCH_COMPASS_UNAVAILABLE` としてHubへ保存し、再実行対象に残す。
- Search Compass結果は制作CRONが自然に本文へ使える素材として付箋する。本文に丸貼りしない。
必須FAIL名:
- `SEARCH_COMPASS_NOT_RUN`
- `SEARCH_COMPASS_EVIDENCE_MISSING`
- `SEARCH_COMPASS_RESULT_NOT_SAVED`
- `SEARCH_COMPASS_READBACK_MISSING`
- `SEARCH_COMPASS_WRONG_TARGET_USED`
- `SEARCH_COMPASS_PREVIOUS_ARTICLE_REUSED`
- `SEARCH_COMPASS_KEYWORD_PACK_MISSING`
- `SEARCH_COMPASS_REPUTATION_KW_MISSING`
- `SEARCH_COMPASS_ANXIETY_KW_MISSING`
- `SEARCH_COMPASS_CONDITION_CONFIRMATION_KW_MISSING`
- `SEARCH_COMPASS_COOCCURRENCE_TERMS_MISSING`
- `SEARCH_COMPASS_RELATED_TERMS_MISSING`
- `REPUTATION_RESEARCH_NOT_RUN`
- `REVIEW_REPUTATION_SOURCE_EVIDENCE_MISSING`
### 制作へ必ず付箋するSearch Compass素材
検査CRONはSearch Compassを使い、以下を `inspection_sticky_notes` と `production_material_pack` に分けて保存する。
- `main_keyword`: 主KW。記事の主題として自然に使う。
- `reputation_keywords`: 評判KW。例: 評判、口コミ、レビュー、当たる、当たらない、怪しい、発送、還元率など対象に応じて抽出する。
- `anxiety_keywords`: 不安KW。例: 怪しい、安全、届かない、詐欺、退会、支払い、送料、発送遅い、本人確認、古物商など対象に応じて抽出する。
- `condition_confirmation_keywords`: 条件確認KW。例: クーポン、招待コード、キャンペーン、支払い方法、発送日数、送料、還元率、当選確率、演出、特商法、運営会社など対象に応じて抽出する。
- `cooccurrence_terms`: 共起語。本文に自然に散らす材料。
- `related_terms`: 関連語。内部リンク、関連辞書、比較記事、Q&Aに使う材料。
- `search_intent_notes`: 読者が何を知りたいか。
- `reader_question_notes`: Q&A化できる疑問。
- `content_angle_notes`: 制作で優先すべき切り口。
- `do_not_overuse_keyword_notes`: 詰め込み禁止メモ。
必須保存キー:
- `search_compass_run=true`
- `search_compass_query_set`
- `search_compass_result_artifact_path`
- `search_compass_result_saved=true`
- `search_compass_readback_confirmed=true`
- `main_keyword`
- `reputation_keywords`
- `anxiety_keywords`
- `condition_confirmation_keywords`
- `cooccurrence_terms`
- `related_terms`
- `search_intent_notes`
- `reader_question_notes`
- `content_angle_notes`
- `keyword_usage_notes_for_production`
### 口コミ・評判リサーチ必須Gate
- 検査CRONは検索リサーチで口コミや評判も調査する。
- 公式情報、口コミ/評判、SNS、比較記事、ランキング記事、レビュー記事、掲示板/ユーザー反応を分離して扱う。
- 口コミや評判は公式事実ではない。制作へは「傾向」「注意点」「確認できる範囲」として付箋する。
- 口コミが少ない場合も落とさない。`reputation_source_limitations` に「口コミが少ない」「公開情報が限定的」などの事実を付箋する。
- 口コミ調査をしていない、根拠URLがない、公式事実と口コミを混ぜている場合は必須FAIL。
必須保存キー:
- `reputation_research_run=true`
- `reputation_source_urls`
- `good_reputation_notes`
- `concern_reputation_notes`
- `suspicious_reason_research_notes`
- `reputation_source_limitations`
- `reputation_as_context_not_official_fact=true`
- `review_reputation_research_result=PASS|FAIL`
### production_ready禁止条件
以下のどれかがある場合、架空業者でなくても production_ready にしてはいけない。Search Compassと口コミリサーチを完了させてから再判定する。
- Search Compass未実行。
- Search Compass結果未保存。
- Search Compass readback未確認。
- 主KWがない。
- 評判KWがない。
- 不安KWがない。
- 条件確認KWがない。
- 共起語がない。
- 関連語がない。
- 口コミ/評判リサーチ未実行。
- 口コミ/評判の根拠URLがない。
- 公式事実と口コミ傾向を混ぜている。
ただし、口コミが少ないこと、公式に全項目が載っていないこと、条件の一部が確認できないこと自体は落とす理由ではない。Search Compassと口コミリサーチを行った上で、不足情報として制作へ付箋する。
## ORIPAGATE_INSPECTION_PRODUCTION_READY_ONLY_COMPLETION_GATE_20260610
### 検査CRON終了条件Gate
- 検査CRONが完了できるのは、対象候補を `production_ready` として制作CRONへ回し、Hub保存とreadbackが完了した時だけ。
- `production_ready` に回していない検査CRONは完了ではない。
- Search Compass未実行、口コミ/評判リサーチ未実行、事実付箋不足、Hub保存失敗、readback失敗、必須FAIL残りがある状態で終了してはいけない。
- 途中で「情報不足」「あとで確認」「候補保留」「対象なし」「時間切れ」「Search Compassできなかった」などを理由に完了扱いしない。
- 架空業者・実在確認不可・根拠URLなしなど停止条件に当たる場合だけ、停止FAIL名と根拠をHubへ保存し、`inspection_blocked` または `excluded` として残す。これは完了ではなく停止報告であり、制作レディ件数には数えない。
必須FAIL 0までの修正ループ:
1. 検査対象を確認する。
2. 実在確認と根拠URL確認を行う。
3. Search Compassを必ず回す。
4. 主KW・評判KW・不安KW・条件確認KW・共起語・関連語を保存する。
5. 口コミ/評判リサーチを行い、根拠URLと傾向メモを保存する。
6. 公式事実、口コミ傾向、未確認、不足情報、断定禁止メモを分離する。
7. `inspection_sticky_notes` と `production_material_pack` を作る。
8. 必須FAILを機械判定する。
9. 必須FAILが1件でもあれば、そのFAILを直すために再検索、再Search Compass、再口コミ調査、再付箋、再保存、再readbackを行う。
10. 必須FAILが0件になるまで9を繰り返す。
11. 必須FAIL0、Search Compass証跡あり、口コミ/評判証跡あり、事実付箋あり、Hub readback済みになったら `production_ready` にする。
12. `production_ready` にしたことをreadbackできた時だけ検査CRON完了。
必須FAIL名:
- `INSPECTION_STOPPED_BEFORE_PRODUCTION_READY`
- `INSPECTION_COMPLETED_WITH_REQUIRED_FAILS`
- `INSPECTION_REQUIRED_FAIL_REPAIR_LOOP_NOT_RUN`
- `INSPECTION_PRODUCTION_READY_READBACK_MISSING`
- `INSPECTION_STICKY_NOTES_MISSING`
- `PRODUCTION_MATERIAL_PACK_MISSING`
- `SEARCH_COMPASS_NOT_RUN`
- `REPUTATION_RESEARCH_NOT_RUN`
- `MISSING_FACT_NOTES_MISSING`
- `DO_NOT_ASSERT_NOTES_MISSING`
必須保存キー:
- `inspection_completion_gate=production_ready_only`
- `inspection_required_fail_count`
- `inspection_required_fail_names`
- `inspection_repair_loop_count`
- `inspection_sticky_notes_present=true`
- `production_material_pack_present=true`
- `production_ready=true`
- `production_ready_saved_at`
- `production_ready_readback_confirmed=true`
- `inspection_completion_result=production_ready_handoff_complete`
禁止される完了報告:
- 対象なしで完了。
- 情報不足で完了。
- Search Compass未実行で完了。
- 口コミ/評判リサーチ未実行で完了。
- Hub保存のみでreadbackなし完了。
- 必須FAILが残ったまま完了。
- production_readyへ回していないのに完了。
## ORIPAGATE_INSPECTION_PER_TASK_COUNT_GATE_20260610
### 1タスクあたり検査数Gate
- 検査CRONの1タスクあたり検査数は `1〜15件`。
- 1タスクで0件のまま完了してはいけない。
- 1タスクで16件以上をまとめて検査してはいけない。
- 対象候補が15件を超える場合は、15件まで処理し、残りは次タスクへ残す。
- 対象候補が1件以上15件以下なら、その範囲で処理する。
- 対象候補が0件の場合は、完了ではなく `NO_INSPECTION_TARGET_AVAILABLE` としてHubへ保存し、検査CRON完了扱いにしない。production_ready件数にも数えない。
- 各候補ごとに、Search Compass、口コミ/評判リサーチ、事実付箋、必須FAIL 0、Hub保存、readbackを行う。
- 1件でも必須FAILが残る候補は production_ready にしてはいけない。修正ループを続けるか、停止FAILとして分離する。
必須保存キー:
- `inspection_task_candidate_count`
- `inspection_task_candidate_count_min=1`
- `inspection_task_candidate_count_max=15`
- `inspection_processed_count`
- `inspection_production_ready_count`
- `inspection_blocked_count`
- `inspection_remaining_candidate_count`
- `inspection_per_task_count_gate=PASS|FAIL`
必須FAIL名:
- `INSPECTION_TASK_COUNT_ZERO_COMPLETED`
- `INSPECTION_TASK_COUNT_OVER_15`
- `INSPECTION_PER_TASK_COUNT_EVIDENCE_MISSING`
- `NO_INSPECTION_TARGET_AVAILABLE`
## ORIPAGATE_DIRECTORY_RATING_SCORE_AXIS_GATE_20260610
### 検査CRONの辞書プラグイン評価スコア付箋ルール
- 検査CRONは、オンラインオリパ辞書記事の7項目ごとに、制作CRONが最終スコアを判断できるように、候補スコア・根拠・参照URL・未確認点を必ず付箋する。
- この付箋が不足している場合は、production_ready に回してはいけない。
- 最終スコアを決めるのは制作CRONだが、検査CRONは制作CRONが判断できるだけの事実・比較材料・確認状況を項目別に渡す。
- 候補スコアは、公式情報、検索リサーチ、口コミ・評判、キャンペーン、発送条件、画面上の分かりやすさなど、確認できた材料に基づいて付箋する。
- 未確認の項目を空欄や省略で処理してはいけない。確認できた事実、確認できなかった事実、追加確認が必要な点を分けて付箋する。
- 架空のスコア、根拠のない点数、参照URLのない判断、7項目の欠落は必須FAILにする。
必須7項目:
1. 使いやすさ
2. オリパの種類
3. 演出・楽しさ
4. 特典・キャンペーン
5. 発送・確認しやすさ
6. 情報の分かりやすさ
7. 総合評価
検査CRONが制作へ渡す必須付箋:
- `directory_rating_score_axis_names`: 7項目名を全件保存する。
- `directory_rating_score_candidates`: 7項目ごとの候補スコアを保存する。
- `directory_rating_score_reason_notes`: 7項目ごとの根拠を保存する。
- `directory_rating_score_source_urls`: 7項目ごとの参照URLを保存する。
- `directory_rating_score_unconfirmed_notes`: 7項目ごとの未確認点を保存する。
- `directory_rating_score_plugin_ready=true`: 7項目すべての候補スコア・根拠・参照URL・未確認点が揃った場合だけtrueにする。
項目別必須キー:
- `usability_score_candidate`: 使いやすさ
- `oripa_variety_score_candidate`: オリパの種類
- `entertainment_fun_score_candidate`: 演出・楽しさ
- `benefit_campaign_score_candidate`: 特典・キャンペーン
- `shipping_confirmability_score_candidate`: 発送・確認しやすさ
- `information_clarity_score_candidate`: 情報の分かりやすさ
- `overall_score_candidate`: 総合評価
必須FAIL名:
- `DIRECTORY_RATING_SCORE_AXIS_MISSING`
- `DIRECTORY_RATING_SCORE_CANDIDATE_MISSING`
- `DIRECTORY_RATING_SCORE_REASON_MISSING`
- `DIRECTORY_RATING_SCORE_SOURCE_MISSING`
- `DIRECTORY_RATING_SCORE_UNCONFIRMED_NOTES_MISSING`
- `DIRECTORY_RATING_SCORE_PLUGIN_READY_MISSING`
- `DIRECTORY_RATING_USABILITY_MISSING`
- `DIRECTORY_RATING_ORIPA_VARIETY_MISSING`
- `DIRECTORY_RATING_ENTERTAINMENT_FUN_MISSING`
- `DIRECTORY_RATING_BENEFIT_CAMPAIGN_MISSING`
- `DIRECTORY_RATING_SHIPPING_CONFIRMABILITY_MISSING`
- `DIRECTORY_RATING_INFORMATION_CLARITY_MISSING`
- `DIRECTORY_RATING_OVERALL_MISSING`
## ORIPAGATE_DIRECTORY_BASIC_INFO_STICKY_GATE_20260610
### 検査CRONの辞書プラグイン基本情報表付箋ルール
- 検査CRONは、オンラインオリパ辞書記事の基本情報表に入れる19項目について、制作CRONが辞書プラグインへ入力できるように、確認値・根拠・参照URL・未確認点を必ず付箋する。
- この付箋が不足している場合は、production_ready に回してはいけない。
- 基本情報表は記事末尾に置くが、入力素材は検査CRONの段階で揃える。
- 空欄、省略、推測、架空値、根拠URLなしの断定は禁止する。
- 確認できない項目は消さない。確認できた事実、確認できなかった事実、追加確認が必要な点を分けて付箋する。
- 公式サイト、特商法ページ、利用規約、ヘルプ、FAQ、SNS、キャンペーンページ、検索リサーチで確認した内容を根拠として残す。
- 19項目のうち1つでも欠けた場合、または確認値・根拠・参照URL・未確認点のいずれかが欠けた場合は必須FAILにする。
必須19項目:
1. `service_name|サービス名`
2. `operator_name|運営会社・運営者名`
3. `service_type|サービス種別`
4. `official_site|公式サイト`
5. `official_x_sns|公式X・SNS`
6. `handled_genres|取扱ジャンル`
7. `main_oripa_formats|主なオリパ形式`
8. `payment_methods|決済方法`
9. `point_coin_system|ポイント・コイン制度`
10. `shipping_supported|発送対応`
11. `shipping_estimate|発送目安`
12. `shipping_fee|送料`
13. `returns_cancellations|返品・キャンセル`
14. `age_limit_terms|年齢制限・利用条件`
15. `legal_notice_url|特商法ページ`
16. `contact_path|問い合わせ先`
17. `app_support|アプリ対応`
18. `invite_campaign_availability|招待コード・キャンペーン情報の有無`
19. `confirmed_at|確認日`
検査CRONが制作へ渡す必須付箋:
- `directory_basic_info_field_names`: 基本情報19項目名を全件保存する。
- `directory_basic_info_values`: 19項目ごとの確認値を保存する。
- `directory_basic_info_reason_notes`: 19項目ごとの根拠を保存する。
- `directory_basic_info_source_urls`: 19項目ごとの参照URLを保存する。
- `directory_basic_info_unconfirmed_notes`: 19項目ごとの未確認点を保存する。
- `directory_basic_info_plugin_ready=true`: 19項目すべての確認値・根拠・参照URL・未確認点が揃った場合だけtrueにする。
項目別必須キー:
- `service_name`: サービス名
- `operator_name`: 運営会社・運営者名
- `service_type`: サービス種別
- `official_site`: 公式サイト
- `official_x_sns`: 公式X・SNS
- `handled_genres`: 取扱ジャンル
- `main_oripa_formats`: 主なオリパ形式
- `payment_methods`: 決済方法
- `point_coin_system`: ポイント・コイン制度
- `shipping_supported`: 発送対応
- `shipping_estimate`: 発送目安
- `shipping_fee`: 送料
- `returns_cancellations`: 返品・キャンセル
- `age_limit_terms`: 年齢制限・利用条件
- `legal_notice_url`: 特商法ページ
- `contact_path`: 問い合わせ先
- `app_support`: アプリ対応
- `invite_campaign_availability`: 招待コード・キャンペーン情報の有無
- `confirmed_at`: 確認日
必須FAIL名:
- `DIRECTORY_BASIC_INFO_FIELD_MISSING`
- `DIRECTORY_BASIC_INFO_VALUE_MISSING`
- `DIRECTORY_BASIC_INFO_REASON_MISSING`
- `DIRECTORY_BASIC_INFO_SOURCE_MISSING`
- `DIRECTORY_BASIC_INFO_UNCONFIRMED_NOTES_MISSING`
- `DIRECTORY_BASIC_INFO_PLUGIN_READY_MISSING`
- `DIRECTORY_BASIC_INFO_SERVICE_NAME_MISSING`
- `DIRECTORY_BASIC_INFO_OPERATOR_NAME_MISSING`
- `DIRECTORY_BASIC_INFO_SERVICE_TYPE_MISSING`
- `DIRECTORY_BASIC_INFO_OFFICIAL_SITE_MISSING`
- `DIRECTORY_BASIC_INFO_OFFICIAL_X_SNS_MISSING`
- `DIRECTORY_BASIC_INFO_HANDLED_GENRES_MISSING`
- `DIRECTORY_BASIC_INFO_MAIN_ORIPA_FORMATS_MISSING`
- `DIRECTORY_BASIC_INFO_PAYMENT_METHODS_MISSING`
- `DIRECTORY_BASIC_INFO_POINT_COIN_SYSTEM_MISSING`
- `DIRECTORY_BASIC_INFO_SHIPPING_SUPPORTED_MISSING`
- `DIRECTORY_BASIC_INFO_SHIPPING_ESTIMATE_MISSING`
- `DIRECTORY_BASIC_INFO_SHIPPING_FEE_MISSING`
- `DIRECTORY_BASIC_INFO_RETURNS_CANCELLATIONS_MISSING`
- `DIRECTORY_BASIC_INFO_AGE_LIMIT_TERMS_MISSING`
- `DIRECTORY_BASIC_INFO_LEGAL_NOTICE_URL_MISSING`
- `DIRECTORY_BASIC_INFO_CONTACT_PATH_MISSING`
- `DIRECTORY_BASIC_INFO_APP_SUPPORT_MISSING`
- `DIRECTORY_BASIC_INFO_INVITE_CAMPAIGN_AVAILABILITY_MISSING`
- `DIRECTORY_BASIC_INFO_CONFIRMED_AT_MISSING`
## 評価・O/オリパ再収集ゼロ起点ルール
- `workflow_id=oripa-review-ja` は収集からやり直す。
- 既存公開オンラインオリパ記事、下書きへ退避済みの旧通常評価記事、旧Hub行は「今回の収集済み件数」「候補在庫」「accepted_0B」「production_ready」「制作済み」「完了数」「残数」にカウントしない。
- 既存公開記事は、重複回避、既公開URL確認、内部リンク候補、過去に何を書いたかの参考だけに使う。
- 下書き旧通常評価記事は同一サービスの新規Directory Core辞書記事作成をブロックしない。代表が訂正対象として明示した場合以外は、下書きを復元・再公開・更新・上書きしない。
- 収集cronはゼロ起点で新規0-A候補を作る。
- 検査/制作cronは、今回の再収集でHubに保存/readbackされ、accepted / production_ready になったものだけ扱う。
- 既存公開記事を理由に「対象なし」「公開済みなので完了」と判断しない。
- 既存記事の修正はこの再収集/制作cronではしない。必要な場合は高品質チェック/訂正cron対象として扱う。
- FAIL名: `ORIPA_REBUILD_EXISTING_ARTICLE_COUNTED、ORIPA_REBUILD_DRAFT_OLD_NORMAL_ARTICLE_COUNTED、ORIPA_REBUILD_DRAFT_OLD_NORMAL_ARTICLE_BLOCKED_NEW_DIRECTORY` / `ORIPA_REBUILD_PREVIOUS_HUB_ROW_COUNTED` / `ORIPA_REBUILD_EXISTING_PUBLICATION_USED_AS_DONE` / `ORIPA_REBUILD_NON_CURRENT_COLLECTION_TARGET_USED`
## Hub保存・完了条件
- 作業開始時はHubで対象をclaim/lockし、対象ID・article_key・slug・role・run_idを保存する。
- 公式事実、評判文脈、Search Compass結果、reader_intent_pack、inspection_sticky_notes、production_material_pack、production_ready可否、除外理由、FAILをHubへ保存する。
- 完了前にreadbackを行い、自分が保存した素材パックとproduction_ready可否がlive Hubで読めることを確認する。
- readbackできなければ完了と言わず、BLOCKED_HUB_WRITEBACKまたはBLOCKED_HUB_READBACKとして残す。
## キャンペーン付箋Gate
Marker: ORIPAGATE_DIRECTORY_CAMPAIGN_STICKY_GATE_20260610
検査CRONは、制作CRONが価格・特典・キャンペーン欄と基本情報表を安全に書けるように、キャンペーン付箋を必ず作る。
`invite_campaign_availability` の有無だけでは不足。開催中キャンペーン、招待コード、初回特典、クーポン、ポイント還元、ログインボーナス、期間限定特典、終了済み/未確認の区別まで制作へ渡す。
必須確認対象:
- 公式トップページ
- 公式キャンペーン/ニュース/お知らせページ
- 公式サイトから辿れる公式X/SNS
- FAQ/ヘルプ/問い合わせページ
- 利用規約、特商法、配送、決済ページ内の特典・ポイント・キャンペーン文脈
- 表示されているログイン後限定/アプリ限定/会員限定キャンペーンのヒント
必須動作:
- 開催中キャンペーンが確認できた場合は、名称または表示ラベル、特典内容、条件、期間/日付表記、参照URL、確認日、未確認点を付箋する。
- 開催中か断定できず候補だけ見つかった場合は、候補として付箋し、制作CRONに公開前再確認を要求する。
- 確認できない場合も、空欄にせず、確認したURLと確認できなかった理由を付箋する。
- 終了済み、未確認、ログイン後限定で詳細未確認、出典が弱い情報を、開催中として書かせない。
- キャンペーン付箋がない候補は production_ready に回してはいけない。
必須保存キー:
- `campaign_sticky_notes`
- `campaign_status`
- `campaign_detail_notes`
- `campaign_source_urls`
- `campaign_evidence_snippets`
- `campaign_checked_at`
- `campaign_unconfirmed_notes`
- `campaign_do_not_assert_notes`
- `campaign_production_recheck_required=true`
- `campaign_sticky_ready=true`
必須FAIL名:
- `DIRECTORY_CAMPAIGN_STICKY_MISSING`
- `DIRECTORY_CAMPAIGN_STATUS_MISSING`
- `DIRECTORY_CAMPAIGN_DETAIL_NOTES_MISSING`
- `DIRECTORY_CAMPAIGN_SOURCE_URLS_MISSING`
- `DIRECTORY_CAMPAIGN_CHECKED_AT_MISSING`
- `DIRECTORY_CAMPAIGN_UNCONFIRMED_NOTES_MISSING`
- `DIRECTORY_CAMPAIGN_DO_NOT_ASSERT_NOTES_MISSING`
- `DIRECTORY_CAMPAIGN_PRODUCTION_RECHECK_REQUIRED_MISSING`
- `DIRECTORY_CAMPAIGN_STICKY_READBACK_MISSING`
PROMPT_END
OripaGate【評価・O/オリパ】制作cron automation作成依頼文
PROMPT_START
# OripaGate【評価・O/オリパ】制作cron v0.1.69
- kind: cron
- cwd: `C:\Users\Public\Documents\LLC358\_codex_cron_threads`
- model: gpt-5.5
- reasoning: highest
- site_id: `oripagate`
- workflow_id: `oripa-review-ja`
- article_type: `online-oripa-dictionary`
- public_category_url: `https://oripagate.jp/online-oripa-dictionary/`
- hub_url: `https://oripagate-hub.secure358.com/`
- role: 制作
- schedule intent: 最大3回/日
- recommended RRULE: 固定値は置かない。既存ACTIVE cronを確認し、起動時間設定ルールに従って決める。
役割目的: production_readyのオンラインオリパだけを、Directory Coreの評価スコア表と基本情報表つきで制作する。
## 絶対スコープ
- 対象は Oripagate 専用HUB、Oripagate公開サイト、指定記事タイプだけ。
- AIfan HUB、porn-fun HUB、Invest358、他サイトHUB、他カテゴリ記事、代表が指定していない公開記事は触らない。
- ローカル変更は `C:\Users\Public\Documents\LLC358\Autopost358\HUB\oripagate` 内だけ。
- cron実行cwdは `C:\Users\Public\Documents\LLC358\_codex_cron_threads`。ただし正本・保存証跡・validator_resultはOripagateサイトHUB内に残す。
- cron本文の参照正本は OripagateサイトHUB内の `startup_docs/current`、`gates/current`、`cron_prompts/current`、`cron/COLLECTION_SOURCE_MANUAL.md`。
- Gate/Manual参照先は `C:\Users\Public\Documents\LLC358\Autopost358\HUB\oripagate\gates\current` に統一する。代表PC固有パス、共有Hub Gate、外部フォルダのfallback copyをcron本文の参照先にしない。
- 手元キーは探す。キー値・認証値・秘密値をチャット、記事本文、Hubレコード、validator_resultに出力しない。
## 起動時に必ず読む/確認するもの
- live Hub: `https://oripagate-hub.secure358.com/`
- `api=status` で live Hub が `site_id=oripagate` / sites=1 / article_types=6 であることを確認。
- `api=agent_pack&site_id=oripagate&workflow_id=oripa-review-ja` を取得し、最新のManual / Rules / Gates / References / Work Queue方針を読む。
- `api=agent_work_queue` で自分の役割の対象だけを確認。対象なしなら対象なし報告をHubへ保存して終了。
- 対象ディレクトリ/カテゴリ: `https://oripagate.jp/online-oripa-dictionary/`
- 記事タイプ: `Directory Core辞書記事。通常評価記事は廃止。オンラインオリパの評価・評判記事はディレクトリーコアプラグイン記事として作る。`
## 起動時間設定ルール
- 既存ACTIVE cronを確認してから設定する。
- 同時刻と前後10分を避ける。
- 00分固定を避ける。
- 分は 07 / 13 / 19 / 26 / 34 / 41 / 48 / 55 を優先候補にする。
- 朝・昼・夕・夜へ分散する。
- 空けられない場合は5分間隔、1分間隔、最後は同時刻の順で詰める。混雑だけで作成停止しない。
- cron実行cwdは C:\Users\Public\Documents\LLC358\_codex_cron_threads。
- 支社PCへ持っていく対象は C:\Users\Public\Documents\LLC358\Autopost358\HUB\oripagate だけ。このサイトHub内でGate、startup、cron prompt、runtime証跡を完結させる。
## 制作Hard Gate
- 確認依頼では絶対に編集しない。「見て」「確認して」「正常ですか」「原因を教えて」は読む・調べる・報告だけ。
- 作業指示の場合は、触る対象と触らない対象を先に明記してから進める。
- 制作cronは production_ready の新規Directory Core辞書記事だけを扱う。収集、検査、高品質チェック、改善ハンドオフを代行しない。
- 既公開記事、task8 handoff済み記事、別slugの記事を制作cronで再制作/上書きしない。修正は訂正cron対象だけ。
- production_ready ではない対象を制作しない。素材パック、Search Compass、reader_intent_pack、公式事実、内部リンク候補が無ければ制作禁止。
- 前記事のHTML、validator_result、Directory Core row、meta、score、taxonomy、内部リンク結果を別記事のPASS根拠に使わない。
- 公開本文に Hub、cron、task、Search Compass、candidate pack、agent_pack、quality gate、production_ready など内部語を出さない。
- すべての通常/辞書記事は読者目線で自然な日本語にする。機械的な羅列、根拠のない断定、薄い要約は禁止。
## 必須FAIL名
- ORIPAGATE_WRONG_SITE_TOUCHED
- ORIPAGATE_NON_TARGET_CATEGORY_EDITED
- ORIPAGATE_SHARED_GATE_REFERENCED
- ORIPAGATE_ARTICLE_TYPE_MISMATCH
- PRODUCTION_WITHOUT_PRODUCTION_READY_TARGET
- PREVIOUS_ARTICLE_ARTIFACT_REUSED
- PUBLIC_BODY_INTERNAL_META_LEAK
- PUBLIC_HTML_MEASUREMENT_MISSING
- VALIDATOR_RESULT_JSON_MISSING
- MANDATORY_PUBLIC_HTML_MEASUREMENT_GATE_MISSING
- Q_AND_A_EXACT_STRUCTURE_MISSING
- INTERNAL_LINK_UNVERIFIED
- INTERNAL_LINK_NOT_200_FOUND
- INTERNAL_LINK_404_FOUND
- INTERNAL_LINK_WRONG_LANGUAGE
- INTERNAL_LINK_PREVIEW_OR_DRAFT_USED
- INTERNAL_LINK_EVIDENCE_MISSING
- TARGET_GATE_MANUAL_FULL_REREAD_AFTER_FAIL_MISSING
- MANUAL_REREAD_AFTER_REPAIR_MISSING
- READER_PERSPECTIVE_RECHECK_AFTER_REPAIR_MISSING
- REPAIR_LOOP_STOPPED_WITH_REQUIRED_FAILS
- QUALITY_CHECK_REQUIRED_FAIL_NOT_RECORDED
- DIRECTORY_PLUGIN_RATING_SCORE_TABLE_MISSING、DIRECTORY_PLUGIN_BASIC_INFO_TABLE_MISSING、SEO_TITLE_H1_NOT_SEPARATED、SEO_TITLE_MISSING_OR_WEAK は即FAIL。
## 公開HTML実測Gate
- 制作以降は公開HTMLまたはpreview HTMLで実測しなければPASS禁止。
- 自己申告PASS、固定true、件数だけPASS、未測定PASSを禁止。
- `validator_result.json` が無い、JSON破損、必須キー欠落、未測定ありならFAIL。
- `mandatory_public_html_measurement_gate=PASS` が無ければPASS禁止。
- Q&Aは本文内に `<details class="qa-box"><summary class="qa-question">質問内容</summary><div class="qa-answer">回答内容</div></details>` を5件以上。FAQ JSON-LD、JS、TOC、関連部品、サイドバー、フッター、class数だけは数えない。
- 内部リンクは公開/preview HTMLから全抽出し、live HTTPで最終URL 200まで確認。404/410/403/500/timeout/未確認/下書き/preview専用/言語違いはFAIL。
## 記事タイプ固有ルール
- エントリ名: サービス名またはショップ名
- SEO/H1: SEOタイトルは必ず「○○の評価ポイントと評判・口コミレビュー」。H1はサイト名またはショップ名のみ。SEOタイトルとH1を同一にしない。
- 構成: 記事構成は H1 → 辞書プラグイン評価スコア表 → リード文 → 右位置テキスト公式/アフィリエイトCTA → サービス概要 → 評価項目内容をH2内H3で展開 → 良い評判 → 気になる評判 → 怪しいと言われる理由 → 安全性・信頼性 → 価格・特典 → 発送・受け取り → 向いている人/向いていない人 → 関連辞書/ランキング/比較 → まとめ → Q&A 5件以上 → 辞書プラグイン基本情報表。基本表は記事最後。
- 制作素材: 検査cronのproduction_material_pack、公式事実、評判文脈、reader_intent_pack、CTA候補、内部リンク候補を使う。足りない公式事実は再確認してHubへ不足メモを残し、推測で埋めない。
## 制作だけのルール
- production_ready=true の対象だけ制作する。対象なしなら記事を書かず、対象なしレポートをHubへ保存する。
- 公開/preview HTML実測、Directory Core readback、validator_result.json保存が揃うまでPASS・公開・task8禁止。
- 本文は読者向けに自然化し、内部語を出さない。前記事の表・score・HTML・validatorを流用しない。
- FAILが1つでも出たら、対象Gate/マニュアルを必要範囲で読み直し、修正後に再測定する。FAILゼロまで止めない。
## 制作以降追加Gate: 新規Directory Core記事の開始前条件
- 制作開始前に `api=status`、`api=agent_pack&site_id=oripagate&workflow_id=oripa-review-ja`、`api=agent_work_queue`、対象article/taskのHub readbackを確認する。
- 制作対象は、今回の再構築ワークフローで保存/readbackされ、`production_ready=true` になったオンラインオリパだけ。旧通常評価記事、下書き退避記事、既公開記事、旧Hub行は制作対象にしない。
- `production_material_pack`、`Search Compass` または検索意図整理、`reader_intent_pack`、公式事実、評判/口コミ文脈、CTA候補、内部リンク候補、未確認メモが無い場合は本文を書き始めない。
- 公式サイト、特商法/運営会社、ヘルプ、発送/支払い/ポイント/当選/退会ページ、公式SNS/ニュース、ASP/アフィリエイト条件を確認し、根拠が薄い情報は本文で断定しない。
- 下書きへ退避済みの旧通常評価記事を復元・再公開・更新・上書きしない。同一サービスの新規Directory Core辞書記事作成はブロックしない。
- 制作開始前証跡として、`production_preflight_checked=true`、`production_preflight_status=PASS|BLOCKED`、`production_ready_readback_confirmed=true`、`production_material_pack_present=true`、`reader_intent_pack_present=true`、`official_reference_urls_checked`、`reputation_sources_checked`、`existing_or_draft_article_no_touch_confirmed=true` をHubへ保存する。
## 制作以降追加Gate: 本文制作順序
- 制作順序は、対象claim/lock → production material確認 → 読者意図確認 → 公式事実再確認 → 見出し設計 → 装飾なし本文作成 → 自然文リライト → Directory Core入力/readback → 装飾付与 → preview/public HTML取得 → validator実行 → 同一run内の修正 → Hub保存 → task8 handoff の順にする。
- SEOタイトルは必ず「○○の評価ポイントと評判・口コミレビュー」。H1はサイト名またはショップ名のみ。SEOタイトルとH1を同一にしない。
- 構成は、H1 → 辞書プラグイン評価スコア表 → リード文 → 右位置テキスト公式/アフィリエイトCTA → サービス概要 → 評価項目内容をH2内H3で展開 → 良い評判 → 気になる評判 → 怪しいと言われる理由 → 安全性・信頼性 → 価格・特典 → 発送・受け取り → 向いている人/向いていない人 → 関連辞書/ランキング/比較 → まとめ → Q&A 5件以上 → 辞書プラグイン基本情報表。
- 基本情報表は記事最後。評価スコア表はH1直後。本文手書きの評価点表、スコア表、基本情報表で代替しない。
- 右位置テキストCTAは、公式リンクまたはアフィリエイトリンクとして読者が迷わない文脈に置く。リンク先、nofollow/sponsored等の扱い、ASP条件はHubへ保存する。
- 公開本文にHub、cron、task、Search Compass、candidate pack、agent_pack、quality gate、production_ready、validator、PASS/FAILなどの内部語を出さない。
## 制作以降追加Gate: Directory Core表とreadback
- Directory Core / 辞書プラグインの評価スコア表と基本情報表を使う。読者に表示される表はプラグイン表示を正本とし、通常HTML表で二重表示しない。
- Directory Core入力後、公開/preview HTMLまたはHub readbackで、評価スコア表と基本情報表が対象記事に紐づいていることを確認する。
- 必須証跡: `directory_core_readback_confirmed=true`、`directory_plugin_rating_score_table_gate=PASS`、`directory_plugin_basic_info_table_gate=PASS`、`directory_plugin_rating_score_table_source=public_html|preview_html|hub_readback`、`directory_plugin_basic_info_table_source=public_html|preview_html|hub_readback`、`manual_score_table_count=0`、`manual_basic_info_table_count=0`。
- 評価スコア表が無い場合は `DIRECTORY_PLUGIN_RATING_SCORE_TABLE_MISSING`、基本情報表が無い場合は `DIRECTORY_PLUGIN_BASIC_INFO_TABLE_MISSING`。手書き表で代替した場合もPASS禁止。
## 制作以降追加Gate: 自然文と読者目線
- リード文、H2/H3直下文、評価項目理由、良い評判、気になる評判、怪しいと言われる理由、安全性、価格、発送、向き不向き、Q&A回答、まとめ、CTA前後の文を、読者が自然に読める日本語へ直す。
- サービス説明と記事説明を混ぜない。「このサービスはレビュー記事です」「○○は評判レビューです」のように主語と述語がずれる文は禁止。
- 評判や口コミは、公式事実と利用者反応を分けて書く。根拠が弱い口コミは「こうした声が見られる」「確認できる範囲では」など、断定しない表現にする。
- 機械翻訳調、英語混在、キーワード詰め込み、同じ言い回しの連発、見出し語を並べただけの本文、作業メモのような本文はREPAIR対象。
- 必須証跡: `article_natural_language_result=PASS|FAIL`、`lead_naturalness_result`、`section_intro_naturalness_result`、`rating_reason_naturalness_result`、`qa_answer_naturalness_result`、`summary_naturalness_result`、`subject_predicate_mismatch_count`、`keyword_stuffed_sentence_count`、`awkward_phrase_count`、`reader_facing_rewrite_examples`。
## 制作以降追加Gate: Q&A exact
- Q&Aは本文内に5件以上、必ず次の構造で置く。
```html
<details class="qa-box"><summary class="qa-question">質問内容</summary><div class="qa-answer">回答内容</div></details>
```
- `details.qa-box`、`summary.qa-question`、`div.qa-answer` の3点が揃った1セットだけを数える。
- FAQ JSON-LD、JavaScript、schema、TOC、関連記事、辞書プラグイン部品、サイドバー、フッター、コメント、hidden要素、class名の件数だけでは数えない。
- Q&A回答は読者の判断に役立つ内容にする。空回答、近くの本文の言い換えだけ、同じ回答の量産、本文と矛盾する回答は禁止。
- 必須証跡: `qa_details_exact_gate=PASS|FAIL`、`qa_details_exact_count`、`qa_details_exact_required_count=5`、`qa_details_exact_missing_count`、`qa_details_exact_items`、`qa_details_exact_body_only=true`、`qa_details_exact_fail_reasons`。
## 制作以降追加Gate: public/preview HTML実測とvalidator
- 公開またはpreview HTMLを取得し、記事本文領域を抽出して測る。自己申告、固定true、前記事のvalidator、件数だけのPASS、scoreだけのPASSは禁止。
- 必須測定: `public_or_preview_html_refetched=true`、`public_or_preview_html_source=public_html|preview_html`、`public_or_preview_html_url_or_path`、`public_or_preview_html_sha256`、`article_body_html_extracted=true`、`article_body_selector`、`article_body_text_chars`。
- 必須測定: `seo_title_h1_separated_gate`、`seo_title_strength_gate`、`h1_gate`、`lead_length_gate`、`lead_natural_language_gate`、`article_natural_language_gate`、`official_cta_right_aligned_gate`、`directory_plugin_rating_score_table_gate`、`directory_plugin_basic_info_table_gate`。
- 必須測定: `manual_score_table_absent_gate`、`manual_basic_info_table_absent_gate`、`body_minimum_required_chars_gate`、`kw_occurrence_gate`、`cooccurrence_related_terms_gate`、`h2_h3_balance_gate`、`rating_item_h3_reason_gate`、`qa_details_exact_gate`、`internal_link_live_check_gate`。
- 必須測定: `validator_result_json_present=true`、`validator_json_parse_gate=PASS`、`validator_required_keys_complete=true`、`validator_unmeasured_items=[]`、`mandatory_gate_failures=[]`、`mandatory_gate_fail_count=0`、`mandatory_public_html_measurement_gate=PASS`。
- 各測定項目には、`source`、`selector_or_readback_key`、`count_or_value`、`sample`、`measured_at`、`html_sha256_or_artifact_sha256`、`result=PASS|FAIL`、`fail_reason` を残す。
- `mandatory_public_html_measurement_gate=PASS` にならない限り、公開完了、task8 handoff、PASS報告は禁止。
## 制作以降追加Gate: 装飾・KW出現率・✅/⚠️実測
- 装飾は、装飾なし本文を自然な読者向け本文へ整えたあとに付ける。公開HTMLまたはpreview HTMLから記事本文領域だけを抽出し、装飾数、装飾位置、装飾の意味、読みやすさを機械測定する。
- 有効装飾BOXは、本文内の読者判断を助ける内容に限定する。`blank-box bb-tab bb-check bb-yellow`、`information-box`、`warning-box` をそれぞれ1個以上置く。いずれか0件、本文外のみ、Q&A/表/目次/辞書プラグイン/関連記事/サイドバー/フッターのみ、空div、読者判断に役立たない数合わせは `REQUIRED_DECORATIVE_BOX_CLASS_GATE_FAIL`。
- 最初のH2内または最初の読者判断ブロックには、オンラインオリパを使う前に読むべき結論BOXを置く。`first_conclusion_box_present=false`、結論BOXがただの要約、評価スコア表の焼き直し、公式CTAだけの場合はFAIL。
- 黒太文字、赤太文字、黒太文字+黄色アンダーマーカーは、重要語、注意点、判断材料にだけ使う。最低足切りは `black_bold_count>=6`、`red_bold_count>=2`、`black_bold_yellow_marker_count>=4`、`lead_yellow_marker_count>=1`。重要でない箇所への装飾、読みづらい装飾、黄色マーカー単体、85字超の黄色アンダーマーカーは `DECORATION_GOLDEN_RATIO_GATE_FAIL` またはREPAIR。
- validator_result.jsonには `valid_style_box_count`、`first_conclusion_box_present`、`required_decorative_box_class_gate`、`blank_box_bb_check_bb_yellow_count`、`information_box_count`、`warning_box_count`、`required_decorative_box_class_failures`、`black_bold_count`、`red_bold_count`、`black_bold_yellow_marker_count`、`lead_yellow_marker_count`、`decoration_ratio_values`、`decoration_golden_ratio_gate` を保存する。
- ✅と⚠️は、オンラインオリパ選びの判断材料として各3件以上入れる。✅は向いている条件、強み、確認できた利点へ使い、⚠️は注意点、向かない条件、事前確認が必要な点へ使う。1行1ポイントを原則とし、1文・1段落・1BOX内で✅と⚠️を混在させない。1行に複数の✅/⚠️、長文途中への埋め込み、数合わせの薄い文、本文と同じ内容の焼き直しは `CHECK_WARNING_GATE_FAIL`。
- validator_result.jsonには `check_mark_count`、`warning_mark_count`、`checkmark_count_min_3`、`warning_count_min_3`、`check_warning_list_style_result`、`check_warning_inline_misuse_count`、`checkmark_list_usage_gate`、`warning_list_usage_gate`、`inline_check_warning_forbidden_gate`、`check_warning_gate_result` を保存する。
- KW出現率は、記事タイトル狙いの主語、サービス名/ショップ名、オンラインオリパ、評価ポイント、評判、口コミ、レビュー、料金、還元率、発送、安全性、特典、キャンペーンなどを対象にする。主KW・補助KW・共起語・関連語を自然文、H2/H3、リード、まとめ、Q&A、BOXへ分散させ、詰め込み文や見出し語の単純反復を禁止する。
- validator_result.jsonには `target_keyword_density`、`main_keyword_count`、`support_keyword_count`、`cooccurrence_terms_used_count`、`related_terms_used_count`、`kw_occurrence_rate_gate`、`cooccurrence_related_terms_gate`、`original_heading_from_kw_gate`、`original_heading_with_kw_terms_present`、`original_heading_with_kw_terms`、`keyword_stuffed_sentence_count` を保存する。
- KW/共起語/関連語が不足、主KWの出現が本文に偏りすぎ、見出しに自然な評価語が無い、逆に詰め込みで読みにくい場合は `KW_OCCURRENCE_RATE_GATE_FAIL`、`COOCCURRENCE_RELATED_TERMS_GATE_FAIL`、`ORIGINAL_HEADING_FROM_KW_GATE_FAIL` のいずれかを必須FAILとして保存する。
- 装飾、✅/⚠️、KW出現率、共起語・関連語は、本文だけでなく公開/preview HTML上で読者に見える状態を測る。エディタ上の自己申告、固定true、件数だけのPASS、別記事の測定値、未測定のままのPASSは禁止。
## 制作以降追加Gate: 読者目線・自然文・禁止語・KW羅列Fail
Marker: ORIPAGATE_READER_NATURAL_PUBLIC_TEXT_GATE_20260610
このGateは、OripaGate【評価・O/オリパ】の制作cron、高品質チェックcron、訂正cron、改善ハンドオフcronのすべてに適用する。対象は、公開HTMLまたはpreview HTMLで読者に見える記事本文である。WordPress管理画面の設定名、内部メモ、validatorキー、Hub保存項目、パンくず、サイドバー、フッター、タグ表示、プラグイン生成の分類ラベルは本文判定から除外してよい。ただし、制作が手書き本文、リード文、H2/H3本文、BOX、Q&A、まとめ、CTA前後、関連記事紹介文として書いた文に出ている場合は除外しない。
読者に見える本文で「カテゴリ」「導線」という語を使ってはいけない。読者は作業者ではないため、「このカテゴリで確認」「関連カテゴリへ移動」「公式への導線」「比較記事への導線」「内部リンク導線」のような書き方は不自然である。必要な場合は、読者が自然に読める言い方へ直す。例として、「関連するページ」「比較できるページ」「用語を確認できるページ」「次に見ておきたいページ」「公式サイトへのリンク」「料金や発送条件を確認できるページ」「気になる点を続けて確認できるページ」のように、読者が何を確認できるかで書く。
本文は、作業説明、内部処理、構成メモ、AIが作ったような硬い説明、検索KWを並べた文にしてはいけない。「この記事では、評価ポイント、評判、口コミ、料金、発送、安全性、キャンペーンを整理する」のような、主KW・評判KW・不安KW・条件確認KW・共起語・関連語を並べただけの文は必須FAILにする。KWは検索素材であり、読者向けの自然文に溶かす。見出しや本文にKWが入っていても、読み手が違和感なく判断できる文章になっていなければPASSにしない。
次の状態は必須FAILである。
- 公開本文に、読者向けの文章として「カテゴリ」が出ている。
- 公開本文に、読者向けの文章として「導線」が出ている。
- 公開本文が、作業メモ、内部指示、構成メモ、タスク説明、Hub/cron/validator側の都合を読者に見せる文になっている。
- 公開本文が、AI生成文のように硬い、抽象的、説明過多、翻訳調、作業っぽい、または読者が普段読む記事として不自然である。
- 公開本文が、KW、共起語、関連語、評価軸、口コミ語、不安語、条件確認語を羅列している。
- リード文、評価項目本文、良い評判、気になる評判、安全性、価格、発送、向いている人、まとめ、Q&Aのいずれかが、読者の判断に役立つ文章ではなく、素材の貼り付けや見出し語の反復になっている。
validator_result.jsonには、次の実測キーを保存する。
- `reader_natural_public_text_gate`
- `reader_visible_body_scope_used`
- `reader_forbidden_category_word_hits`
- `reader_forbidden_dosen_word_hits`
- `workflow_like_sentence_hits`
- `ai_like_stiff_sentence_hits`
- `keyword_list_sentence_hits`
- `keyword_list_sentence_samples`
- `reader_unfriendly_sentence_samples`
- `reader_rewrite_required`
- `reader_rewrite_before_after_notes`
- `reader_natural_public_text_gate_result`
必須FAIL名は次を使う。
- `PUBLIC_BODY_READER_UNNATURAL_CATEGORY_WORD_USED`
- `PUBLIC_BODY_READER_UNNATURAL_DOSEN_WORD_USED`
- `PUBLIC_BODY_WORKFLOW_OR_OPERATIONAL_WORDING_FOUND`
- `PUBLIC_BODY_AI_LIKE_STIFF_SENTENCE_FOUND`
- `PUBLIC_BODY_MECHANICAL_KEYWORD_LIST_SENTENCE_FOUND`
- `PUBLIC_BODY_READER_PERSPECTIVE_REWRITE_MISSING`
上記の必須FAILが1つでも出たら、`failed_gate_names`、`required_gate_failures`、`quality_delta_items`のすべてへ同じFAIL名を保存する。軽微メモだけに逃がさない。制作cronは本文を修正し、公開/preview HTMLを再取得し、validatorを再実行し、validator_result.jsonを保存し、必須FAILが0になるまで繰り返す。高品質チェックcronは見逃さず訂正へ渡す。訂正cronは修正後の公開/preview HTMLで再測定する。改善ハンドオフcronは、残っている必須FAILを軽い改善案として処理せず、訂正対象として渡す。
このGateを通過した扱いにできるのは、`reader_natural_public_text_gate_result=PASS`、`reader_forbidden_category_word_hits=0`、`reader_forbidden_dosen_word_hits=0`、`workflow_like_sentence_hits=0`、`ai_like_stiff_sentence_hits=0`、`keyword_list_sentence_hits=0`、`reader_rewrite_required=false` が実測で確認できた場合だけである。件数だけの自己申告、固定true、本文を読まないPASS、サンプル未保存、修正前後メモなしのPASSは禁止する。
## 制作以降追加Gate: 内部リンクlive 200
- 本文領域から内部リンクをすべて抽出し、live HTTPまたはWordPress/Directory readbackで最終URLを確認する。
- 許可する内部リンクは最終URLがHTTP 200のものだけ。301/302/307/308は最終URLと最終ステータス200まで確認する。
- 404/410/403/500、timeout、未確認、下書き、preview専用、言語違い、URL形式不正はFAIL。
- 下書き旧通常評価記事、preview専用URL、存在確認できない辞書記事、言語違いURLを内部リンクに使わない。
- 必須証跡: `internal_link_live_check_gate=PASS|FAIL`、`internal_link_urls`、`internal_link_count`、`internal_link_checked_count`、`internal_link_status_items`、`internal_link_failed_items`、`internal_link_404_items`、`internal_link_unverified_items`、`internal_link_final_url_items`、`internal_link_live_check_completed_at`、`internal_link_live_check_source=public_html|preview_html`。
## 制作以降追加Gate: 修正ループとtask8条件
- 新規制作中の記事で必須FAILが1つでも出たら、対象Gate/Manualを再確認し、同一run内で修正し、公開/preview HTMLを再取得し、validator_result.jsonを再保存する。
- 必須FAILが残る限り、task8 handoff、公開完了、PASS報告をしない。
- task8へ渡せるのは、`mandatory_gate_fail_count=0`、`required_gate_failures=[]`、`validator_unmeasured_items=[]`、`mandatory_public_html_measurement_gate=PASS`、`hard_stop_repair_loop_gate=PASS`、`directory_plugin_rating_score_table_gate=PASS`、`directory_plugin_basic_info_table_gate=PASS`、`internal_link_live_check_gate=PASS` の場合だけ。
- 修正ループ証跡として、`repair_loop_iteration_count`、`target_gate_manual_full_reread_after_fail`、`manual_reread_files`、`reader_perspective_recheck_items`、`public_or_preview_html_refetched_after_each_repair`、`validator_rerun_after_each_repair`、`remaining_required_fail_count`、`remaining_required_failures` を保存する。
- 必須FAILが見つかるたびに、対象FAILに関係するGate/Manual文を読み直す、修正する、公開HTMLまたはpreview HTMLを再取得する、機械FAIL/validatorへ再投入する、`validator_result.json` を再保存する、残FAILを確認する、という順で繰り返す。
- 必須FAILが再度見つかった場合は、同じ手順をもう一度行う。必須FAIL0になるまで、修正済み扱い、PASS扱い、公開完了扱い、次回送り、点数だけの報告を禁止する。
- TASK8が唯一の終了条件。`mandatory_gate_fail_count=0`、`required_gate_failures=[]`、`validator_unmeasured_items=[]`、`mandatory_public_html_measurement_gate=PASS`、`final_quality_score>=90`、`score_cap=100`、`task8_handoff_allowed=true`、`task8_handoff_saved=true`、`task8_handoff_readback_confirmed=true` が揃うまで制作cronは終了してはいけない。
- 保存だけ、公開だけ、validator実行だけ、点数報告だけ、必須FAILの一部修正だけ、Hubへの途中保存だけでは終了ではない。TASK8へ渡した証跡をreadbackできて初めて終了する。
## 評価・O/オリパ再収集ゼロ起点ルール
- `workflow_id=oripa-review-ja` は収集からやり直す。
- 既存公開オンラインオリパ記事、下書きへ退避済みの旧通常評価記事、旧Hub行は「今回の収集済み件数」「候補在庫」「accepted_0B」「production_ready」「制作済み」「完了数」「残数」にカウントしない。
- 既存公開記事は、重複回避、既公開URL確認、内部リンク候補、過去に何を書いたかの参考だけに使う。
- 下書き旧通常評価記事は同一サービスの新規Directory Core辞書記事作成をブロックしない。代表が訂正対象として明示した場合以外は、下書きを復元・再公開・更新・上書きしない。
- 収集cronはゼロ起点で新規0-A候補を作る。
- 検査/制作cronは、今回の再収集でHubに保存/readbackされ、accepted / production_ready になったものだけ扱う。
- 既存公開記事を理由に「対象なし」「公開済みなので完了」と判断しない。
- 既存記事の修正はこの再収集/制作cronではしない。必要な場合は高品質チェック/訂正cron対象として扱う。
- FAIL名: `ORIPA_REBUILD_EXISTING_ARTICLE_COUNTED、ORIPA_REBUILD_DRAFT_OLD_NORMAL_ARTICLE_COUNTED、ORIPA_REBUILD_DRAFT_OLD_NORMAL_ARTICLE_BLOCKED_NEW_DIRECTORY` / `ORIPA_REBUILD_PREVIOUS_HUB_ROW_COUNTED` / `ORIPA_REBUILD_EXISTING_PUBLICATION_USED_AS_DONE` / `ORIPA_REBUILD_NON_CURRENT_COLLECTION_TARGET_USED`
## Hub保存・完了条件
- 作業開始時はHubで対象をclaim/lockし、対象ID・article_key・slug・role・run_idを保存する。
- 制作本文、Directory Core評価スコア表/基本情報表のreadback、SEO/H1、validator_result_json_path、公開/preview HTML取得URL、内部リンク200証跡、残FAIL、修正履歴をHubへ保存する。
- 完了前にreadbackを行い、自分が保存した制作本文、表readback、validator_result、公開/preview証跡がlive Hubで読めることを確認する。
- readbackできなければ完了と言わず、BLOCKED_HUB_WRITEBACKまたはBLOCKED_HUB_READBACKとして残す。
## ORIPAGATE_PRODUCTION_ONWARD_REQUIRED_APPEND_GATE_20260610_START
この追記は、OripaGate【評価・O/オリパ】の制作cron以降すべてに必ず入れる。制作cron、高品質チェックcron、訂正cron、改善ハンドオフcronのどれか1つでもこの追記を欠いたままなら、cron依頼文は未完成として扱う。追記できなかったら追記できるまで止まれない。更新後に公開本文をreadbackし、このGate本文、参照URL、抜けリスト、validator必須キー、必須FAIL名、TASK8終了条件が確認できなければ完了と言わない。
### 追記漏れ停止機械Gate
- `production_onward_prompt_chars` を計測し、制作cron見出しから更新確認チェック直前までの本文が50,000字未満なら `ORIPAGATE_PRODUCTION_ONWARD_PROMPT_UNDER_50000_CHARS` でFAIL。50,000字未満のまま公開更新完了・作成完了・確認完了を名乗らない。
- `required_append_items` を作り、下記の抜けリストを1項目ずつ最終プロンプト本文に含める。1項目でも欠けたら `ORIPAGATE_PROMPT_REQUIRED_APPEND_ITEM_MISSING` でFAIL。
- 欠けた項目がある場合は、不足項目名を `missing_required_append_items` に列挙し、不足箇所を追記し、もう一度本文をreadbackして再検査する。欠けが0になるまで止まらない。
- 「たぶん入っている」「Gateを読んだので大丈夫」「短く要約した」はPASSにしない。実際にコピペされる依頼文本文に書いてあることだけをPASS根拠にする。
- `prompt_required_append_gate_result=PASS`、`production_onward_prompt_chars>=50000`、`missing_required_append_items=[]`、`public_readback_confirmed=true` が揃うまで完了禁止。
### 抜けリストとして必ず本文に存在させる項目
- 参照URL一覧。
- 参照URL確認証跡。
- 参照URLから構成・導入・装飾・CTA・Q&A・評価軸を継承する指定。
- 到達不可URLを削除せず、理由を保存する指定。
- `reference_style_checked=true` 固定true禁止。
- OripaGate専用HUB内のGateだけを正本にする指定。
- 代表PC固有パス、共有Hub Gate、porn-fun HUB、AIfan HUBを参照正本にしない指定。
- 通常評価記事を廃止し、オンラインオリパはディレクトリーコアプラグインの辞書記事として新規制作する指定。
- 下書き化した旧通常評価記事を今回の新規制作済み数へカウントしない指定。
- 既公開・task8 handoff済み記事を制作cronで再制作・上書きしない指定。
- H1はサイト名またはショップ名のみ。
- SEOタイトルは「○○の評価ポイントと評判・口コミレビュー」。
- H1とSEOタイトルを分離する指定。
- H1直下に辞書プラグイン評価スコア表を置く指定。
- リード文を置く指定。
- リード直後、最初のH2前に右位置公式リンクまたはアフィリエイトリンクCTAを置く指定。
- サービス概要、評価項目H3、良い評判、気になる評判、怪しいと言われる理由、安全性・信頼性、価格・特典、発送・受け取り、向いている人/向いていない人、関連辞書・ランキング・比較、まとめ、Q&A、辞書プラグイン基本情報表の順を守る指定。
- 基本情報表はまとめとQ&Aの後、記事最後に置く指定。
- 手書きの評価表・基本情報表で辞書プラグイン表を代替しない指定。
- KW出現率、共起語、関連語を自然に使う指定。
- KW詰め込み、Search Compass素材の丸貼り、機械的な材料羅列をFAILにする指定。
- 黒太字、赤太字、黒太字+黄色下線マーカーの最低数と比率。
- リード内に黒太字+黄色マーカーを最低1つ入れる指定。
- 黄色マーカー単独乱用、長すぎる黄色下線、重要でない装飾、読みにくい装飾をFAILにする指定。
- ✅を最低3件、⚠️を最低3件、1行1要点で入れる指定。
- ✅と⚠️を同じ文・段落・ボックスに混在させない指定。
- 1行に複数の✅/⚠️を入れない指定。
- 数合わせの薄い✅/⚠️をFAILにする指定。
- Q&A exact構造を5件以上にする指定。
- FAQ JSON-LD、JavaScript、TOC、関連記事、サイドバー、フッターをQ&A数に数えない指定。
- 公開HTMLまたはpreview HTML実測なしでPASS禁止。
- 自己申告PASS禁止、固定true禁止、件数だけPASS禁止。
- `validator_result.json` なし、JSON破損、必須キー欠落、未測定ありをFAILにする指定。
- 必須FAILが1つでも出たら停止し、対象Gate/マニュアルを読み直し、修正し、再取得し、validator再実行する指定。
- 必須FAIL 0になるまで修正ループを続ける指定。
- 必須FAIL 0、`final_quality_score>=90`、`score_cap=100` でTASK8へ渡すことだけを制作以降の終了条件にする指定。
- 内部リンクを公開HTML/preview HTMLから抽出し、live HTTPで最終URL 200を確認する指定。
- 404、410、403、500、timeout、未確認、下書き、preview専用、言語違いをFAILにする指定。
- `INTERNAL_LINK_404_FOUND`、`INTERNAL_LINK_NOT_200_FOUND`、`INTERNAL_LINK_UNVERIFIED`、`INTERNAL_LINK_WRONG_LANGUAGE`、`INTERNAL_LINK_PREVIEW_OR_DRAFT_USED`、`INTERNAL_LINK_EVIDENCE_MISSING` を必須FAIL名として残す指定。
- 公開本文にHub、cron、Gate、PASS/FAIL、Work Queue、agent_pack、作業ログ、task番号、内部運用語を出さない指定。
- 前記事、別記事、旧記事のvalidator、公開HTML、Directory Core、taxonomy、scoreを流用しない指定。
- 日本語自然文Gate、常体/敬体、主語述語、機械翻訳調、不自然表現、不要英語混入を検査する指定。
- OripaGate用にオンラインオリパの信頼性、決済、発送、当たりやすさ、還元率、口コミ、怪しいと言われる理由へ置換する指定。
- 高品質チェック、訂正、改善ハンドオフの役割別停止条件。
### 参照URL継承Gate
制作以降cronは、以下の参照URLを「コピペ元」ではなく、記事の流れ・読者目線・装飾粒度・CTA位置・Q&Aの自然さ・評価軸の持ち方を確認する参照として扱う。文言、固有表現、サイト文脈をそのまま写さない。OripaGateのオンラインオリパ辞書記事へ自然に置き換える。
- https://invest358.com/ja/errante-review/
- https://invest358.com/ja/thinkmarkets-review/
- https://porn-fun.com/ja/ai-exotic-review/
- https://porn-fun.com/ja/ai-girlfriend-review/
- https://aifan.io/ja/pixverse-ai-review/
- https://aifan.io/ja/dream-machine-review/
- https://aifan.io/ja/openart-ai-review/
- https://aifan.io/ja/animon-review/
- https://aifan.io/ja/vidu-ai-review/
- https://aifan.io/ja/leonardo-ai-review/
- https://aifan.io/ja/pollo-ai-review/
- https://aifan.io/ja/crowdworks-ai-review/
- https://report.goudou-358.jp/oripagate-site-skeleton-design-initial-20260522/
- https://cron.goudou-358.jp/category/mainsite/oripagate-jp/
- https://cron.goudou-358.jp/922/
- https://oripagate.jp/online-oripa-dictionary/
必須証跡:
- `reference_inheritance_urls_checked`
- `reference_inheritance_unreachable_urls`
- `reference_style_flow_notes`
- `reference_decoration_notes`
- `reference_cta_notes`
- `reference_qa_notes`
- `reference_evaluation_axis_notes`
- `reference_inheritance_result=PASS|FAIL`
参照URL確認なし、または確認した証跡なしで `reference_style_checked=true` にした場合は `REFERENCE_STYLE_EVIDENCE_MISSING` でFAIL。参照URLが到達不可の場合もURLを消さず、到達不可理由を残す。
### OripaGate記事タイプ固定Gate
オンラインオリパ記事は通常評価記事ではない。Directory Coreの辞書記事として制作する。
固定値:
- site_id: `oripagate`
- workflow_id: `oripa-review-ja`
- article_type: `online-oripa-dictionary`
- public_category_url: `https://oripagate.jp/online-oripa-dictionary/`
- SEOタイトル形式: `○○の評価ポイントと評判・口コミレビュー`
- H1: サイト名またはショップ名のみ
- 辞書分類: オンラインオリパ辞書
禁止:
- 旧通常評価記事を制作済みとしてカウントすること。
- 下書きに回した旧通常評価記事を上書きして再利用すること。
- 旧記事のvalidator_result、公開HTML、公開URL、スコア、taxonomy、Directory Core値を新規制作のPASS根拠にすること。
- `representative-work-gate/SKILL.md`、`_codex_cron_threads/AGENTS.md`、共有 `Autopost358/HUB/gates` をcron本文の必須参照先として残すこと。
- AIfan HUB、porn-fun HUB、Invest358 HUBを正本として読むこと。
- OripaGate以外のライブ環境を変更すること。
### 記事構成Gate
公開記事は以下の順序を基本形にする。足す場合も読者目線で足し、順序の骨格を崩さない。
1. H1。サイト名またはショップ名のみ。
2. 辞書プラグイン評価スコア表。H1直下。
3. リード文。読者が何を判断できるページかを自然に説明する。
4. 右位置テキスト公式リンクまたはアフィリエイトリンクCTA。最初のH2より前。
5. サービス概要。最初のH2。
6. 評価スコア点の理由や根拠。H2内にH3で、各評価軸の理由を本文で説明する。特にキャンペーン・特典はあれば具体的な内容を書く。
7. 良い評判。
8. 気になる評判。
9. 怪しいと言われる理由の整理。
10. 安全性・信頼性の確認。
11. 価格・特典。
12. 発送・受け取り。
13. 向いている人 / 向いていない人。
14. 関連する辞書記事・ランキング・比較記事。
15. まとめ。
16. Q&A 5件以上。
17. 辞書プラグイン基本情報表。記事最後。
FAIL:
- 基本情報表が記事冒頭にある。
- 評価スコア表がH1直下にない。
- 評価項目H3の理由本文がない。
- 通常記事の評価レビュー構成に戻っている。
- キャンペーン記事、用語集、カード辞書、BOX辞書、ショップ辞書の構成と混同している。
### SEOタイトル/H1 Gate
- SEOタイトルは `○○の評価ポイントと評判・口コミレビュー`。
- H1はサイト名またはショップ名のみ。
- H1とSEOタイトルを同じにしない。
- SEOタイトルがサービス名だけ、弱い、未設定の場合は `SEO_TITLE_MISSING_OR_WEAK`。
- H1とSEOタイトルが区分されていない場合は `SEO_TITLE_H1_NOT_SEPARATED`。
- validatorへ `seo_title`、`h1_text`、`seo_title_h1_separated=true|false`、`seo_title_gate_result` を保存する。
### Directory Core / 辞書プラグイン表Gate
- 評価スコア表はDirectory Core/辞書プラグインの評価スコア表を使う。
- 基本情報表はDirectory Core/辞書プラグインの基本情報表を使う。
- 手書きHTML表、Markdown表、本文内の疑似表で代替しない。
- 評価スコア表はH1直下。
- 基本情報表はまとめとQ&Aの後、記事末尾。
- 公開HTMLまたはWP/Directory readbackで表の存在を実測する。
FAIL名:
- `DIRECTORY_PLUGIN_RATING_SCORE_TABLE_MISSING`
- `DIRECTORY_PLUGIN_BASIC_INFO_TABLE_MISSING`
- `DIRECTORY_PLUGIN_TABLE_REPLACED_BY_MANUAL_TABLE`
- `DIRECTORY_CORE_READBACK_MISSING`
必須証跡:
- `dictionary_score_table_present`
- `dictionary_basic_info_table_present`
- `manual_score_table_count`
- `manual_basic_info_table_count`
- `directory_core_readback_confirmed`
- `directory_plugin_table_gate_result`
### リード文・CTA Gate
- リード文は2〜3文を基本にし、500字以内にする。
- リード文は「このページで何を判断できるか」を自然に書く。
- Search Compass素材、評価軸リスト、作業メモ、公式情報の羅列をリードにしない。
- リード内に黒太字+黄色下線マーカーを最低1つ入れる。
- リード直後、最初のH2前に右位置CTAを置く。
- CTAは公式リンクまたはアフィリエイトリンクを使う。
- CTAは公式/アフィリエイトの主機能とURLを確認してから入れる。
CTA形式の基準:
`<p style="text-align: right;"><span class="badge badge-red">公式</span><b>:<a href="公式URL" target="_blank" rel="nofollow noopener">サービス名</a></b></p>`
必須証跡:
- `lead_page_purpose_present`
- `lead_sentence_count`
- `lead_chars`
- `lead_yellow_marker_count`
- `official_cta_right_present`
- `official_cta_html_pattern_result`
- `official_primary_function`
- `official_reference_urls_checked`
FAIL:
- `LEAD_PAGE_PURPOSE_MISSING`
- `LEAD_TOO_SHORT_OR_ONE_SENTENCE`
- `LEAD_TOO_LONG_OVER_500_CHARS`
- `LEAD_MARKER_MISSING`
- `RIGHT_ALIGNED_OFFICIAL_CTA_MISSING`
- `OFFICIAL_PRIMARY_FUNCTION_UNVERIFIED`
### KW・共起語・関連語Gate
- 検査cronが保存したKW、共起語、関連語、検索意図、読者不安、公式情報、口コミ、未確認メモを制作前に読む。
- KWは自然文内で使う。見出しに詰め込み、同じ語尾を連続、同じフレーズの不自然反復は禁止。
- 共起語・関連語は評価軸、口コミ、安全性、発送、価格、特典、怪しいと言われる理由、向いている人の中に自然に入れる。
- Search Compass結果をそのまま本文に貼らない。
- KW出現率だけでPASSにしない。読者目線の自然性と公開HTML実測で見る。
必須証跡:
- `target_keyword`
- `keyword_density_result`
- `cooccurrence_terms_used`
- `related_terms_used`
- `keyword_stuffed_sentence_count`
- `search_compass_material_direct_paste_count`
- `kw_gate_result`
FAIL:
- `KEYWORD_DENSITY_UNMEASURED`
- `COOCCURRENCE_TERMS_MISSING`
- `RELATED_TERMS_MISSING`
- `KEYWORD_STUFFING_FOUND`
- `SEARCH_COMPASS_DIRECT_PASTE_FOUND`
### 装飾Gate
- 黒太字、赤太字、黒太字+黄色下線マーカーを意味のある箇所に使う。
- 最低目安は黒太字6箇所以上、赤太字2箇所以上、黒太字+黄色下線4箇所以上。
- リード内に黒太字+黄色下線マーカーを最低1箇所。
- 黄色下線だけの単独乱用は禁止。
- 85字を超える長い黄色下線は禁止。
- 重要でない文、作業メモ、薄い一般論、数合わせの装飾は禁止。
- 装飾によって読みにくくなった場合は修正。
必須証跡:
- `black_bold_count`
- `red_bold_count`
- `black_bold_yellow_marker_count`
- `lead_yellow_marker_count`
- `black_bold_usage_gate`
- `red_bold_usage_gate`
- `yellow_marker_usage_gate`
- `decoration_golden_ratio_gate`
- `decoration_ratio_values`
- `unimportant_decoration_count`
- `unreadable_decoration_count`
FAIL:
- `DECORATION_GOLDEN_RATIO_FAIL`
- `BLACK_BOLD_MINIMUM_MISSING`
- `RED_BOLD_MINIMUM_MISSING`
- `YELLOW_MARKER_MINIMUM_MISSING`
- `LEAD_YELLOW_MARKER_MISSING`
- `UNIMPORTANT_DECORATION_FOUND`
- `UNREADABLE_DECORATION_FOUND`
### ✅/⚠️ Gate
- ✅は最低3件以上。
- ⚠️は最低3件以上。
- 1行1要点で書く。
- ✅と⚠️を同じ文、同じ段落、同じボックスに混在させない。
- 1行に複数の✅/⚠️を入れない。
- 数合わせだけの薄い✅/⚠️は禁止。
- 箇条書きは読者の判断に直接役立つ内容にする。
必須証跡:
- `check_mark_count`
- `warning_mark_count`
- `check_warning_list_style_result`
- `check_warning_inline_misuse_count`
- `check_warning_thin_filler_count`
- `check_warning_gate_result`
FAIL:
- `CHECK_MARK_MINIMUM_MISSING`
- `WARNING_MARK_MINIMUM_MISSING`
- `CHECK_WARNING_MIXED_IN_SAME_LINE`
- `CHECK_WARNING_MULTIPLE_SYMBOLS_ONE_LINE`
- `CHECK_WARNING_THIN_FILLER_FOUND`
### Q&A exact Gate
Q&Aは本文内に以下の構造を5つ以上入れる。構造が違えば数えない。
`<details class="qa-box"><summary class="qa-question">質問内容</summary><div class="qa-answer">回答内容</div></details>`
数えないもの:
- FAQ JSON-LD。
- JavaScript。
- TOC。
- 関連記事部品。
- サイドバー。
- フッター。
- class名だけ。
- 本文外のテンプレート。
必須証跡:
- `qa_box_exact_class_count`
- `qa_box_required_structure_gate`
- `qa_box_count`
- `qa_plain_style_gate`
FAIL:
- `QA_BOX_EXACT_STRUCTURE_MISSING`
- `QA_BOX_COUNT_UNDER_5`
- `FAQ_JSON_LD_COUNTED_AS_VISIBLE_QA`
- `QA_ANSWER_UNNATURAL_OR_THIN`
### 公開HTML/preview HTML実測Gate
制作以降は公開HTMLまたはpreview HTMLを取得して実測する。自己申告、固定true、件数だけ、作業ログだけではPASS禁止。
必須:
- 公開/preview HTML取得。
- HTML sha256またはartifact sha256保存。
- H1、SEOタイトル、本文構成、CTA、Q&A、装飾、KW、内部リンク、外部リンク、Directory Core表、カテゴリ、本文長を実測。
- `validator_result.json` を保存。
- JSON parse確認。
- 必須キー欠落確認。
- 未測定キー確認。
- FAIL配列確認。
必須証跡:
- `public_html_checked`
- `public_or_preview_html_refetched`
- `mandatory_public_html_measurement_gate`
- `validator_result_json_present`
- `validator_json_parse_gate`
- `validator_unmeasured_items`
- `html_sha256_or_artifact_sha256`
- `measured_at`
- `measurement_source`
FAIL:
- `PUBLIC_HTML_MEASUREMENT_MISSING`
- `VALIDATOR_RESULT_JSON_MISSING`
- `VALIDATOR_JSON_PARSE_FAILED`
- `VALIDATOR_REQUIRED_KEY_MISSING`
- `VALIDATOR_UNMEASURED_ITEM_FOUND`
- `SELF_DECLARED_PASS_USED`
- `FIXED_TRUE_USED`
- `COUNT_ONLY_PASS_USED`
### validator必須キーGate
以下のキーは欠落したらFAIL。値が空、未測定、固定true、別記事流用でもFAIL。
`public_html_checked`, `validator_result_json_present`, `validator_json_parse_gate`, `validator_unmeasured_items`, `failed_gate_names`, `required_gate_failures`, `mandatory_gate_fail_count`, `quality_delta_items`, `pass_allowed`, `correction_required`, `naturalization_rewrite_gate`, `reference_style_gate`, `plain_style_gate`, `lead_plain_style_gate`, `body_plain_style_gate`, `qa_plain_style_gate`, `qa_box_exact_class_count`, `qa_box_required_structure_gate`, `body_internal_link_count`, `dictionary_score_table_present`, `dictionary_basic_info_table_present`, `manual_score_table_count`, `manual_basic_info_table_count`, `valid_style_box_count`, `first_conclusion_box_present`, `qa_box_count`, `decoration_golden_ratio_gate`, `official_primary_function`, `selected_wp_category_names`, `category_selection_gate`, `wp_category_readback_confirmed`, `directory_core_readback_confirmed`, `joutai_strict_machine_result`, `desu_masu_count`, `black_bold_usage_gate`, `red_bold_usage_gate`, `yellow_marker_usage_gate`, `keyword_density_result`, `cooccurrence_terms_used`, `related_terms_used`, `check_mark_count`, `warning_mark_count`, `check_warning_gate_result`, `internal_link_live_200_gate`, `production_onward_prompt_chars`, `prompt_required_append_gate_result`。
### 必須FAIL全記録Gate
必須FAILが出たら、以下3つすべてへ同じFAIL名を残す。
- `failed_gate_names`
- `required_gate_failures`
- `quality_delta_items`
3つすべてに入っていなければ `QUALITY_CHECK_REQUIRED_FAIL_NOT_RECORDED` でFAIL。FAILを記録せずにPASSへ進めない。
### Hard-stop repair loop Gate
必須FAILが1つでも出た場合:
1. 作業を止める。
2. 該当FAILに関係する対象Gate/マニュアルを特定する。
3. 対象Gate/マニュアルを読み直した証跡を残す。
4. 記事またはvalidatorを修正する。
5. 公開/preview HTMLを再取得する。
6. validatorを再実行する。
7. 必須FAILが0か確認する。
8. 0でなければ1へ戻る。
9. 0になったらTASK8へ渡す。
途中停止禁止。`REPAIR_LOOP_STOPPED_WITH_REQUIRED_FAILS`、`TARGET_GATE_MANUAL_FULL_REREAD_AFTER_FAIL_MISSING`、`MANUAL_REREAD_AFTER_REPAIR_MISSING`、`READER_PERSPECTIVE_RECHECK_AFTER_REPAIR_MISSING` を必須FAILとして扱う。
### 内部リンク live 200 Gate
- 本文内内部リンクを公開HTML/preview HTMLから抽出する。
- サイドバー、フッター、関連記事、タグ、カテゴリ、TOC、Directory自動部品は本文内リンク数に含めない。
- 各URLをlive HTTPで確認する。
- 301/302は最終URLが200になるまで確認する。
- 最終URL200以外は本文へ入れない。
- 404、410、403、500、timeout、未確認、下書き、preview専用、言語違いはFAIL。
FAIL名:
- `INTERNAL_LINK_404_FOUND`
- `INTERNAL_LINK_NOT_200_FOUND`
- `INTERNAL_LINK_UNVERIFIED`
- `INTERNAL_LINK_WRONG_LANGUAGE`
- `INTERNAL_LINK_PREVIEW_OR_DRAFT_USED`
- `INTERNAL_LINK_EVIDENCE_MISSING`
必須証跡:
- `body_internal_link_count`
- `internal_link_urls_checked`
- `internal_link_final_statuses`
- `internal_link_live_200_gate`
- `internal_link_failures`
### 外部リンクGate
- 手書き外部リンクは基本的に公式CTAを中心にする。
- 必要な公式サブページリンクは1〜2本程度まで。
- 口コミ、比較、ランキング、広告、関係薄い外部リンクの過多は禁止。
- 外部リンクが読者の判断に必要かを保存する。
必須証跡:
- `external_link_count`
- `external_link_overuse_gate`
- `official_reference_urls_checked`
### 日本語自然文Gate
検査対象:
- リード。
- H2導入。
- H3導入。
- 評価項目本文。
- スコア理由。
- 装飾ボックス内文。
- ✅/⚠️箇条書き。
- Q&A回答。
- まとめ。
- CTA前後文。
FAIL:
- 主語述語が崩れている。
- 機械翻訳調。
- ですます/だである混在が不自然。
- 同じ語尾が続く。
- KW詰め込みで読みにくい。
- 不要な英語混入。
- 公式文やSearch Compass素材の直貼り。
- 読者に見せる本文に作業メモ臭が残る。
必須証跡:
- `article_natural_language_gate_version`
- `article_natural_language_sections_checked`
- `article_natural_language_result`
- `article_natural_language_fail_count`
- `keyword_stuffed_sentence_count`
- `awkward_phrase_count`
- `machine_translation_tone_count`
- `unnecessary_english_mixture_count`
- `reader_facing_rewrite_examples`
- `desu_masu_count`
- `joutai_strict_machine_result`
### 既公開・旧記事No-Touch Gate
- target slugに公開URL、production_publish_evidence、validator_result、task8_handoff、公開HTML、Directory Core確定値がある場合は既制作扱いとして制作cronで触らない。
- 通常評価記事として過去に作った記事を今回のオンラインオリパ辞書記事制作数へカウントしない。
- 代表が下書きに回した旧通常評価記事は、今回の再構築版で新規記事を作るための除外対象であり、制作済み根拠ではない。
- 既公開・handoff済みslugがtask2に残っていたら、記事本文・Directory Core・カテゴリ・validatorを編集せず、stale task2として消費し、次の新規候補へ進む。
必須証跡:
- `production_existing_public_evidence_checked`
- `production_existing_task8_handoff_checked`
- `production_public_article_no_touch=true`
- `production_validator_no_overwrite=true`
- `production_stale_task2_consumed_via=agent_task_action`
- `production_next_stage_preserved=task8`
- `production_followup_candidate_result=selected_new_candidate|no_eligible_candidate`
FAIL:
- `PRODUCTION_PUBLIC_ARTICLE_OVERWRITTEN`
- `PRODUCTION_EXISTING_VALIDATOR_OVERWRITTEN`
- `PRODUCTION_STALE_TASK2_NOT_CONSUMED`
- `OLD_NORMAL_REVIEW_ARTICLE_COUNTED_AS_NEW_DICTIONARY_ARTICLE`
### OripaGate読者目線Gate
オンラインオリパでは、NSFW文脈、AIツール文脈、海外FX文脈を残さない。以下へ置き換える。
- オンラインオリパの信頼性。
- 運営会社・古物商・特商法・利用規約・年齢条件。
- 決済方法。
- ポイント・還元・キャンペーン。
- 発送・送料・梱包・到着目安。
- 当たりやすさ、演出、排出、在庫、景品表示。
- 口コミ、良い評判、気になる評判。
- 怪しいと言われる理由と事実確認。
- 向いている人、向いていない人。
- 関連するオリパ用語、カード、未開封BOX、ショップ、キャンペーン。
### 役割別終了条件
制作cron:
- production_readyの新規オンラインオリパ候補を1件ずつ処理する。
- 本文、Directory Core表、カテゴリ、SEOタイトル、H1、CTA、Q&A、装飾、KW、内部リンクを整える。
- 公開/preview HTML実測とvalidator保存を行う。
- 必須FAIL 0、`final_quality_score>=90`、`score_cap=100` になったらTASK8へ渡す。
- TASK8へ渡すことだけが終了条件。FAILがあるうちは終われない。
高品質チェックcron:
- 制作cronの自己申告を信用しない。
- 公開/preview HTMLを再取得する。
- validatorを再実行する。
- 必須FAILが1つでもあれば訂正へ戻す。
- PASS時だけTASK8または次工程へ渡す。
訂正cron:
- FAIL対象Gate/マニュアルを読み直した証跡を残してから直す。
- 同じ種類の不具合が本文全体にないか横断チェックする。
- 修正後に公開/preview HTML再取得、validator再実行、読者目線再チェックを行う。
- 必須FAIL 0まで繰り返す。
- 必須FAIL 0になったらTASK8へ渡す。
改善ハンドオフcron:
- 記事本文を直接直さない。
- 制作・高品質チェック・訂正で残った再発防止、Gate不足、運用不足、キュー改善だけをハンドオフする。
- 改善ハンドオフを記事PASSやTASK8の代替にしない。
### 公開本文への内部語混入禁止Gate
読者に見える記事本文、H1、H2、H3、Q&A、CTA、メタ説明、FAQに以下を出さない。
- Hub
- cron
- Gate
- PASS/FAIL
- Work Queue
- agent_pack
- task番号
- validator_result
- 作業ログ
- 内部パス
- 認証値
- キー値
- 301/移行メモ
- 代表への報告文
内部証跡へ保存する情報と公開記事の本文を分離する。
### 最終確認Gate
公開更新またはcron作成前に、以下をすべて満たす。
- `production_onward_prompt_chars>=50000`
- `prompt_required_append_gate_result=PASS`
- `missing_required_append_items=[]`
- `reference_inheritance_urls_checked` がある。
- ✅/⚠️ Gateがある。
- 装飾Gateがある。
- KW/共起語/関連語Gateがある。
- Q&A exact Gateがある。
- Directory Core表Gateがある。
- 公開HTML実測Gateがある。
- Hard-stop repair loop Gateがある。
- Internal link live 200 Gateがある。
- 既公開・旧通常評価記事No-Touch Gateがある。
- TASK8終了条件がある。
## ORIPAGATE_PRODUCTION_ONWARD_REQUIRED_APPEND_GATE_20260610_END
## 2026-06-17 最新追記: 制作本文は敬体Strict
Marker: `oripagate-production-polite-style-strict-20260617`
この追記は、この制作cronが作る OripaGate `https://oripagate.jp/` の公開記事本文に適用する。既存本文・過去追記・既存指示は消さず、文体についてはこの最新追記を優先する。
制作cronは、公開記事本文を自然な敬体で書く。リード文、本文段落、Cocoon/style BOX本文、Q&Aの質問・回答、まとめ文、注意喚起文は「です・ます」調で統一する。過去の文体指示や古いFAIL名が同じ制作cron本文内に残っている場合でも、2026-06-17以降は敬体Strictを最新優先ルールとして扱い、常体の「だ・である」調が本文に混在する場合はFAILにする。さらに、制作cronは本文作成、自己検査、validator_result保存、公開/preview HTML読み戻し、TASK8 handoffの全工程でこの敬体Strictを同じ基準として使う。検査名、古いファイル名、旧Gate名にplain系の語が残る場合でも、読者に見える本文の要求は敬体である。修正時は語尾だけを機械的に置き換えず、主語述語、読者目線、注意喚起、Q&A回答、まとめの自然さを読み直し、違和感のある日本語を残さない。加えて、制作cronは公開前に、リード文、各H2直下の導入文、H3本文、Cocoon/style BOX本文、✅/⚠️の説明文、Q&A回答、まとめ、CTA前後文を個別に読み返す。確認時は `polite_style_gate`、`lead_polite_style_pass`、`body_polite_style_pass`、`qa_polite_style_pass`、`box_polite_style_pass`、`natural_polite_japanese_pass`、`polite_style_violation_count` をvalidator_resultへ残す。語尾だけが丁寧でも、文脈が薄い、同じ語尾が続く、説明が不自然、検索意図から外れる、読者への注意喚起が命令調に寄る、公式確認が必要な箇所を断定しすぎる、Q&A回答が短すぎる、まとめが作業報告のように見える場合はPASSにしない。本文は読者がそのまま判断材料として読める自然な敬体へ直してから公開する。見出しは別ルールどおり敬体にせず、名詞句・問い・短い説明句で自然に作る。
敬体Strictの追加確認として、制作cronは公開前に本文全体を「読者が検索から来て、そのまま判断できる文章か」という観点で再読する。特に、価格、相場、評判、口コミ、使い方、注意点、売り時、向いている人、向いていない人、公式確認が必要な箇所では、断定しすぎない敬体と、読者を迷わせない説明を両立する。文末だけを整えても、途中の接続が不自然、同じ表現の反復、箇条書きの説明不足、Q&A回答の薄さ、BOX本文の命令調、まとめの作業報告化がある場合は修正対象にする。検査・制作・高品質チェック・訂正・改善ハンドオフのいずれでも、公開記事本文に対する最終要求は自然な敬体であり、見出しだけは非敬体の自然な見出しとして分離する。
常体の「だ」「である」調、常体敬体混在、語尾だけを置換した不自然な敬体、機械的で語彙力のない敬体が公開本文に残る場合はFAILである。公式引用、表ラベル、辞書プラグイン項目名、固有名詞、商品名、カード名、サービス名、URL、コード、validator_resultのキー名、Hub内部キーは例外とする。
公開/preview HTMLを読み戻し、`polite_style_gate=PASS`、`plain_style_mixed_count`、`polite_style_violation_count`、`lead_polite_style_pass`、`body_polite_style_pass`、`qa_polite_style_pass`、`box_polite_style_pass`、`natural_polite_japanese_pass` をvalidator_resultに記録する。常体混在や不自然な敬体が残る場合、制作cronは同じrun内で修正し、FAIL0件になるまで完了してはいけない。
## 2026-06-17 追記: 見出しは敬体にしない
Marker: `oripagate-production-heading-no-polite-style-20260617`
敬体Strictは公開本文、リード文、本文段落、Q&A回答、BOX本文、まとめ、注意喚起文に適用する。ただし、H1/H2/H3/H4などの見出しには「です・ます」調を使わない。見出しを敬体にすると不自然になるためである。
見出しは、検索意図と記事構造が分かる自然な名詞句・問い・短い説明句にする。例: `買取価格相場と売り時`、`高く売れる未開封状態`、`口コミで見る注意点`、`よくある質問`。`買取価格相場です`、`売り時を解説します`、`注意点があります` のような敬体見出しはFAILである。
validator_resultには、必要に応じて `heading_polite_style_violation_count` と `heading_no_polite_style_pass` を残す。本文は敬体、見出しは自然な非敬体見出し、という分離を守る。
## 2026-06-18 追記: 第三者上位10件構造確認とH3掘り下げ必須Gate
Marker: `oripagate-review-production-third-party-top10-original-structure-gate-20260618`
制作cronは記事構成を作る前に、対象サービスについて `サービス名 評判`、`サービス名 口コミ`、`サービス名 怪しい`、`サービス名 評価` などで検索し、上位10件前後の第三者記事を確認する。
第三者記事からは、読者が共通して知りたい論点、上位記事に多いH2/H3、口コミで不安視される点、公式確認が必要な点、評判・評価記事で外してはいけない骨組みだけを抽出する。見出し、本文、表現、順番をコピーしてはいけない。
制作cronは、第三者上位記事の共通骨組みに、OripaGate独自の評価軸、公式情報確認、運営会社・特商法、安全性、発送、支払い、キャンペーン、向いている人・向いていない人、Directory Core評価スコア表、基本情報表、Q&A、内部リンクを追加して、コピーではないオリジナル構成にする。
H2だけで薄く並べる構成は禁止。主要H2には複数のH3を置き、H3本文で理由・根拠・注意点を掘り下げる。H3なしのH2が連続する場合、または評価理由がH2見出しだけで終わる場合はFAIL。
validator_resultには `third_party_top10_structure_checked`、`third_party_structure_sources_count`、`third_party_common_outline_notes`、`original_structure_added`、`h2_count`、`h3_count`、`h2_without_h3_count`、`h2_h3_structure_gate` を残す。
## 2026-06-18 追記: 第三者検索証跡なし制作禁止Gate
Marker: `oripagate-review-production-third-party-search-evidence-hard-fail-gate-20260618`
制作cronは、評判・評価記事の本文作成に入る前に、第三者検索の証跡を必ず確定する。第三者検索の証跡がない状態で、公式情報、運営会社情報、特商法、利用規約、SNS、キャンペーン情報、既存メモだけを根拠に記事本文を作ってはいけない。
第三者検索証跡とは、少なくとも `検索実行日時`、`検索エンジンまたはSearch Compass実行元`、`実行クエリ`、`取得件数`、`確認したURL`、`ページタイトル`、`第三者記事かどうかの判定`、`採用/不採用理由`、`本文構成へ反映する論点` がそろった状態を指す。これらのうち1つでも欠ける場合は、第三者検索証跡なしとして扱い、制作本文作成に進んではいけない。
取得件数が0件、URLが0件、第三者記事が0件、検索クエリが記録されていない、Search Compassまたは検索実行ログが残っていない、採用/不採用理由がない、検索した事実を後から読み戻せない、のいずれかに当てはまる場合は必須FAILとする。この状態で `production_ready=true`、公開、Directory Core入力、Hub保存、task8保存、完了報告へ進むことを禁止する。
検索0件の場合は、対象サービス名の表記揺れ、カタカナ/英字/日本語表記、運営会社名、ドメイン名、`評判`、`口コミ`、`怪しい`、`安全性`、`当たらない`、`発送`、`支払い`、`キャンペーン`、`オリパ 評判` などで再検索する。それでも第三者記事が取れない場合は、公式確認で代替せず、`THIRD_PARTY_SEARCH_EVIDENCE_MISSING` として制作停止する。
公式情報は、事実確認、料金、運営会社、特商法、利用規約、キャンペーン条件の確認に使う。公式情報を、第三者評判、第三者口コミ、検索上位記事の構造、読者不安の外部証拠として扱ってはいけない。公式情報だけで「評判記事として十分」と判断した場合はFAIL。
validator_resultには `third_party_search_evidence_present`、`third_party_search_queries`、`third_party_search_executed_at`、`third_party_search_engine_or_tool`、`third_party_search_result_count`、`third_party_search_urls_checked`、`third_party_sources_accepted_count`、`third_party_sources_rejected_count`、`third_party_source_rejection_reasons`、`third_party_structure_evidence_saved`、`third_party_zero_result_retry_done`、`third_party_search_hard_fail_reason` を必ず残す。
合格条件は `third_party_search_evidence_present=true`、`third_party_search_result_count>=1`、`third_party_search_urls_checked>=1`、`third_party_sources_accepted_count>=1`、`third_party_structure_evidence_saved=true` である。満たせない場合は `production_ready=false` とし、`blocked_reason=THIRD_PARTY_SEARCH_EVIDENCE_MISSING` を残して停止する。
このGateは、本文品質Gate、公式確認Gate、Directory Core Gate、公開HTML実測Gateより前に満たす。第三者検索証跡なしの記事制作は、どれだけ公式情報が厚くても、どれだけ文章が自然でも、どれだけ装飾が整っていても必須FAILとする。
## 2026-06-18 追記: 第三者情報0件時の制作許可例外Gate
Marker: `oripagate-review-production-third-party-zero-result-exception-gate-20260618`
この追記は、第三者検索証跡なし制作禁止Gateの運用を補正する最新追記として扱う。必須FAILにするのは、第三者情報が無いことではなく、第三者情報を探した検索証跡が無いことである。
制作cronは、Search Compassまたは検索エンジンで対象サービス名、表記揺れ、運営会社名、ドメイン名、`評判`、`口コミ`、`怪しい`、`安全性`、`発送`、`支払い`、`キャンペーン` などを検索し、実行クエリ、検索日時、取得件数、確認URL、0件または不採用になった理由を記録する。ここまで実施した結果として第三者記事・第三者口コミ・第三者レビューが確認できない場合のみ、第三者情報なしで制作へ進めてよい。
第三者情報0件で制作する場合は、`third_party_search_evidence_present=true`、`third_party_zero_result_retry_done=true`、`third_party_sources_accepted_count=0`、`third_party_zero_result_production_allowed=true` を validator_result に残す。あわせて、`third_party_zero_result_reason` に「検索したが第三者情報を確認できなかった」理由を日本語で残す。
第三者情報0件の記事では、第三者の評判・口コミが存在するかのように書いてはいけない。口コミ評価、SNS評判、比較サイトの評価、利用者の不満、第三者記事の傾向を捏造してはいけない。公式情報、運営会社情報、特商法、利用規約、料金、発送、支払い、キャンペーン条件、サイト上で確認できる事実を中心に構成し、「第三者情報が確認できないため、公式情報と公開情報をもとに確認する」という扱いにする。
つまり、`THIRD_PARTY_SEARCH_EVIDENCE_MISSING` は必須FAILだが、`THIRD_PARTY_SEARCH_ZERO_RESULT_WITH_EVIDENCE` は必須FAILではない。検索証跡があり、再検索も実施し、第三者情報0件の理由を validator_result に残した場合のみ、production_ready判定へ進める。
## 2026-06-18 追記: 第三者情報0件でも制作停止禁止Gate
Marker: `oripagate-review-production-zero-third-party-must-continue-gate-20260618`
この追記を、第三者検索証跡なし制作禁止Gateおよび第三者情報0件時の制作許可例外Gateより後の最新運用ルールとして優先する。
検索することは必須である。Search Compassまたは検索エンジンで、対象サービス名、表記揺れ、運営会社名、ドメイン名、`評判`、`口コミ`、`怪しい`、`評価`、`安全性` などの検索を実行し、その証跡を残さなければならない。検索未実施、検索クエリ未記録、検索日時未記録、取得件数未記録、確認URL未記録、再検索未実施は必須FAILとする。
ただし、検索を実行した結果として第三者情報が無いことを理由に、制作を停止してはいけない。第三者記事、第三者口コミ、比較記事、レビュー記事、SNS評判が0件でも、検索証跡と0件理由が残っているなら、制作cronは本文作成を続行する。第三者情報0件は制作停止理由ではない。
第三者情報が0件の場合、制作cronは公式情報、公開情報、運営会社情報、特商法、利用規約、料金、発送、支払い、キャンペーン条件、サイト上で確認できる事実を材料にして記事を作る。その際、第三者口コミや評判が存在するかのような表現、検索上位記事に書かれていたかのような表現、利用者の声を捏造する表現は禁止する。
前段の `third_party_sources_accepted_count>=1` は、第三者情報が検索で確認できた場合だけの合格条件とする。検索証跡があり、再検索も行い、第三者情報が0件だった場合は、`third_party_sources_accepted_count=0` のままでも制作続行を許可する。
validator_resultには `third_party_search_required=PASS`、`third_party_search_evidence_present=true`、`third_party_search_result_count`、`third_party_sources_accepted_count`、`third_party_zero_result_production_allowed`、`third_party_zero_result_reason`、`production_basis_when_zero_third_party` を残す。第三者情報0件で制作する場合は `third_party_zero_result_production_allowed=true`、`production_basis_when_zero_third_party=official_and_public_facts_after_search` とする。
禁止されるのは、第三者情報0件で制作することではない。禁止されるのは、検索せずに作ること、検索証跡を残さずに作ること、0件なのに第三者評判があるように書くこと、0件を理由に制作を止めることである。
## 2026-06-18 追記: 自然文・係り受け修正Gate
Marker: `oripagate-review-production-natural-japanese-dependency-gate-20260618`
制作cronは、本文、リード文、H2直下の冒頭文、Cocoon BOX本文、Q&A回答、まとめを、読者がそのまま読んで違和感のない自然な敬体で書く。見出しは名詞句や短い説明句を基本とし、見出しまで無理に敬体化しない。
1文に「サービスの説明」「読者の目的」「確認すべき行動」「注意点」を詰め込まない。サービスの説明と、読者に確認してほしい行動は原則として文を分ける。
禁止例: `100円オリパ.comは、低額帯からオンラインオリパを試したい人が、支払い・発送・運営表記を先に確認しておきたいサービスです。`
修正例: `100円オリパ.comは、低額からオンラインオリパを試したい人向けのサービスです。これから利用したい方は、まず支払い方法・発送条件・運営者情報を確認しておくと安心です。`
以下は自然文GateでFAILとする。
- 主語と述語の対応が崩れている文。
- `人が、〜確認しておきたいサービスです` のように、読者の行動がサービス説明へねじれて接続されている文。
- `低額帯`、`運営表記`、`支払い・発送・運営表記` など、読者向け本文として硬すぎる語や省略しすぎた語を不自然に使う文。
- 名詞を並べただけで、読者が次に何を確認すればよいか分からない文。
- 1文が長く、サービス説明、注意喚起、行動案内が混ざっている文。
- 評判・口コミが0件なのに、第三者の声があるように見せる文。
制作後は、全リード文、各H2直下の冒頭文、BOX冒頭文、Q&A回答、まとめ文を読み直し、声に出して不自然な日本語が1つでもあれば修正する。修正できない場合は公開禁止。
validator_resultには `natural_japanese_dependency_gate=PASS`、`awkward_sentence_rewrite_count`、`lead_sentence_naturalized`、`heading_intro_sentence_checked`、`box_sentence_checked`、`qa_answer_naturalized`、`summary_sentence_naturalized`、`bad_dependency_sentence_found` を残す。`bad_dependency_sentence_found=true` のまま `production_ready=true` にしてはいけない。
## 2026-06-18 追記: Gutenbergブロック区切りコメント禁止Gate
Marker: `oripagate-review-production-no-gutenberg-block-comment-gate-20260618`
制作cronは、記事本文、下書きHTML、公開HTML、Directory Core入力欄、メタ説明、Q&A、Cocoon BOX内に Gutenberg のブロック区切りコメントを入れてはいけない。
禁止する文字列は `
