docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates how well the solution uses @ice/plugin-icestark's framework runtime data to drive telemetry from a host layout. Focus is on consuming routeInfo plus appEnter/appLeave objects emitted by AppRouter and turning them into the specified payloads without manual routing workarounds.",
"type": "weighted_checklist",
"checklist": [
{
"name": "RouteInfo telemetry",
"description": "Telemetry payloads are built directly from the routeInfo object supplied by @ice/plugin-icestark AppRouter layout props (pathname and matched app name) and fire once per change instead of computing location independently.",
"max_score": 25
},
{
"name": "App enter hook",
"description": "Uses the icestark-provided appEnter data (from AppRouter layout props) to emit an enter payload before rendering children, including app name/path/timestamp, and ignores duplicate appEnter snapshots.",
"max_score": 25
},
{
"name": "App leave hook",
"description": "Listens for appLeave data from AppRouter layout props and emits a leave payload after unmount with app name/path/timestamp derived from that object.",
"max_score": 20
},
{
"name": "Deduping logic",
"description": "Implements guards keyed by icestark routeInfo/appEnter/appLeave values so identical telemetry is not sent multiple times across rerenders.",
"max_score": 15
},
{
"name": "Route sharing",
"description": "The useLatestRoute hook surfaces the latest icestark routeInfo from the layout without manual URL parsing, keeping nested consumers in sync with AppRouter updates.",
"max_score": 15
}
]
}