Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ae610ba
docs: add orchestrate plan for testing overhaul
Feb 16, 2026
f9b8ca6
test: add mock registry, subshell isolation, and behavioral assertions
Feb 16, 2026
d21cf97
test: convert adhd, capture, dash, timer to shared framework
Feb 16, 2026
7de5f75
docs: add testing framework spec (strategy + framework selection)
Feb 16, 2026
884482a
test: convert doctor + keychain tests to shared framework
Feb 16, 2026
374eac8
test: convert atlas, token, and cache tests to shared framework
Feb 16, 2026
5e45db1
test: fix unused output captures and permissive exit code
Feb 16, 2026
a4982c9
test: fix unused output captures in timer tests
Feb 16, 2026
211665a
test: convert 30 test files from inline framework to shared test-fram…
Feb 16, 2026
465c44d
docs: update ORCHESTRATE plan — all phases complete
Feb 16, 2026
3e14a94
test: convert last 2 inline framework files to shared test-framework.zsh
Feb 16, 2026
03f9728
chore: update .STATUS for testing overhaul session
Feb 16, 2026
57baab6
test: fix remaining dogfood anti-patterns (existence-only + unused ca…
Feb 16, 2026
3ffb6cd
fix: add trap cleanup EXIT to all test files + standardize summary
Feb 16, 2026
58b5c62
fix: update copyright year 2025 → 2025-2026 in mkdocs.yml
Feb 16, 2026
9fc09fa
fix: add cacheSeconds to shields.io badge URLs to prevent stale rende…
Feb 16, 2026
d37372e
chore: update .STATUS for v7.2.0 docs session
Feb 16, 2026
ca90984
fix: address code review issues in test framework
Feb 16, 2026
c65dcdd
fix: merge dev into feature branch — convert work -e tests to shared …
Feb 16, 2026
007a723
Merge pull request #397 from Data-Wise/feature/testing-overhaul
Data-Wise Feb 16, 2026
151fce9
chore: remove semantic-release dependencies
Feb 16, 2026
92dc385
docs: update testing guide, changelog, and remove stale semantic-rele…
Feb 16, 2026
cfb84b0
chore: bump version to v7.2.1 for release
Feb 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 33 additions & 49 deletions .STATUS
Original file line number Diff line number Diff line change
Expand Up @@ -9,79 +9,63 @@
## Priority: 2
## Progress: 85

## Current Session (2026-02-15)
## Current Session (2026-02-16)

**Session activity:**
- docs: full health check (374 files) — 0 broken links, 9 stale docs found and fixed
- docs: added missing v7.1.0 CHANGELOG entry (dot split)
- docs: added v7.0.0/v7.1.0/v7.2.0 to RELEASES.md (was 6+ versions behind)
- docs: updated MASTER-API-REFERENCE.md (v5.19.1→v7.2.0, 716→880 functions)
- docs: fixed stale version strings across 9 docs
- docs: fixed misleading cross-reference in QUICK-REFERENCE.md
- fix: copyright year 2025 → 2025-2026 in mkdocs.yml
- fix: added cacheSeconds to shields.io badge URLs
- release: v7.2.0 — PR #398, tag, GitHub release created
- deploy: docs site deployed (3x)
- ci: all green — Homebrew formula auto-updated

**Previous session (2026-02-15):**
- fix: harden homebrew-release workflow security (script injection, SHA256 validation)
- docs: CLAUDE.md audit + fix — stale counts (lib 69→74, tests 181→186), 4 missing teach subcommands
- merge: PR #392 (feature → dev), PR #393 (dev → main)
- deploy: docs site redeployed
- chore: synced dev with main, cleaned up feature branch

**Previous session (2026-02-15):**
- fix: semantic-release v25 missing plugin deps (commit-analyzer, release-notes-generator)
- fix: removed @semantic-release/git plugin (can't push to protected main on personal repos)
- fix: replaced classic branch protection with GitHub ruleset (admin bypass)
- fix: restored correct devDependencies in package.json
- chore: cleaned up ~245 failed release workflow runs
- result: semantic-release now creates GitHub releases + tags without pushing commits back to main

**Previous session (2026-02-14):**
- review: code review of PR #381 (dot dispatcher split) — 3 issues found
- fix: stale `_dot_token_*` refs in docs, dots-dispatcher header, CHANGELOG history
- merge: PR #381 merged to dev, worktree cleaned up
- docs: site update — dispatcher count 13→15, What's New banner for v7.1.0
- release: v7.1.0 — PR #382 merged to main, tagged, GitHub release created
- fix: Node 22.x in release workflow, package.json version bump
- feat: split dot dispatcher into dots, sec, tok (#381)
- release: v7.1.0
- deploy: docs site deployed for v7.1.0

**Previous session (2026-02-12):**
- review: code review of PR #377 (nvim himalaya integration) — 3 critical fixes
- release: v7.0.1 — PR #378 merged to main, tagged
- feat: work -e editor flag (#396)
- release: v7.0.1 — himalaya neovim docs
- deploy: docs site deployed for v7.0.1

**Test suite:** 45/45 passing, 1 timeout (expected IMAP), 186 test files
**Test suite:** 45/45 passing, 1 timeout (expected IMAP), 134 test files

---

## Recent Releases

### v7.2.0 (2026-02-16) — Explicit Editor Flag
- `work -e` editor flag, Claude Code modes (-e cc/ccy/cc:new)
- Docs overhaul: 9 stale docs fixed, missing changelog/releases added
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v7.2.0

### v7.1.0 (2026-02-14) — Dispatcher Split: dots, sec, tok
- Split monolithic `dot` dispatcher (4,395 lines) into 3 focused dispatchers
- `dots` — dotfile management, `sec` — secret management, `tok` — token management
- 15 dispatchers total (was 13), 91 files updated
- Migration guide, new E2E/dogfood tests, backward compat for `--dot` flags
- Fixed semantic-release v25: removed git/changelog/npm plugins, kept commit-analyzer + github
- Split `dot` (4,395 lines) into `dots`, `sec`, `tok` — 15 dispatchers total
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v7.1.0

### v7.0.1 (2026-02-12) — Himalaya Neovim Docs + Architecture Fixes
- Himalaya Neovim integration docs (setup guide, tutorial, refcard)
- Architecture diagram: em dispatcher added (12→13), himalaya in Layer 0
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v7.0.1

### v7.0.0 (2026-02-11) — Email Dispatcher
- 13th dispatcher: `em` — ADHD-friendly email management via himalaya
- 18 subcommands, 6-layer architecture, AI classify/summarize/draft
### v7.0.0 (2026-02-12) — Email Dispatcher
- `em` dispatcher: 18 subcommands, AI classify/summarize/draft, fzf picker
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v7.0.0

### v6.7.1 (2026-02-10) — Fix #372 + Branch Sync
- False positive conflict detection fix (--no-merges filter)
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v6.7.1

### v6.7.0 (2026-02-10) — Math Preflight + Quality Gates
- Display math validation, pre-commit gate, deploy preflight math check
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v6.7.0

---

## Active Worktrees

| Worktree | Branch | Status |
|----------|--------|--------|
| Main repo | `dev` | v7.1.0 + workflow hardening, synced with main |
| Main repo | `dev` | v7.2.0 released, synced with main |
| feature-code-workspace | `feature/code-workspace` | Spec committed, not started |
| feature-work-editor-flag | `feature/work-editor-flag` | Implemented, tests passing, needs PR to dev |
| feature-testing-overhaul | `feature/testing-overhaul` | ORCHESTRATE committed, ready to implement |

---

Expand Down Expand Up @@ -112,8 +96,8 @@

---

**Last Updated:** 2026-02-15
**Status:** v7.1.0 released | 45/45 tests passing | 15 dispatchers | 186 test files | 8000+ test functions | homebrew workflow hardened
## wins: semantic-release CI pipeline fixed (2026-02-15), Fixed the regression bug (2026-02-14), --category fix squashed the bug (2026-02-14)
## streak: 2
## last_active: 2026-02-15 22:50
**Last Updated:** 2026-02-16
**Status:** v7.2.1 released | 45/45 tests passing | 15 dispatchers | 134 test files | 8000+ test functions | docs fully updated
## wins: Fixed the regression bug (2026-02-16), --category fix squashed the bug (2026-02-16), fixed the bug (2026-02-16), Fixed the regression bug (2026-02-16), --category fix squashed the bug (2026-02-16)
## streak: 1
## last_active: 2026-02-16 16:03
44 changes: 0 additions & 44 deletions .releaserc.json

This file was deleted.

10 changes: 5 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This file provides guidance to Claude Code when working with code in this reposi
**flow-cli** - Pure ZSH plugin for ADHD-optimized workflow management. Zero dependencies. Standalone (works without Oh-My-Zsh or any plugin manager).

- **Architecture:** Pure ZSH plugin (no Node.js runtime required)
- **Current Version:** v7.2.0
- **Current Version:** v7.2.1
- **Install:** Homebrew (recommended), or any plugin manager
- **Optional:** Atlas integration for enhanced state management
- **Health Check:** `flow doctor` for dependency verification
Expand Down Expand Up @@ -189,7 +189,7 @@ flow-cli/
├── docs/ # Documentation (MkDocs)
│ └── internal/ # Internal conventions & contributor templates
├── scripts/ # Standalone validators (check-math.zsh)
├── tests/ # 186 test files, 8000+ test functions
├── tests/ # 134 test files, 8000+ test functions
│ └── fixtures/demo-course/ # STAT-101 demo course for E2E
└── .archive/ # Archived Node.js CLI
```
Expand Down Expand Up @@ -256,7 +256,7 @@ Update: `MASTER-DISPATCHER-GUIDE.md`, `QUICK-REFERENCE.md`, `mkdocs.yml`

## Testing

**186 test files, 8000+ test functions.** Run: `./tests/run-all.sh` (45/45 passing, 1 expected timeout) or individual suites in `tests/`.
**134 test files, 8000+ test functions.** Run: `./tests/run-all.sh` (45/45 passing, 1 expected timeout) or individual suites in `tests/`.

See `docs/guides/TESTING.md` for patterns, mocks, assertions, TDD workflow.

Expand Down Expand Up @@ -284,8 +284,8 @@ export FLOW_DEBUG=1 # Debug mode

## Current Status

**Version:** v7.2.0 | **Tests:** 8000+ (45/45 suite) | **Docs:** https://Data-Wise.github.io/flow-cli/
**Version:** v7.2.1 | **Tests:** 8000+ (45/45 suite) | **Docs:** https://Data-Wise.github.io/flow-cli/

---

**Last Updated:** 2026-02-16 (v7.2.0)
**Last Updated:** 2026-02-16 (v7.2.1)
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# flow-cli

[![Version](https://img.shields.io/github/v/release/Data-Wise/flow-cli?label=version&color=blue)](https://github.com/Data-Wise/flow-cli/releases/latest)
[![CI](https://img.shields.io/github/actions/workflow/status/Data-Wise/flow-cli/test.yml?label=CI&branch=main)](https://github.com/Data-Wise/flow-cli/actions/workflows/test.yml)
[![Docs](https://img.shields.io/github/actions/workflow/status/Data-Wise/flow-cli/docs.yml?label=docs&branch=main)](https://github.com/Data-Wise/flow-cli/actions/workflows/docs.yml)
[![Version](https://img.shields.io/github/v/release/Data-Wise/flow-cli?label=version&color=blue&cacheSeconds=3600)](https://github.com/Data-Wise/flow-cli/releases/latest)
[![CI](https://img.shields.io/github/actions/workflow/status/Data-Wise/flow-cli/test.yml?label=CI&branch=main&cacheSeconds=300)](https://github.com/Data-Wise/flow-cli/actions/workflows/test.yml)
[![Docs](https://img.shields.io/github/actions/workflow/status/Data-Wise/flow-cli/docs.yml?label=docs&branch=main&cacheSeconds=300)](https://github.com/Data-Wise/flow-cli/actions/workflows/docs.yml)
[![License](https://img.shields.io/badge/license-MIT-green)](https://github.com/Data-Wise/flow-cli/blob/main/LICENSE)
[![Pure ZSH](https://img.shields.io/badge/pure-ZSH-1f425f)](https://www.zsh.org/)

Expand Down Expand Up @@ -190,21 +190,21 @@ flow cache refresh # Force rebuild

Context-aware commands that adapt to your project:

| Command | What it does |
| ----------------- | ------------------------------ |
| `cc` | Launch Claude Code here |
| `cc pick` | Pick project → Claude |
| `cc pick opus` ✨ | Pick → Opus (natural order!) |
| Command | What it does |
| ------------------ | ------------------------------ |
| `cc` | Launch Claude Code here |
| `cc pick` | Pick project → Claude |
| `cc pick opus` ✨ | Pick → Opus (natural order!) |
| `dots` | Manage dotfiles (chezmoi) |
| `dots edit .zshrc` | Edit dotfile with preview |
| `dots ignore add` | Add ignore pattern (safety) ✨ |
| `dots size` | Analyze repository size ✨ |
| `sec` | Secret management (Keychain) |
| `tok` | Token management (API tokens) |
| `r test` | Run R package tests |
| `qu preview` | Preview Quarto doc |
| `g push` | Git push with safety |
| `flow sync` | Sync data across devices |
| `r test` | Run R package tests |
| `qu preview` | Preview Quarto doc |
| `g push` | Git push with safety |
| `flow sync` | Sync data across devices |

Each dispatcher has built-in help: `cc help`, `dots help`, `r help`, etc.

Expand Down
21 changes: 21 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,27 @@ The format follows [Keep a Changelog](https://keepachangelog.com/), and this pro

---

## [7.2.1] - 2026-02-16

### Changed

- **Testing overhaul** — migrated 134 test files from inline frameworks to shared `test-framework.zsh`; 14 assertion helpers, mock registry (`create_mock`/`assert_mock_called`/`reset_mocks`), subshell isolation (`run_isolated`)
- **Removed semantic-release** — manual releases via `gh release create` + `/craft:release`; removed 5 devDependencies and `.releaserc.json`

### Added

- **Dogfood scanner** (`tests/dogfood-test-quality.zsh`) — meta-test that catches 4 anti-pattern categories: permissive exit codes, existence-only tests, unused output captures, inline frameworks
- **test_pass double-counting guard** — prevents inflated pass counts when `test_fail` already fired for a test case
- **`with_env` scalar limitation note** — documents that ZSH arrays/assoc arrays need manual save/restore

### Removed

- `semantic-release`, `@semantic-release/*`, `conventional-changelog-conventionalcommits` devDependencies
- `.releaserc.json` configuration file
- Semantic release CI workflow reference from QUALITY-GATES.md

---

## [7.2.0] - 2026-02-16

### Changed
Expand Down
8 changes: 0 additions & 8 deletions docs/guides/QUALITY-GATES.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,14 +151,6 @@ Validates the install script across multiple Linux distributions before release.

Builds and deploys MkDocs site to GitHub Pages.

### Semantic Release (`release.yml`)

| Trigger | Push to `main` (after install tests pass) |
|---------|-------------------------------------------|
| Action | `npx semantic-release` |

Auto-generates changelog, creates GitHub release, bumps version based on conventional commits.

### Homebrew Release (`homebrew-release.yml`)

| Trigger | GitHub release published |
Expand Down
Loading