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 the solution leverages @ice/plugin-icestark framework mode to orchestrate micro apps, inject a custom routing component, and adjust the app list at runtime. Focus is on correct usage of the plugin's configuration and runtime hooks rather than generic React routing or state handling.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Framework setup",
"description": "Configures icestark in framework mode (e.g., icestark({ type: \"framework\" }) with defineFrameworkConfig) and supplies initial micro-app definitions via getApps instead of manual client routing.",
"max_score": 15
},
{
"name": "Custom AppRoute",
"description": "Injects a custom AppRoute through the appRouter option so micro apps render through that wrapper, including its loading view and host fallback route, rather than using a bespoke router.",
"max_score": 25
},
{
"name": "Runtime updateApps",
"description": "Uses the updateApps setter provided in layout props to append or replace micro-app definitions when the \"Add app\" flow runs, avoiding ad-hoc state or full router reloads.",
"max_score": 25
},
{
"name": "Enter/leave hooks",
"description": "Connects AppRouter lifecycle callbacks (appEnter/appLeave or onAppEnter/onAppLeave) to emit payloads with app id and pathname to the layout, instead of synthesizing events manually.",
"max_score": 20
},
{
"name": "Basename routing",
"description": "Ensures each micro-app definition includes basename and that AppRoute receives it so dynamic additions mount under the correct path segment and continue to resolve host fallbacks when unmatched.",
"max_score": 15
}
]
}