From 93a2e6dd2968e46e77704e01123a836a5cc1513b Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 20 Jul 2026 08:52:48 -0500 Subject: chore: file inbox-zero-phase-e source artifacts into docs/design/ The autonomous-batch spec's three source artifacts (the Phase E proposal, its diff, the sender note) moved from working/inbox-zero-phase-e/ into docs/design/ under dated names, with the spec's inbound links repointed. The spec is IMPLEMENTED, so the working dir was a filing candidate. Also removed the spent working/sentry-2026-07-19-working-files-ruling/ staging dir, whose proposal shipped in the working/-tracked-from-creation change. working/ is now empty and gone. --- .../proposed.org | 80 ---------------------- 1 file changed, 80 deletions(-) delete mode 100644 working/sentry-2026-07-19-working-files-ruling/proposed.org (limited to 'working/sentry-2026-07-19-working-files-ruling') diff --git a/working/sentry-2026-07-19-working-files-ruling/proposed.org b/working/sentry-2026-07-19-working-files-ruling/proposed.org deleted file mode 100644 index 2bbf863..0000000 --- a/working/sentry-2026-07-19-working-files-ruling/proposed.org +++ /dev/null @@ -1,80 +0,0 @@ -#+TITLE: Parked proposal — working/ is tracked-from-creation; add gitignored temp/ -#+SOURCE: .emacs.d ruling relayed 2026-07-19 21:41, parked by sentry fire 2026-07-19 -#+STATUS: PARKED — awaiting Craig's morning approval - -* The ruling (verbatim from .emacs.d handoff) - -Craig's ruling from the .emacs.d project: working/ contains the project work -currently being developed, so it must be version-controlled and saved from -creation rather than excluded until graduation. Ephemeral or disposable -artifacts belong in a project temp/ directory (gitignored) or system /tmp, not -working/. Please update the canonical working-files convention and any -template/install .gitignore behavior so working/ is tracked across projects. -Clarify that graduation reorganizes durable working artifacts into permanent -homes; it does not mark the point when they first become durable. In .emacs.d -we are removing /working/ from .gitignore, adding /temp/, and checking in the -complete current working set. - -* What sentry found (so the morning review starts informed) - -1. *The canonical install/sweep machinery never gitignores working/.* The - gitignore-mode tooling set in =scripts/install-ai.sh= and =scripts/sweep-gitignore-tooling.sh= - is exactly =('.ai/' '.claude/' 'CLAUDE.md' 'AGENTS.md')= — working/ is not in - it. So "make working/ tracked across projects" is *already the canonical - default*. .emacs.d's =/working/= .gitignore line was a local deviation, not - inherited from the template. Nothing to change on the install side to *track* - working/. - -2. *temp/ is referenced nowhere* — not in the install scripts, not in - working-files.md. Adding a gitignored temp/ is a genuinely new pattern, and - it carries a design decision: temp/ holds ephemeral artifacts regardless of - whether a project tracks or gitignores its .ai/ tooling, so temp/ must be - ignored in *both* modes. It is therefore orthogonal to the personal-tooling - set (which only exists in gitignore mode) — not a trivial "add 'temp/' to - IGNORE_SET." This is the load-bearing call for Craig. - -* Proposed changes (the exact edits that fire on approval) - -** 1. claude-rules/working-files.md — convention text - -Add a short subsection (after "The Rule") stating: working/ is -version-controlled from creation. The subdirectory and its artifacts enter git -the moment they're created — working/ is the tracked home of in-progress work, -not a staging area excluded until it graduates. Filing on completion -*reorganizes* durable artifacts into their permanent homes (assets/ etc.); it -does not mark the point at which they first become durable — they were durable, -and tracked, from creation. - -Add a paragraph to "When the Rule Doesn't Apply" (or a new "temp/ for -ephemeral artifacts" subsection): genuinely disposable, single-use, or -regenerable artifacts belong in a project-root temp/ directory (gitignored) or -system /tmp — never in working/. working/ is for work that will graduate; -temp/ is for work that will be thrown away. - -** 2. scripts/install-ai.sh + scripts/sweep-gitignore-tooling.sh — temp/ ignore - -DESIGN DECISION (Craig's call, do not implement unattended): where does the -temp/ ignore get emitted? temp/ should be gitignored in BOTH track and -gitignore modes, so it can't ride the gitignore-mode-only tooling block. Two -candidate shapes: - - (a) A separate always-emitted ".gitignore" line (# Ephemeral working - artifacts \n temp/) written in both modes by install-ai.sh, with a - companion pattern in sweep-gitignore-tooling.sh's backfill. - (b) A dedicated ephemeral-ignore helper distinct from the tooling sweep, - since temp/ is a universal project convention, not personal tooling. - -Recommend (a) for minimal surface: one extra always-written block, and add -'temp/' as its own backfill in the sweep with a mode-independent guard. - -** 3. protocols.org Working-Files Convention section (lines ~186-196) - -Mirror the tracked-from-creation clarification in one sentence so the -protocols summary agrees with the canonical rule. - -* Cross-project note - -Once the canonical lands, sweep-gitignore-tooling.sh (or a one-off) should add -temp/ ignores across existing projects, and any project that manually added -/working/ to .gitignore (like .emacs.d did) should drop it. That backfill is -itself a reviewed step, not automatic. -- cgit v1.2.3