readiness: count clauses that applied, so a clause's unmet share has a denominator
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 42/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- javascript
- Domaine
- analytics, documentation, observability
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- No denominator per clause.
render_readinessrecordsverdictonce per governed variant andunmetonce per failing clause. A clause that a guard skipped is not counted at all. Sounmetfor 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. - The drift threshold comment is wrong for guarded clauses.
ReadinessDriftPolicy.thresholdsays 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
readinessFailingfor 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_readinessseriesapplied(contract, clause) fromreadiness.require[]where!skipped.unmet / appliedis then the clause's failure share, on the same denominator as the drift detector. Document it inmetrics.jsand METRICS.md. - Browser: reword the
thresholddoc. 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 / appliedper clause is readable from analytics, with a test. - The METRICS.md entry and the
readinessDrift.tscomment match.
- Langage dominant
- JavaScript
- Étoiles
- 0
- Forks
- 0
- Merge moyen
- 3 h 1 min
- PR mergées (30 j)
- 70
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de HarperFast/prerender-plugin
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
HarperFast/prerender-plugin#244 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
HarperFast/prerender-plugin#242 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement performance
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 38/100
HarperFast/prerender-plugin#235 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement performance
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 38/100
HarperFast/prerender-plugin#233 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 74/100
HarperFast/prerender-plugin#218 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de HarperFast/prerender-plugin
Issues similaires
-
bug lsp sev-3
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
Miaotofu01/Study-Mate#206 ·
Les mainteneurs répondent en général sous 1 jour
-
effort:low model:light plan planner:fable-5-1 test-quality tests
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 92/100
-
[BUG][5.4.0] 网页全屏时, 不能直接切全屏Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
zhw2590582/ArtPlayer#1073 ·