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