readiness: count clauses that applied, so a clause's unmet share has a denominator
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
- Área
- analytics, documentation, observability
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- JavaScript
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 3 h 1 min
- PR fusionados (30 d)
- 70
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de HarperFast/prerender-plugin
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
HarperFast/prerender-plugin#244 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
HarperFast/prerender-plugin#242 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement performance
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
HarperFast/prerender-plugin#235 ·
Los mantenedores suelen responder en 1 día
-
enhancement performance
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
HarperFast/prerender-plugin#233 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 74/100
HarperFast/prerender-plugin#218 ·
Los mantenedores suelen responder en 1 día
Todos los issues de HarperFast/prerender-plugin
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
sallowayma-git/IELTS-practice#248 ·
Los mantenedores suelen responder en 1 día
-
a11y data import fails with "missing --authors parameter" (npm drops flags in `bin/configure.js`)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Emanuele-web04/remodex#203 ·
Los mantenedores suelen responder en 1 día
-
needs-human work-class: mechanical
Dificultad 2/5 Medio día Aptitud para principiantes 84/100
melodic-software/claude-code-plugins#7994 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
keyxmakerx/Chronicle#1532 ·
Los mantenedores suelen responder en 1 día