diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-20 08:52:48 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-20 08:52:48 -0500 |
| commit | 93a2e6dd2968e46e77704e01123a836a5cc1513b (patch) | |
| tree | 3f9fa67a13536f4664b328de8b92b64171a93049 | |
| parent | 70fbe011394523595974be311667db63425072ed (diff) | |
| download | rulesets-93a2e6dd2968e46e77704e01123a836a5cc1513b.tar.gz rulesets-93a2e6dd2968e46e77704e01123a836a5cc1513b.zip | |
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.
| -rw-r--r-- | docs/design/2026-06-16-inbox-zero-phase-e-proposal.diff (renamed from working/inbox-zero-phase-e/proposed.diff) | 0 | ||||
| -rw-r--r-- | docs/design/2026-06-16-inbox-zero-phase-e-proposal.org (renamed from working/inbox-zero-phase-e/proposed-inbox-zero.org) | 0 | ||||
| -rw-r--r-- | docs/design/2026-06-16-inbox-zero-phase-e-sender-note.org (renamed from working/inbox-zero-phase-e/sender-note.org) | 0 | ||||
| -rw-r--r-- | docs/specs/2026-06-16-autonomous-batch-execution-spec.org | 6 | ||||
| -rw-r--r-- | todo.org | 2 | ||||
| -rw-r--r-- | working/sentry-2026-07-19-working-files-ruling/proposed.org | 80 |
6 files changed, 4 insertions, 84 deletions
diff --git a/working/inbox-zero-phase-e/proposed.diff b/docs/design/2026-06-16-inbox-zero-phase-e-proposal.diff index e3d8ee8..e3d8ee8 100644 --- a/working/inbox-zero-phase-e/proposed.diff +++ b/docs/design/2026-06-16-inbox-zero-phase-e-proposal.diff diff --git a/working/inbox-zero-phase-e/proposed-inbox-zero.org b/docs/design/2026-06-16-inbox-zero-phase-e-proposal.org index 5fa7e12..5fa7e12 100644 --- a/working/inbox-zero-phase-e/proposed-inbox-zero.org +++ b/docs/design/2026-06-16-inbox-zero-phase-e-proposal.org diff --git a/working/inbox-zero-phase-e/sender-note.org b/docs/design/2026-06-16-inbox-zero-phase-e-sender-note.org index 08e7650..08e7650 100644 --- a/working/inbox-zero-phase-e/sender-note.org +++ b/docs/design/2026-06-16-inbox-zero-phase-e-sender-note.org diff --git a/docs/specs/2026-06-16-autonomous-batch-execution-spec.org b/docs/specs/2026-06-16-autonomous-batch-execution-spec.org index 9563e33..a42adc3 100644 --- a/docs/specs/2026-06-16-autonomous-batch-execution-spec.org +++ b/docs/specs/2026-06-16-autonomous-batch-execution-spec.org @@ -21,7 +21,7 @@ |----------+--------------------------------------------------------------------| | Date | 2026-06-16 | |----------+--------------------------------------------------------------------| -| Related | [[file:../../working/inbox-zero-phase-e/proposed-inbox-zero.org][Phase E proposal]]; [[file:../design/2026-06-15-fix-speedrun-workflow-proposal.org][speedrun proposal]] | +| Related | [[file:../design/2026-06-16-inbox-zero-phase-e-proposal.org][Phase E proposal]]; [[file:../design/2026-06-15-fix-speedrun-workflow-proposal.org][speedrun proposal]] | |----------+--------------------------------------------------------------------| * Summary @@ -375,7 +375,7 @@ Verification is by invocation against a project's real =todo.org=: run the loop * References / Appendix -- [[file:../../working/inbox-zero-phase-e/proposed-inbox-zero.org][Phase E proposal (inbox-zero stopgap)]] and [[file:../../working/inbox-zero-phase-e/sender-note.org][its sender note with the 5 open questions]]. +- [[file:../design/2026-06-16-inbox-zero-phase-e-proposal.org][Phase E proposal (inbox-zero stopgap)]] and [[file:../design/2026-06-16-inbox-zero-phase-e-sender-note.org][its sender note with the 5 open questions]]. - [[file:../design/2026-06-15-fix-speedrun-workflow-proposal.org][speedrun proposal]] (file retains its original on-disk name pending a rename pass). - [[file:../../.ai/workflows/inbox.org][inbox.org (canonical A-D; was inbox-zero.org)]] — the routing workflow this feature decouples from. - =~/code/rulesets/claude-rules/knowledge-base.md= — the org-roam write contract the synthesis step follows. @@ -384,7 +384,7 @@ Verification is by invocation against a project's real =todo.org=: run the loop ** 2026-06-16 Tue — author - What: initial draft reconciling the Phase E and fix-speedrun proposals into one work-the-backlog.org feature, plus the effectiveness-measurement instrumentation. - Why: two overlapping proposals arrived within a day; building them separately would duplicate the execution loop and let it drift. Craig also asked explicitly for measurement + org-roam synthesis. -- Artifacts: this spec; the two source proposals under docs/design/ and working/inbox-zero-phase-e/. +- Artifacts: this spec; the two source proposals under docs/design/ (the Phase E proposal, diff, and sender note now filed there). ** 2026-06-28 Sun — revision (Craig) - What: removed the task-size gate (size no longer defers; large tasks decompose into per-commit chunks); recast the act-vs-file rule as a crisp four-item defer checklist keyed on test-writability; added crisp =:solo:= / =:quick:= definitions destined for =todo-format.md= and made their assessment mandatory in task-review + task-audit; added the speedrun's pre-flight decision-gathering step (batch the quick questions up front, "skip this" drops a task, then run hands-off); renamed "fix speedrun" → "no-approvals speedrun" in prose. Status stays draft pending ratification of the revised decisions. - Why: the original criteria were adjectives, not checkable; the size gate forced Craig to stay at his desk for anything non-trivial, defeating the away-from-desk use case; and decision-needing tasks were over-deferred when many need only a quick upfront answer. @@ -86,7 +86,7 @@ Implemented (Shape A) during the morning sentry review, 2026-07-20: - =scripts/sweep-gitignore-tooling.sh=: separate mode-independent temp/ backfill pass (a distinct loop, not an IGNORE_SET member — that would skip track-mode projects, the set that most needs it). - Tests: 3 new install-ai bats + 4 new sweep bats (temp/ in both modes, never working/, idempotent). Suite green, 384 bats ok. -Finding confirmed at implementation: the canonical machinery already never ignored working/ (tooling set is only =.ai/ .claude/ CLAUDE.md AGENTS.md=), so .emacs.d's =/working/= ignore was a purely local deviation. The staged proposal at =working/sentry-2026-07-19-working-files-ruling/= is now spent — a filing/cleanup candidate. +Finding confirmed at implementation: the canonical machinery already never ignored working/ (tooling set is only =.ai/ .claude/ CLAUDE.md AGENTS.md=), so .emacs.d's =/working/= ignore was a purely local deviation. The staging proposal dir was removed after shipping; its content lives in the feat commit and this body. ** TODO [#C] Polyglot projects — supported, or refused? :spec: SCHEDULED: <2026-07-20 Mon> 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. |
