{"version":"2.1.225","anchor":"live-authoring-progress-spinner-text-while-claude-writes-a-w","canonical_anchor":"live-authoring-progress-spinner-text-while-claude-writes-a-w","heading":"Live \"authoring progress\" spinner text while Claude writes a workshop page","tier":"soon","area":"Artifacts","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.225\/e\/live-authoring-progress-spinner-text-while-claude-writes-a-w","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.225","markdown":"### Live \"authoring progress\" spinner text while Claude writes a workshop page\n\nThe spinner can narrate what Claude is drafting on a workshop page, like \"drawing figure 3\".\n\n**What**\n\nThe spinner can narrate what Claude is currently drafting in a workshop design page, driven by the partial tool input as it streams in. It is gated on an environment variable and on workshop mode being active.\n\n**Details**\n\n- A new module (exporting isWorkshopProgressEnabled, deriveAuthoringProgress, onInputJsonDelta) hooks tool-use start, input-JSON deltas and content_block_stop for Write and Edit on `.workshop.html` files\n- Messages include \"authoring the design page\", \"wiring up the decisions\", \"drawing figure N\" and \"drawing decision N\", the latter including the decision id\n- Output is throttled and truncated to the terminal width, and cleared when the tool use ends\n- The stream handler only calls it when the caller passes `authoringProgressSurface: !0`, which the main REPL does\n- Turned off when `CLAUDE_WORKSHOP_PROGRESS` is set to false, and it also requires an internally registered workshop-active predicate to return true\n- Hook failures are swallowed and logged as \"workshop authoring-progress hook failed\"\n\n**Evidence**\n\n`authoring the design page`, `wiring up the decisions`, `workshop authoring-progress hook failed`\n\n- Area: Artifacts\n- Names: `CLAUDE_WORKSHOP_PROGRESS`\n- Tier: Nothing to try yet\n- Useful: 2\/5\n- Signal: 4\/5\n- Present in the build but not switched on"}