{"version":"2.1.219","anchor":"workshop-html-artifact-publishing-gains-a-publish-time-verif","canonical_anchor":"workshop-html-artifact-publishing-gains-a-publish-time-verif","heading":"Workshop HTML artifact publishing gains a publish-time verifier","tier":"soon","area":"Artifacts","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.219\/e\/workshop-html-artifact-publishing-gains-a-publish-time-verif","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.219","markdown":"### Workshop HTML artifact publishing gains a publish-time verifier\n\nPublished HTML artifacts can be checked against rules first and refused outright instead of shipping something unsafe.\n\n**What**\n\nArtifact publishing can now run the generated HTML through a verifier that refuses to publish when rules are violated, rather than shipping it and relying on later checks.\n\n**Details**\n\n- publishing accepts a new `verifyWorkshopHtml` option; publishing a plan as an artifact passes `verifyWorkshopHtml: \"probe\"` when the gate is on\n- refusal reports per-rule violations and emits telemetry under `workshop_html_publish` and `verifier_refused` instead of publishing\n- verified slugs accumulate into app state under `workshopVerifiedSlugs`\n- for workshop surfaces, a redeploy must pass `refusedSidecarHistory`, sourced from a new AppState key `sidecarHistorySlugs`, otherwise publishing is refused rather than skipping the sidecar-ordering gate\n- sidecar files whose content type is not in the inert text or binary allowlists are flagged as renderable or executable\n- the gate falls back to false and additionally requires the surrounding workshop feature check; none of these names exist in 2.1.218\n\n**Evidence**\n\n`refusing rather than skipping the sidecar-ordering gate`, `verifyWorkshopHtml`\n\n- Area: Artifacts\n- Tier: Nothing to try yet\n- Useful: 3\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}