Dashboardcraftpublish-issue-validation shared identit…

publish-issue-validation shared identity predicates

Category: decision
Confidence: 1.00
ID: 01a06d19-21b0-7efa-b191-77158cfb3e22
Project ID: e16af391-c497-4837-b681-c849a5514499
Cross-project: No
Recalled in other projects: 1
Source session: 1Okgn0vvN7hdZmhlc
Created: 2026-09-04 13:22:04
Updated: 2026-09-04 15:45:58

Cross-Project Recalls

ProjectHitsLast recalled
opencode-lore 1 13h ago

Content

Chose shared publish-issue-validation.js repository/version/path predicates over trusting PEG title parsing independently in the controller and CI poller, because grammar acceptance is not a semantic safety boundary before authenticated API calls. Both paths must reject unsafe repository identities, non-Craft SemVer versions, and paths failing isPublishPath('.' + parsedTitle.path) before checkout, revision/check-run lookup, state creation, Craft invocation, or interpolated release-bot endpoints. Cover traversal, ., __proto__, and option-like paths; retain valid build metadata.

Move to: