-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: Data-Wise/flow-cli
base: v7.3.0
head repository: Data-Wise/flow-cli
compare: v7.4.0
- 18 commits
- 54 files changed
- 3 contributors
Commits on Feb 18, 2026
-
docs: add em ai/catch to quick-reference, fix catch description
- Add em ai (4 subcommands) and em catch to QUICK-REFERENCE - Add "Reading Options" section (--md, --raw) to QUICK-REFERENCE - Update picker keybindings (Ctrl-T=catch, Ctrl-D=delete) - Fix em catch <text> → em catch <ID> in MASTER-DISPATCHER-GUIDE - Bump EMAIL-TUTORIAL version 7.2.1 → 7.3.0 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for d73d49a - Browse repository at this point
Copy the full SHA d73d49aView commit details -
docs: fix 20+ inaccuracies in EMAIL-TUTORIAL.md
Major fixes (HIGH priority): - em respond --review: replace fabricated fzf picker with actual sequential $EDITOR flow (no Ctrl-E/Ctrl-D keybindings exist) - em respond: correct "save to cache then review" narrative to actual classify → $EDITOR → send flow - em read output: replace preview-panel format with actual header - Default count: fix 20 → 10 (matches dispatcher) Medium fixes: - Add --html/-H flag teaching alongside em html alias - Add Ctrl-T (catch) to Part 4 fzf keybindings throughout - Fix em inbox auto-warm claim (only em dash triggers it) - Fix cache stats output (add schedules row, Location line) - Fix em doctor output (add email-oauth2-proxy, AI backend rows) - Fix config precedence to match guide and implementation - Fix search description (server-side IMAP first, not client-only) - Add em ai auto subcommand to Part 11 - Add em catch alias 'c' throughout - Add em respond --folder to What You Learned and Command Reference - Fix AI prompts FAQ (config override, not lib editing) - Add quick pulse + column header - Also fix guide auto-warm claim for em inbox Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 7652d4b - Browse repository at this point
Copy the full SHA 7652d4bView commit details -
docs: add em feature brainstorm, spec, and two-interfaces insight
Brainstorm 15 em dispatcher feature ideas (thread, snooze, star, move, digest, triage, templates, export, actions, stats, rules, follow-ups, multi-account, calendar, compose). Spec covers top 5 quick wins. Added "Two interfaces, one backend" section explaining em vs himalaya-mcp coexistence to guide, tutorial, and refcard. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 0ce33cd - Browse repository at this point
Copy the full SHA 0ce33cdView commit details -
chore: move brainstorm file to docs/specs/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 8eb54da - Browse repository at this point
Copy the full SHA 8eb54daView commit details -
docs: fix fabricated AI prompts FAQ answer
The FAQ claimed users could override prompts via ~/.config/flow/email-prompts.zsh but no such mechanism exists. Corrected to reflect actual state. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 0934fb4 - Browse repository at this point
Copy the full SHA 0934fb4View commit details -
docs: fix fabricated prompt section and add himalaya-mcp cross-ref
Remove fabricated prompt override mechanism from EMAIL-DISPATCHER-GUIDE (same fix as tutorial FAQ). Add "Two interfaces" note to MASTER-DISPATCHER-GUIDE em section for consistency across all 4 email docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for e561381 - Browse repository at this point
Copy the full SHA e561381View commit details -
docs: update README What's New, add em dispatcher, consolidate sparkl…
…e notes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 051d5e2 - Browse repository at this point
Copy the full SHA 051d5e2View commit details -
docs: fix lint line-length in README em description
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 4b9c3f9 - Browse repository at this point
Copy the full SHA 4b9c3f9View commit details
Commits on Feb 19, 2026
-
docs: fix 546 markdownlint errors across 5 documentation files
- README.md: 3 errors (line-length, bare code fences) - EMAIL-TUTORIAL.md: 50 errors (line-length, code-language, tables) - EMAIL-DISPATCHER-GUIDE.md: 107 errors (line-length, blanks-around-fences) - REFCARD-EMAIL-DISPATCHER.md: 105 errors (tables, code-language) - MASTER-DISPATCHER-GUIDE.md: 281 errors (blanks-around-fences, tables) All 5 files now pass markdownlint with 0 errors. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 75991f9 - Browse repository at this point
Copy the full SHA 75991f9View commit details -
chore: update session status and test fixture
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 3ad5c65 - Browse repository at this point
Copy the full SHA 3ad5c65View commit details
Commits on Feb 20, 2026
-
chore: update session status and workflow rules
- Add dev session boundary rule: STOP after worktree + orchestration plan - Add ABORT condition #5 for implementing from dev - Update .STATUS with em delete-actions session activity Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 9197572 - Browse repository at this point
Copy the full SHA 9197572View commit details
Commits on Feb 21, 2026
-
feat: em organize commands — star, move, thread, snooze, digest (#402)
* feat: add em star/starred for flagged email toggle - em star <ID> toggles Flagged IMAP flag (star/unstar) - em starred lists all flagged emails in current folder - Ctrl-F keybind in em pick for quick star toggle - Ctrl-M keybind in em pick for move (wired, impl next) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add em move with fzf folder picker - em move <ID> [folder] moves email to target folder - fzf folder picker when no folder specified - Safety confirmation before move - _em_hml_move adapter function for himalaya message move Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add em thread for conversation view - em thread <ID> shows conversation thread - Parses Message-ID, In-Reply-To, References headers - Falls back to subject-based search for thread discovery - Chronological display with current message highlighted - _em_hml_headers adapter for raw header extraction Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add em snooze/snoozed for email reminders - em snooze <ID> <time> snoozes email (2h, 1d, tomorrow, monday, etc.) - em snoozed lists pending snoozes with ready/waiting status - Moves to Snoozed IMAP folder + persists to ~/.flow/email-snooze/ - Optional terminal-notifier for macOS desktop notifications - Time parser handles hours, days, weeks, day names Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add em digest for AI-grouped email summary - em digest shows today's emails grouped by priority (AI) - em digest --week for weekly summary - AI groups into: Action Required / FYI / Low Priority - Fallback to unread/read grouping when AI unavailable - Supports -n flag for custom email count Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add tests, help, and refcard for em quick wins - 13 new tests: function existence, time parser, help coverage - All 108 tests pass (was 95, +13 new) - Updated _em_help() with ORGANIZE section (7 new commands) - Updated REFCARD with new commands, fzf keybinds, examples - Updated command count: 20 → 27 - Marked ORCHESTRATE phases as DONE Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: reorder snooze time parser to prevent glob shadowing literals The *w) glob pattern in _em_snooze_parse_time() was matching "tomorrow" (ends in 'w') before the literal tomorrow) case could be reached, causing `em snooze ID tomorrow` to snooze for 0 weeks (= now) instead of tomorrow 9am. Moved literal matches (tomorrow, day names) before glob patterns (*h, *d, *w). Also adds e2e automated and interactive test suites (51 automated tests, 24 interactive dogfood tests). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: route interactive tests through zsh with plugin loaded em is a ZSH function, not a standalone command. The interactive test script (bash) now uses a zsh_run() helper that sources the plugin before executing em commands. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: resolve 5 bugs found in interactive dogfood testing - Digest: split date on space not "T" (himalaya uses "2026-02-18 10:00") - Thread: unfold RFC 822 continuation headers with awk (macOS sed compat) - Thread: strip \r from MIME header values before jq filtering - Thread: use unfolded headers for subject extraction - Thread: filter broad IMAP search results by exact subject match - Snoozed: use pipe delimiter instead of TSV (ZSH read IFS issue) - Snoozed: move local declaration outside pipeline to prevent leak - Search: fix himalaya query syntax (positional, single keyword) - Test: update mock date format to match himalaya output Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: make test scripts ZSH-native and portable - Change shebang from #!/bin/bash to #!/bin/zsh - Replace bash-only read -p with printf + read -r (ZSH compat) - Interactive tests source plugin directly instead of zsh_run wrapper - Automated tests keep zsh subshell pattern for isolation testing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: source plugin before set -e in interactive tests Plugin init has benign non-zero returns that kill the script under set -e. Source with || true first, then enable set -e. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * test: add positive starred tests (flagged shown, unflagged excluded) Previous test only checked empty case. Now also verifies flagged emails appear, unflagged are excluded, and count is correct. 54 automated tests total. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: star toggle never unstarred — jq compared string id as number himalaya returns id as string ("249585") but the jq select used tonumber, so the flag check never matched and always took the "add flag" branch. Changed to --arg string comparison. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add organize commands to dispatcher guide, quick-ref, and email guide Add star, starred, move, thread, snooze, snoozed, digest to all three documentation files. Update em pick keybindings (Ctrl-F=star, Ctrl-M=move). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: interactive move tests hang — pipe 'n' to auto-cancel confirmation run_test now accepts optional 5th arg for stdin input. Move tests (TEST 5, 7) pipe 'n' so the confirmation prompt doesn't block. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: change inbox indicators — • for unread, ★ for starred Replace * (ambiguous) with • for unread emails and add ★ column for starred/flagged emails. Also fix split("T") → split(" ") for himalaya date format in em-render.zsh and em pick. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * refactor: compact indicator layout — pack •★+ without gaps Build indicator string in jq (join, no spaces for absent flags). Manual display-width padding handles unicode multi-byte alignment. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: update all indicator references to •★+ compact format - Replace `*` with `•` for unread across 5 doc files - Add `★` starred indicator to legends and examples - Update fzf picker examples with compact layout - Add CHANGELOG entry for organize commands + indicator redesign - Clean up snooze test data Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: resolve 3 blocking PR review issues - Fix _em_star jq string/number type mismatch (toggle was always adding Flagged) - Fix printf format injection in _em_move confirmation prompt - Remove ORCHESTRATE file (merge cleanup per workflow rules) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Test User <test@example.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>Configuration menu - View commit details
-
Copy full SHA for e3a90fd - Browse repository at this point
Copy the full SHA e3a90fdView commit details -
feat: em delete, move, restore, flag, todo, event + 10 tutorials (#403)
* docs: add spec for em delete, move, restore + enhanced actions 7 new em commands (delete, move, restore, todo, event, flag, unflag), restructured fzf multi-select picker, and 4 new test files planned. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: resolve spec open questions with design decisions D1: Add FLOW_EMAIL_TRASH_FOLDER config (default: Trash) D2: Use macOS default calendar (no config needed) D3: Use default Reminders list (no config needed) D4: Action menu on multi-select Enter (not auto-delete) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: add em delete, move, restore, flag, todo, event commands Implement 7 new email management commands in the em dispatcher: - delete/del/rm: move to Trash with --folder, --query, --pick, --purge modes - move/mv: move between folders with --from flag - restore: move from Trash back to INBOX (or --to target) - flag/fl & unflag: toggle Flagged IMAP flag - todo/td: AI-powered action item extraction with Reminders.app integration - event/ev: AI-powered calendar event extraction with Calendar.app integration Adapter layer (em-himalaya.zsh): _em_hml_delete, _em_hml_move, _em_hml_expunge AI layer (em-ai.zsh): _em_ai_todo_prompt + [todo]=15 timeout Safety model: [y/N] default No for delete, full "yes" required for --purge. 36 new tests across 4 test files (12+8+10+6), all passing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: update 4 doc files for em delete/move/restore/flag/todo/event - REFCARD-EMAIL-DISPATCHER.md: mindmap (27 commands), new command table rows, architecture diagram, fzf keybinds, safety section, examples - QUICK-REFERENCE.md: new Manage section, updated fzf keybinds - EMAIL-TUTORIAL.md: new Part 12 (7 steps), updated stats/checklists - EMAIL-DISPATCHER-GUIDE.md: expanded Email Management section with delete safety levels table, move/restore/flag/todo/event subsections Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * test: add e2e and dogfood tests for em delete/move/restore/flag/todo/event E2E (20 new tests, sections 8-12): - Delete: no-args error, help output, live destructive (--send gated) - Move/Restore: no-args errors, help output, round-trip (--send gated) - Flag: no-args error, live flag+unflag round-trip - Todo/Event: no-args errors, live AI extraction (AI-gated) - Aliases: del, rm, mv, fl, td, ev routing Dogfood (43 new tests, sections 12-19): - 15 MANAGE functions exist - 3 adapter functions exist (delete, move, expunge) - AI todo prompt + timeout validation - Help output mentions all new commands + MANAGE section - FLOW_EMAIL_TRASH_FOLDER config default - 6 dispatcher alias routing tests - Safety: delete declines on EOF, confirm returns 1 - macOS Calendar/Reminder helpers exist All tests: 36/36 unit, 161/161 dogfood, 35/42 e2e (2 pre-existing AI, 5 expected skips) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: update MASTER-DISPATCHER-GUIDE, CLAUDE.md, .STATUS for em delete actions - MASTER-DISPATCHER-GUIDE: add 7 new em commands to table (20→27), add FLOW_EMAIL_TRASH_FOLDER config, add delete safety docs - CLAUDE.md: update test file count (137→141), update date - .STATUS: add session activity, update worktree table Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add FLOW_EMAIL_TRASH_FOLDER to REFCARD config table Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * docs: add 10 tutorials for undocumented dispatchers and ADHD commands Tutorials 35-44 covering em CLI, em delete actions, mcp, r, qu, v/vibe, obs, g, ADHD daily routine (morning/js/timer), and quick capture (catch/inbox/crumb/trail). Updates index.md learning path, mermaid diagram, and mkdocs.yml navigation with new ADHD & Productivity section. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: update demo-course concepts.json fixture timestamp Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: remove duplicate functions and sanitize AppleScript inputs - Remove ~686 lines of dead code (duplicate function block that was shadowed by canonical definitions later in the file) - Sanitize $title and $location before AppleScript interpolation to prevent injection via crafted email subjects - Update dogfood tests to match canonical function list Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Test User <test@example.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 405e824 - Browse repository at this point
Copy the full SHA 405e824View commit details -
chore: update session status and workflow rules
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for daedd5a - Browse repository at this point
Copy the full SHA daedd5aView commit details -
chore: bump version to v7.4.0 for release
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 6d487b2 - Browse repository at this point
Copy the full SHA 6d487b2View commit details -
Merge pull request #404 from Data-Wise/dev
Release: v7.4.0 — 31 Email Commands
Configuration menu - View commit details
-
Copy full SHA for b989d37 - Browse repository at this point
Copy the full SHA b989d37View commit details -
fix: bump FLOW_VERSION to 7.4.0 in plugin entry point
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 50da1f7 - Browse repository at this point
Copy the full SHA 50da1f7View commit details -
Merge pull request #405 from Data-Wise/dev
fix: bump FLOW_VERSION to 7.4.0
Configuration menu - View commit details
-
Copy full SHA for 68bd87b - Browse repository at this point
Copy the full SHA 68bd87bView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v7.3.0...v7.4.0