aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.ai/protocols.org12
1 files changed, 12 insertions, 0 deletions
diff --git a/.ai/protocols.org b/.ai/protocols.org
index 30b0274..57ebf87 100644
--- a/.ai/protocols.org
+++ b/.ai/protocols.org
@@ -158,6 +158,18 @@ Each project's =.ai/= is the scope boundary: =protocols.org=, =session-context.o
Canonical rule: =~/code/rulesets/claude-rules/cross-project.md=.
+** Working-Files Convention — =working/<task-slug>/= for In-Progress Artifacts
+
+Every in-progress task that produces files (drafts, source documents, diagrams, scripts, sub-deliverables) gets a dedicated subdirectory under =<project-root>/working/=, named after the task. All artifacts for that task live in that subdirectory until the task is marked done.
+
+When the task ships, files are **renamed individually** (standard form: =YYYY-MM-DD-<task-slug>-<descriptor>.<ext>=) and **moved flat** into the appropriate permanent home (typically =assets/= or an area-specific =<area>/assets/=). The working subdirectory is then empty and gets deleted.
+
+***Never rename the directory itself as a substitute for filing.*** The point is to keep =assets/= flat-searchable — a nested =assets/old-tech-deck-2026/slide.png= is harder to find than =assets/2026-05-18-tech-deck-vol2-slide-04-diagram.png=.
+
+When the user starts a new task that will produce file artifacts, propose the =working/<task-slug>/= path before creating any files. Add or update the inbound link in =todo.org= to point at the working dir. When the user marks the task done, list every file, propose renames + permanent homes, move flat after confirmation, delete the empty subdir, update inbound links.
+
+Canonical rule: =~/code/rulesets/claude-rules/working-files.md=.
+
* Important Terminology
** "Let's run the [X] workflow" vs "I want to create an [X] workflow"