or run

npx @tessl/cli init
Log in

Version

Files

docs

asset-management.mdautomation.mdconfiguration.mddynamic-resources.mdindex.mdlogging-diagnostics.mdoutput-system.mdprovider-development.mdresource-management.mdruntime-operations.mdstack-references.mdutilities.md
tile.json

rubric.jsonevals/scenario-9/

{
  "context": "Evaluates whether the solution uses Pulumi's stack-wide resource and invoke transformations to propagate default tags while respecting opt-outs. Confirms aliasing preserves resource identity when renameFrom is provided.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Stack transform",
      "description": "Registers a stack-level resource transformation (e.g., via pulumi.runtime.registerStackTransformation or ResourceOptions.transformations) so every created resource passes through the tag/alias logic.",
      "max_score": 25
    },
    {
      "name": "Tag merge",
      "description": "Transformation merges provided default tags into resource args without overwriting explicit tags and respects the skip list when deciding whether to modify a resource.",
      "max_score": 20
    },
    {
      "name": "Invoke transform",
      "description": "Uses the invoke transformation hook (such as pulumi.runtime.registerInvokeTransform or InvokeOptions.transforms) to inject the default tag block into data-source call arguments while allowing caller overrides.",
      "max_score": 20
    },
    {
      "name": "Rename alias",
      "description": "Configures ResourceOptions.aliases or equivalent to include the previous name when renameFrom is provided so updates reuse the existing resource instead of forcing replacement.",
      "max_score": 20
    },
    {
      "name": "Opt-out handling",
      "description": "Transformation logic cleanly skips resources whose names appear in the skip list, ensuring no extra tags or aliases are added to those resources.",
      "max_score": 15
    }
  ]
}