DashboardcraftCraft publish state never reads repo-lo…

Craft publish state never reads repo-local files

Category: decision
Confidence: 1.00
ID: 01a03e7b-4bdb-7fc6-adbf-cdb4e88ca580
Project ID: e16af391-c497-4837-b681-c849a5514499
Cross-project: No
Recalled in other projects: 0
Source session: 1bwAST7ENFvDRuqqJ
Created: 2026-08-26 12:21:39
Updated: 2026-08-26 14:31:02

Content

Craft never reads repository-local publish state. Chose workflow-provided XDG state paths over deriving .craft-publish-<version>.json in the checkout because checkout contents are attacker-controlled and duplicate state-key logic drifts from Craft. The publish workflow computes the canonical state path, passes it as CRAFT_STATE_FILE_PATH for issue recovery, and Craft uses CRAFT_PUBLISH_STATE_GITHUB_REPO only to identify its secure state filename.

Move to: