docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates a Pulumi TypeScript workspace module focused on resource lifecycle controls, checking whether ResourceOptions are used to parent resources, enforce ordering, preserve durable state, and adopt existing infrastructure. Also verifies that outputs are wired through the component for accurate tracking.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Component parenting",
"description": "Workspace implemented as a ComponentResource with all child resources created using ResourceOptions.parent and finalized via registerOutputs to produce consolidated outputs under the component URN.",
"max_score": 25
},
{
"name": "Explicit dependency",
"description": "Compute runner resource is configured with ResourceOptions.dependsOn (or equivalent Output wiring) so it cannot create until the state store CustomResource is fully registered, even without direct property usage.",
"max_score": 20
},
{
"name": "State protection",
"description": "When preserveState is true, the state store resource uses protect or retainOnDelete (and avoids deleteBeforeReplace) so destroys skip deletion and runner-only updates do not trigger replacements.",
"max_score": 20
},
{
"name": "Import adoption",
"description": "When adoptExistingStateId is supplied, the state store CustomResource is created with ResourceOptions.import/id so Pulumi adopts the existing object instead of creating a new one while keeping other lifecycle options intact.",
"max_score": 20
},
{
"name": "Outputs wiring",
"description": "stateLocation and runnerName are surfaced as Pulumi Output values derived from the respective resources and are registered via registerOutputs for correct dependency tracking and stack exports.",
"max_score": 15
}
]
}