Console: chart `render_readiness` — a Readiness panel for the report-only window and the arming decision
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- javascript
- Domain
- analytics, frontend, observability
Research direction
Start with packages/console/test/adminAssets.test.js and trace the console analytics entry point for /prerender_console/analytics. Compare the render_readiness rows with packages/plugin/METRICS.md and the raw /prerender_admin/analytics response. Done means a console Readiness panel covers verdict, unmet, satisfied_ms, shortfall, and rebaseline with the stated denominators and percentile semantics.
Written by the indexing model from the issue text.
Description
Plugin v0.79.0 added the render_readiness metric (series verdict, unmet, shortfall, rebaseline, satisfied_ms; see packages/plugin/METRICS.md). The console does not read any of it. The coverage guard in packages/console/test/adminAssets.test.js caught this — it fails on main as of 0.79.0 — and is being waived with a pointer here so the plugin fix train is not blocked on a console release.
What the panel needs to answer
This metric exists to make two decisions, in order:
- Is the fleet storing incomplete renders?
verdictby contract: satisfied vs unsatisfied share.unmetby clause: which assertion fails — one clause failing across every render of a page type is a rotted contract (template changed), not a slow fleet. - Can the contracts be armed, and with what timeout?
satisfied_msp50 / p95 / p99 per contract against that contract's configuredtimeoutMs. If p95 approaches the timeout, arming would abandon the contract under load and the optimisation is quietly gone.
Plus the content-loss signal once armed: shortfall by observation and rebaseline counts, per contract.
Readout semantics to get right
verdictis one per governed device variant, so a two-device job emits two. Shares should be read againstrender.time_ms(one per rendered device), notrender.outcome(one per posted result).satisfied_msis a value series withmean/median/p95from the plugin analytics endpoint (p99/p999only from Harper'sget_analytics). Unsatisfied renders contribute nothing to it, by design.unmetdoes not sum to renders — read it against theunsatisfiedcount. A row where every clause of a contract is unmet is an execution context lost mid-settle (client-side navigation), not rot.shortfallcompares a page (URL + device) against its own history; it is silent on a first render and after a rebaseline.
Where it is read today
Raw only: GET /prerender_admin/analytics?range=<ms> → .series[] | select(.metric == "render_readiness") per node; the console's /prerender_console/analytics already returns the rows (keepRow keeps every catalogued metric) — there is just no panel.
🤖 Generated with Claude Code
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 9h 10m
- Merged PRs (30d)
- 56
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from HarperFast/prerender-plugin
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
HarperFast/prerender-plugin#176 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
HarperFast/prerender-plugin#185 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
HarperFast/prerender-plugin#183 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
HarperFast/prerender-plugin#180 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
HarperFast/prerender-plugin#179 ·
All issues in HarperFast/prerender-plugin
Similar issues
-
bot:ai-assisted component:compact-js status:untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
midnightntwrk/midnight-sdk#403 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
Difficulty 1/5 1-3 hours Newbie friendliness 86/100
DavidAnson/markdownlint-cli2#940 ·
-
documentation
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
githubnext/gh-aw-workshop#3692 ·
-
agent/guide documentation hive/hosted-available-lke648397-260827-5n31
Difficulty 2/5 1-3 hours Newbie friendliness 90/100