diff --git a/docs/backlog/P2/B-0069-heredoc-patterns-encode-into-commit-message-shape-skill-aaron-2026-04-28.md b/docs/backlog/P2/B-0069-heredoc-patterns-encode-into-commit-message-shape-skill-aaron-2026-04-28.md new file mode 100644 index 000000000..6fbee1f68 --- /dev/null +++ b/docs/backlog/P2/B-0069-heredoc-patterns-encode-into-commit-message-shape-skill-aaron-2026-04-28.md @@ -0,0 +1,104 @@ +--- +id: B-0069 +priority: P2 +status: open +title: Encode HEREDOC patterns into commit-message-shape skill (Aaron 2026-04-28) +effort: S +ask: maintainer Aaron 2026-04-28 /btw aside +created: 2026-04-28 +last_updated: 2026-04-28 +tags: [skill-substrate, commit-discipline, heredoc, agency-signature] +--- + +# B-0069 — Encode HEREDOC scripts into substrate + +## Why + +The human maintainer 2026-04-28 (verbatim, /btw aside during PR drain): + +> "does HEREDOC have scripts we should encode into substraight?" + +The factory uses a recurring `git commit -m "$(cat <<'EOF' ... EOF +)"` HEREDOC pattern for commit messages and `gh pr create --body +"$(cat <<'EOF' ... EOF +)"` for PR bodies. These patterns have nuance that is currently +tribal knowledge — should be encoded into +`.claude/skills/commit-message-shape/SKILL.md` so future +agents/contributors get the discipline at session-bootstrap, not +discover it through trial-and-error. + +## Patterns worth encoding + +1. **Single-quoted EOF (`<<'EOF'`)** — prevents shell expansion of + backticks (`` ` ``), `$variables`, `$(command)` substitution, and + `\` escapes inside the body. Critical for commit messages / + PR bodies that contain literal backticks (markdown code spans), + dollar-prefixed identifiers (file paths, env vars), or shell + metacharacters. Unquoted `<