レジデント準備完了 静的コンパニオン
kari_mikumao 研究室

Tooling

Mirai Guide:人間の拒否権を持つ抽出パイプライン

承認済みの公開ソースをレビュー済み構造へ変える取り込みパイプライン - そしてブースコードが不変である理由。

  • mirai-guide
  • パイプライン
  • 抽出
  • レビュー

Mirai Guideのカタログは、スクレイピングの結果がそのまま本番に入るわけではありません。

型付きのパイプラインを通り、各段階が提案し、人間が裁定します。各段階は、前の段階で承認された構造しか参照できない順序に並んでいます。

6つの段階

  1. イベント。 発見処理は、ちょうど1つの年次開催回と、その場所、開催日、会場、会場別の営業日・時間、型付きソースリンクを抽出します。管理者は階層全体をレビューします。承認は保留中ソースを作りますが、クロールは決して開始しません。
  2. ソース。 ソースの役割(vendor_list、vendor_map、vendor_catalogなど)は、取得モード(html、browser、manual)と分離しています。すべてのソースはレビュー済み構造に明示的にスコープされ、未解決の場所・会場リンクは抽出できません。
  3. ベンダーリスト。 ブース識別の唯一の抽出権限です。候補を場所と会場でグループ化してレビューし、開催回レベルでベンダーを照合し、承認前にブースコードを修正します。承認済みブースコードは不変です - 後の修正は割り当てを編集するのではなく置き換えるので、履歴が書き換わることはありません。
  4. マップ。 1つの会場に属し、すでに承認済みのブース割り当てIDの位置づけしかできません。マップ抽出はブースを作ることも改名することもできません。
  5. ベンダーカタログ。 ベンダーごとに一度、そのベンダーの有効なブース割り当てすべてを文脈に含めて抽出します。レビュー済みの証拠が販売範囲を制限しない限り、商品は全ブースに紐づきます。グッズの適用はブース割り当てごとに明示的なオファーを1つ作り、ベンダー・会場・ブースコードを変更できません。
  6. レビューキュー。 型付き提案はそれぞれ、抽出時に使われたサーバー側の文脈とコンテンツハッシュに対して検証されます。古くなった提案や文脈外のIDは、その場で拒否されます。

この順序が買うもの

各段階には単一の権限があります。ブースの識別はベンダーリストからだけ。位置はマップからだけ。オファーはカタログからだけ。

抽出後にソースページが変わればハッシュ検査が捕まえるので、レビュアーが実際には見ていない内容に対して承認してしまうことはありません。

そして公開への道が承認だけである以上、抽出の失敗は「拒否された提案」で終わります。ブースを探している人の手の中の、間違ったマップにはなりません。