Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

readiness: count clauses that applied, so a clause's unmet share has a denominator

オープン
#259 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
42/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
javascript

調査の方向性

Start where render_readiness records verdict and unmet per clause, and see how clauses with skipped set are handled, using readiness.require[] as the source. Add an applied series per (contract, clause) in metrics.js and document it in METRICS.md. Then reword the threshold comment in packages/browser/src/readinessDrift.ts. Done when a test shows unmet / applied for a guarded clause and the two docs agree.

索引モデルが issue の本文から書いたものです。

説明

enhancement

Problem

A clause's failure share is not readable from the plugin's metrics, and one browser comment understates how often a healthy clause fails.

  1. No denominator per clause. render_readiness records verdict once per governed variant and unmet once per failing clause. A clause that a guard skipped is not counted at all. So unmet for a clause can only be read against all the contract's renders, not against the renders where that clause applied. The fleet's drift detector (packages/browser/src/readinessDrift.ts) measures the other way: failures over applicable renders. The two disagree whenever a clause is guarded.
  2. The drift threshold comment is wrong for guarded clauses. ReadinessDriftPolicy.threshold says healthy clauses fail on "a few percent of renders". A clause guarded on a third-party slot can fail on about a quarter of the renders it applies to and still be healthy, because the slot mounts with nothing to show.

Evidence (2026-10-16, one production cluster)

  • One product contract had a review-summary clause guarded on the slot's presence. The slot mounts on products with enough ratings. On about 25% of those, the vendor has no summary, so the clause can never hold. The stored pages are correct.
  • Plugin: 159,162 verdicts, 4,428 unsatisfied, with that clause unmet on 3,001. The share of renders where it applied isn't recoverable from render_readiness.
  • Fleet: up to 7 of 60 workers latched that clause in readinessFailing for hours. They measured about 40% failure where the slot applied, against the 50% threshold and 25% recovery.

The clause itself is being fixed in the consumer's contract; that is not this issue.

Proposed

  • Plugin: record, per clause, whether it applied: for example render_readiness series applied (contract, clause) from readiness.require[] where !skipped. unmet / applied is then the clause's failure share, on the same denominator as the drift detector. Document it in metrics.js and METRICS.md.
  • Browser: reword the threshold doc. A guarded clause's legitimate failure share depends on how often its guard's slot is empty; don't promise "a few percent".

Done when

  • unmet / applied per clause is readable from analytics, with a test.
  • The METRICS.md entry and the readinessDrift.ts comment match.
主要言語
JavaScript
スター
0
フォーク
0
平均マージ
3時間 1分
マージ済み PR(30日)
70

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

HarperFast/prerender-plugin のほかの issue

HarperFast/prerender-plugin の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。