{"version":"2.1.268","anchor":"artifact-copyread-blocked-message-text-consolidated-with-ne","canonical_anchor":"artifact-copyread-blocked-message-text-consolidated-with-ne","heading":"Artifact copy\/read blocked-message text consolidated with new \"Copying from this artifact is\" phrasing","tier":"notice","area":"Artifacts","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.268\/e\/artifact-copyread-blocked-message-text-consolidated-with-ne","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.268","markdown":"### Artifact copy\/read blocked-message text consolidated with new \"Copying from this artifact is\" phrasing\n\nArtifact copy\/read block messages consolidated, plus a new check for a headless capability flag\n\n**Unclear.** The finding does not say what the new `headless` capability check is used for beyond being checked.\n\n**What**\n\nThe code that builds the error message shown when a deny rule blocks reading or copying from an artifact was consolidated into one shared helper, which now produces one of three phrasings depending on the situation: \"Copying from this artifact is\", \"Artifact reads are\", or \"Reading this artifact is\" blocked by a rule. A separate new helper also checks whether a fetched artifact's capabilities include a `headless` comment flag.\n\n**Why**\n\nThis is mostly an internal cleanup that produces more precise, situation-specific wording when an artifact read or copy is blocked by a permission rule.\n\n- Area: Artifacts\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5"}