aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-15 23:41:57 -0500
committerCraig Jennings <c@cjennings.net>2026-06-15 23:41:57 -0500
commit4fe184ec364f20a72c5e12a597d2bf99c01ece06 (patch)
tree061b78330d3aca0e97a49f6eaa07dad0f2662a2a
parente7be0deef03210b96d167cd75bbc6be374941869 (diff)
downloadrulesets-4fe184ec364f20a72c5e12a597d2bf99c01ece06.tar.gz
rulesets-4fe184ec364f20a72c5e12a597d2bf99c01ece06.zip
chore: process inbox (file fix-speedrun task, clear pearl acks)
I filed the .emacs.d "fix speedrun" proposal as a [#C] spec task, with its content preserved in docs/design for spec-create later. The two pearl acks confirmed handoffs I'd already sent, so they needed nothing back.
-rw-r--r--.ai/notes.org2
-rw-r--r--docs/design/2026-06-15-fix-speedrun-workflow-proposal.org21
-rw-r--r--todo.org12
3 files changed, 34 insertions, 1 deletions
diff --git a/.ai/notes.org b/.ai/notes.org
index 0db9544..aae86aa 100644
--- a/.ai/notes.org
+++ b/.ai/notes.org
@@ -79,6 +79,6 @@ Format:
Markers maintained by workflows to record when they last ran. Read by other workflows that gate their behavior on freshness.
:LAST_AUDIT: 2026-05-28
-:LAST_INBOX_PROCESS: 2026-06-13 (afternoon: .emacs.d inbox-zero ack cleared; no local action needed)
+:LAST_INBOX_PROCESS: 2026-06-15 (3 items: fix-speedrun proposal filed [#C], 2 pearl acks cleared)
Format: one =:MARKER: YYYY-MM-DD= line per workflow. Workflows overwrite their own marker on completion.
diff --git a/docs/design/2026-06-15-fix-speedrun-workflow-proposal.org b/docs/design/2026-06-15-fix-speedrun-workflow-proposal.org
new file mode 100644
index 0000000..c1c7077
--- /dev/null
+++ b/docs/design/2026-06-15-fix-speedrun-workflow-proposal.org
@@ -0,0 +1,21 @@
+#+TITLE: Proposed reusable workflow: "fix speedrun" mode, available t
+#+SOURCE: from .emacs.d
+#+DATE: 2026-06-15 19:22:56 -0500
+
+Proposed reusable workflow: "fix speedrun" mode, available to all coding projects.
+
+Origin: a 2026-06-15 .emacs.d theme-studio session. Craig batched a list of quick wins / small fixes and asked me to run them autonomously.
+
+The shape that worked:
+- Entry: Craig names an ordered set of tasks (or points at a tagged subset) and says "fix speedrun" / "no approvals until done".
+- Execution: work the set in order, no per-step approval gates. Each task still runs the full quality bar (TDD red->green, /review-code, /voice on the commit), and each is committed + pushed as its own logical commit when green ("always push this session" pairs naturally).
+- Ambiguity handling: if a task turns out underspecified or already-satisfied, do not guess-implement — file a VERIFY noting why and move on. (This session: "raise max spans to 5" — every cap was already 8.)
+- Exit / handoff: when the set is done, PAGE the user (proactive push notification) with the project name, the completed task(s), and a numbered list of remaining tasks. The user confirms ready + names the next project in one reply.
+
+Open questions for the canonical:
+- Where the page fires (every task vs end-of-set) and via what (push notification).
+- How it composes with the existing no-approvals + always-push session modes (is "fix speedrun" just a named preset of those plus the end page?).
+- Whether it should auto-pull the task set from a tag/priority query rather than an explicit list.
+- Guardrails: it should refuse to speedrun tasks that need design decisions or carry data-loss risk without a checkpoint (e.g. the unused-tile flag here was biased-safe deliberately).
+
+This is a rulesets-owned concept (cross-project), so sending it here rather than building it locally. No local stopgap made.
diff --git a/todo.org b/todo.org
index 9d5abcf..4f88e7a 100644
--- a/todo.org
+++ b/todo.org
@@ -1101,6 +1101,18 @@ Recommendation captured now so the thinking isn't lost; it migrates into the spe
Follow-up once decided: update spec-create to emit into =docs/specs/= with the chosen status mechanism; retrofit existing specs; optionally add the relink helper as a =.ai/scripts/= addition (downstream projects get it via template sync); send a note back if .emacs.d should pilot before generalizing.
+** TODO [#C] "fix speedrun" cross-project autonomous-batch mode :feature:spec:
+:PROPERTIES:
+:CREATED: [2026-06-15 Mon]
+:END:
+A named mode for coding projects: Craig names an ordered task set and says "fix speedrun"; the set is worked autonomously, each task held to the full quality bar (TDD red→green, =/review-code=, =/voice= on the commit) and committed + pushed as its own logical commit, with a VERIFY filed instead of guessing on anything underspecified, and an end-of-set page listing completed + remaining tasks. Surfaced by .emacs.d from a 2026-06-15 theme-studio session where the shape worked. Source proposal: [[file:docs/design/2026-06-15-fix-speedrun-workflow-proposal.org]] (.emacs.d handoff 2026-06-15). Build via =spec-create= when worked; we handle the task in priority order.
+
+Skeptical-review read (open design questions to resolve in the spec, not settled here):
+- *Is it a new workflow or a documented preset?* The proposal frames it as no-approvals + always-push session modes plus an end page. Decide whether it needs its own workflow file or is mostly documentation of a preset over the two existing modes.
+- *Where/how the page fires* — every task vs end-of-set, and via what. The paging surface is in flux (=page-signal= removed 2026-06-12), so reconcile against =notify --persist= or whatever paging stands now.
+- *Auto-pull vs explicit list* — whether the set comes from an explicit ordered list or a tag/priority query.
+- *Guardrails* — must refuse to speedrun tasks needing design decisions or carrying data-loss risk without a checkpoint (the sender's biased-safe unused-tile flag is the worked example).
+
* Rulesets Resolved
** DONE [#C] Fix =cj-scan= false positives on cj fences nested inside other =#+begin_*= blocks :bug:
CLOSED: [2026-05-15 Fri]