readiness: count clauses that applied, so a clause's unmet share has a denominator
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 42/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- javascript
- Domínio
- analytics, documentation, observability
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- JavaScript
- Estrelas
- 0
- Forks
- 0
- Merge médio
- 3h 1min
- PRs com merge (30d)
- 70
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de HarperFast/prerender-plugin
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
HarperFast/prerender-plugin#244 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
HarperFast/prerender-plugin#242 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
enhancement performance
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 38/100
HarperFast/prerender-plugin#235 ·
Mantenedores costumam responder em até 1 dia
-
enhancement performance
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 38/100
HarperFast/prerender-plugin#233 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 74/100
HarperFast/prerender-plugin#218 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de HarperFast/prerender-plugin
Issues semelhantes
-
idnits3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
ietf-tools/idnits#363 ·
Mantenedores costumam responder em até 1 dia
-
prototype(verifier_token): map disallowed warning to contraindicated before composite precedence checkTalvez já em andamento @drk-ram assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
agentrust-io/trace-spec#582 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 Meio dia Facilidade para iniciantes 72/100
TheOdinProject/curriculum#31479 ·
Mantenedores costumam responder em até 1 dia
-
chore
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
SignalK/n2k-signalk#368 ·
Mantenedores costumam responder em até 1 dia