Commit 2a411f0fe75 for woocommerce

commit 2a411f0fe75d64119c892e41def1dabc197358e1
Author: Vlad Olaru <vlad.olaru@automattic.com>
Date:   Tue May 12 14:20:04 2026 +0300

    Scaffold .agents/scratchpad and .agents/tmp for AI-agent working docs (#64724)

    * chore: scaffold .agents/scratchpad/ and .agents/tmp/

    Adds the minimal AI-agent working-doc scaffold at the repo root:
    TEMPLATE.md frontmatter skeleton in .agents/scratchpad/, plus
    .gitkeep markers for sessions/, journal/, and .agents/tmp/.

    Updates .gitignore so the convention is self-documenting on a
    fresh clone: scratchpad notes (sessions/<slug>/, journal/<slug>.md,
    free-form) and .agents/tmp/ contents stay ignored, while the
    TEMPLATE.md and per-subdir .gitkeep files ship in the tree.

    The .agents/tmp/ rule needs an explicit "!.agents/tmp/" negation
    because the pre-existing unanchored "tmp/" rule (used for unit
    test artifacts) would otherwise mask everything inside.

    Other .agents/ surfaces (decisions/, reference/, project-management.md)
    are intentionally not included here — they can be added in a
    follow-up if the convention takes hold.

    * chore: replace <body> placeholder with {body} in scratchpad TEMPLATE

    The literal <body> placeholder tripped the repo's markdownlint
    MD033 (no-inline-html) rule. The other placeholders in the same
    file use curly-brace syntax — {Title}, {slug}, {filename} — so
    {body} is the consistent fix and keeps repo lint policy untouched.

diff --git a/.agents/scratchpad/TEMPLATE.md b/.agents/scratchpad/TEMPLATE.md
new file mode 100644
index 00000000000..ab7b0695495
--- /dev/null
+++ b/.agents/scratchpad/TEMPLATE.md
@@ -0,0 +1,22 @@
+---
+session: YYYY-MM-DD-{slug}
+type: design | plan | review | stress-test | report | exploration | analysis | data | readme
+by: claude | codex | gemini | subagent:<name>
+created: YYYY-MM-DD HH:MM
+# Optional — uncomment and fill when informative:
+# model: claude-opus-4-7
+# tool: pirategoat-tools:codex-reviewer
+# target: PR #5395 | review.md | etc.
+# reconciles: [review.md, design.md]
+# promoted_to: DESIGN.md | .agents/decisions/YYYY-MM-DD-slug.md | .agents/reference/patterns/area.md
+# related_decision: .agents/decisions/YYYY-MM-DD-slug.md
+# last_updated: YYYY-MM-DD HH:MM      # add on FIRST edit, not creation
+# status: draft | final | superseded
+# superseded_by: {filename}           # required when status is superseded
+---
+
+# {Title}
+
+> **Prompt:** "{user's triggering prompt, verbatim}"
+
+{body}
diff --git a/.agents/scratchpad/journal/.gitkeep b/.agents/scratchpad/journal/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/.agents/scratchpad/sessions/.gitkeep b/.agents/scratchpad/sessions/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/.agents/tmp/.gitkeep b/.agents/tmp/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/.gitignore b/.gitignore
index 39990e39913..77c9226732e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -118,6 +118,16 @@ changes.json
 .claude/docs/research/
 CLAUDE.local.md

+# AI agent scratchpad and temp (scaffold-project)
+.agents/scratchpad/**
+!.agents/scratchpad/**/
+!.agents/scratchpad/TEMPLATE.md
+!.agents/scratchpad/**/.gitkeep
+# Re-include .agents/tmp/ dir (the unanchored "tmp/" rule above ignores it)
+!.agents/tmp/
+.agents/tmp/*
+!.agents/tmp/.gitkeep
+
 # Cursor related files
 .cursorignore
 .cursorindexingignore