aboutsummaryrefslogtreecommitdiff
path: root/.ai/workflows/wrap-it-up.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-14 18:45:48 -0500
committerCraig Jennings <c@cjennings.net>2026-05-14 18:45:48 -0500
commitf5b8688aed8ec698220a67c2dbfbcae22e7575f4 (patch)
treec35f56d9018aa902c7b18021ff70bbe708267b80 /.ai/workflows/wrap-it-up.org
parent686d6471191888d05bcdd1f194a9d5dd5ee65d7a (diff)
downloadrulesets-f5b8688aed8ec698220a67c2dbfbcae22e7575f4.tar.gz
rulesets-f5b8688aed8ec698220a67c2dbfbcae22e7575f4.zip
chore(ai): sync lint-org script and wrap-it-up from claude-templates
Byte-identical pull of .ai/scripts/lint-org.el, .ai/scripts/tests/test-lint-org.el, and the new Step 3 lint section in .ai/workflows/wrap-it-up.org. Upstream: claude-templates 138f35f (feat) and 4eba98c (docs).
Diffstat (limited to '.ai/workflows/wrap-it-up.org')
-rw-r--r--.ai/workflows/wrap-it-up.org33
1 files changed, 33 insertions, 0 deletions
diff --git a/.ai/workflows/wrap-it-up.org b/.ai/workflows/wrap-it-up.org
index 03ee520..f6c13aa 100644
--- a/.ai/workflows/wrap-it-up.org
+++ b/.ai/workflows/wrap-it-up.org
@@ -131,6 +131,38 @@ emacs --batch -q -l .ai/scripts/todo-cleanup.el --check-child-priority todo.org
(=--check-child-priority= is the report-only alias for =--sync-child-priority --check=.)
+*** Lint org files (mechanical sweep, judgments deferred)
+
+#+begin_src bash
+followups="${LINT_ORG_FOLLOWUPS:-$HOME/projects/work/inbox/lint-followups.org}"
+[ ! -d "$(dirname "$followups")" ] && followups=".ai/lint-followups.org"
+[ -f todo.org ] && emacs --batch -q -l .ai/scripts/lint-org.el \
+ --followups-file="$followups" todo.org
+#+end_src
+
+=lint-org= runs =org-lint= over =todo.org=, auto-applies four mechanical
+categories (=item-number= counters, bare =#+begin_src= → =#+begin_example=,
+multi-line planning-info merged onto one line, =**X.**= → =*X.*=), and
+appends every remaining judgment item (broken file links, invalid fuzzy
+links, verbatim-asterisk inside body prose, suspicious src-block languages)
+to the follow-ups file as a dated org section. Mechanical fixes show up in
+the wrap-up commit's diff for review before push.
+
+The follow-up path defaults to =~/projects/work/inbox/lint-followups.org=
+(where the next morning's daily-prep merges it in). If that directory
+doesn't exist on the machine, the script falls back to
+=.ai/lint-followups.org= inside the current project. Override with
+=LINT_ORG_FOLLOWUPS=<path>= in the environment if needed.
+
+Preview without writing — same flags as =--check= on the other scripts:
+
+#+begin_src bash
+[ -f todo.org ] && emacs --batch -q -l .ai/scripts/lint-org.el --check todo.org
+#+end_src
+
+The wrap-up never blocks on judgment items — they're deferred by design.
+For an interactive walk of the judgments mid-day, run =/lint-org todo.org=.
+
** Step 3.5: Linear ticket-state hygiene (skip if project doesn't use Linear)
If the project uses Linear and has any tickets currently in *Dev Review* assigned to Craig, sweep them before the wrap-up commit. The check is fast and keeps the board honest — tickets stuck in Dev Review after their PR merges hide actual work-in-progress.
@@ -313,6 +345,7 @@ Before considering wrap-up complete:
- [ ] File renamed to =.ai/sessions/YYYY-MM-DD-HH-MM-description.org=
- [ ] =.ai/session-context.org= no longer exists
- [ ] =todo-cleanup.el= ran — hygiene pass + =--archive-done= + =--sync-child-priority= (if =todo.org= exists at project root)
+- [ ] =lint-org.el= ran on =todo.org= — mechanical fixes applied, judgments appended to follow-ups file (if =todo.org= exists)
- [ ] Any orphan-planning-line warnings reviewed (fix or accept)
- [ ] Linear Dev-Review sweep ran; any merged-PR tickets moved to Done or PM Acceptance (skip if project doesn't use Linear)
- [ ] After wrap-up commit + push, =git status --short= is empty OR every remaining line has an explicit user-deferred decision logged in the valediction