OpenClaw · ESLint · Stylelint · リモート Mac · 2026
2026 OpenClaw フロント実戦:
静的検査記録を単一要約に束ねプルリクエストへ返す
2026.04.27
品質ゲート
約 7 分
00 なぜ二種類の記録が散るのか
手元と流水で整形器や根がずれます。相対経路契約と一ファイル記録を先に固定し、ノード二十二以上とオープンクローへは短い見出しだけ渡します。票に環境を混ぜない。
可引用:相対一箇所・見出し十字以内。
01 二経路を一枚の表にする
生貼りと畳みで負荷が変わります。
| 観点 | 生の記録二枚 | 単一要約 |
|---|---|---|
| 読み | 経路がずれる。 | 見出し一つ。 |
| 閾値 | コード二つ。 | 致命で赤。 |
| 再現 | 手元流水差。 | 同形。 |
可引用:表は三列まで。
02 手元と流水で記録形式を揃える
二種とも機械可読一ファイルへ。終了コードの意味を手元と流水で揃え、ノード二十二以上と記録器版を鍵に含めます。
# 手元でも流水でも同じ相対へ(ノード二十二以上)
mkdir -p artifacts/lint
npx eslint . -f json -o artifacts/lint/eslint.json
npx stylelint "**/*.{css,scss}" -f json > artifacts/lint/stylelint.json
可引用:小文字下線固定。
03 ゲートウェイ側の集約としきい値
オープンクローが二記録を読み件数と上位経路だけ残し単一要約へ。致命超は失敗、警告のみは成功寄せの一枚岩判定。本文は三列のみ。
// ノード二十二以上想定:二記録を読み合算(例の骨格)
import { readFileSync } from "node:fs";
const eslint = JSON.parse(readFileSync("artifacts/lint/eslint.json","utf8"));
const style = JSON.parse(readFileSync("artifacts/lint/stylelint.json","utf8"));
// 致命件数を数え閾値と比較し、要約文字列へ畳む(省略)
可引用:致命と警告は別表。
04 失敗時の再試行と截断の方針
瞬断は指数バックオフ二回まで。空記録は失敗。票は行数上限で切り残りは件数のみ。重複はマーカー更新。長ログは流水成果物へ、人工知能要約へ渡す字は薄く。
可引用:再試行二回・一秒から八秒倍。
05 ホスティングのコメントへ載せる考え方
資格情報は別プロセス、本文は記録入力のみ。ログイン要の私設URLは書かず公開ページへ。識別子は番号のみ。短時間の連投は更新か折りたたみ追記で統一。