Skip to content

Commit fefa0ac

Browse files
authored
Merge pull request #399 from Data-Wise/dev
Release: v7.2.1 — Testing Overhaul & Cleanup
2 parents 9c62d17 + cfb84b0 commit fefa0ac

70 files changed

Lines changed: 7126 additions & 16214 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.STATUS

Lines changed: 33 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -9,79 +9,63 @@
99
## Priority: 2
1010
## Progress: 85
1111

12-
## Current Session (2026-02-15)
12+
## Current Session (2026-02-16)
1313

1414
**Session activity:**
15+
- docs: full health check (374 files) — 0 broken links, 9 stale docs found and fixed
16+
- docs: added missing v7.1.0 CHANGELOG entry (dot split)
17+
- docs: added v7.0.0/v7.1.0/v7.2.0 to RELEASES.md (was 6+ versions behind)
18+
- docs: updated MASTER-API-REFERENCE.md (v5.19.1→v7.2.0, 716→880 functions)
19+
- docs: fixed stale version strings across 9 docs
20+
- docs: fixed misleading cross-reference in QUICK-REFERENCE.md
21+
- fix: copyright year 2025 → 2025-2026 in mkdocs.yml
22+
- fix: added cacheSeconds to shields.io badge URLs
23+
- release: v7.2.0 — PR #398, tag, GitHub release created
24+
- deploy: docs site deployed (3x)
25+
- ci: all green — Homebrew formula auto-updated
26+
27+
**Previous session (2026-02-15):**
1528
- fix: harden homebrew-release workflow security (script injection, SHA256 validation)
1629
- docs: CLAUDE.md audit + fix — stale counts (lib 69→74, tests 181→186), 4 missing teach subcommands
1730
- merge: PR #392 (feature → dev), PR #393 (dev → main)
18-
- deploy: docs site redeployed
19-
- chore: synced dev with main, cleaned up feature branch
20-
21-
**Previous session (2026-02-15):**
22-
- fix: semantic-release v25 missing plugin deps (commit-analyzer, release-notes-generator)
23-
- fix: removed @semantic-release/git plugin (can't push to protected main on personal repos)
24-
- fix: replaced classic branch protection with GitHub ruleset (admin bypass)
25-
- fix: restored correct devDependencies in package.json
26-
- chore: cleaned up ~245 failed release workflow runs
27-
- result: semantic-release now creates GitHub releases + tags without pushing commits back to main
2831

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

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

43-
**Test suite:** 45/45 passing, 1 timeout (expected IMAP), 186 test files
42+
**Test suite:** 45/45 passing, 1 timeout (expected IMAP), 134 test files
4443

4544
---
4645

4746
## Recent Releases
4847

48+
### v7.2.0 (2026-02-16) — Explicit Editor Flag
49+
- `work -e` editor flag, Claude Code modes (-e cc/ccy/cc:new)
50+
- Docs overhaul: 9 stale docs fixed, missing changelog/releases added
51+
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v7.2.0
52+
4953
### v7.1.0 (2026-02-14) — Dispatcher Split: dots, sec, tok
50-
- Split monolithic `dot` dispatcher (4,395 lines) into 3 focused dispatchers
51-
- `dots` — dotfile management, `sec` — secret management, `tok` — token management
52-
- 15 dispatchers total (was 13), 91 files updated
53-
- Migration guide, new E2E/dogfood tests, backward compat for `--dot` flags
54-
- Fixed semantic-release v25: removed git/changelog/npm plugins, kept commit-analyzer + github
54+
- Split `dot` (4,395 lines) into `dots`, `sec`, `tok` — 15 dispatchers total
5555
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v7.1.0
5656

57-
### v7.0.1 (2026-02-12) — Himalaya Neovim Docs + Architecture Fixes
58-
- Himalaya Neovim integration docs (setup guide, tutorial, refcard)
59-
- Architecture diagram: em dispatcher added (12→13), himalaya in Layer 0
60-
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v7.0.1
61-
62-
### v7.0.0 (2026-02-11) — Email Dispatcher
63-
- 13th dispatcher: `em` — ADHD-friendly email management via himalaya
64-
- 18 subcommands, 6-layer architecture, AI classify/summarize/draft
57+
### v7.0.0 (2026-02-12) — Email Dispatcher
58+
- `em` dispatcher: 18 subcommands, AI classify/summarize/draft, fzf picker
6559
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v7.0.0
6660

67-
### v6.7.1 (2026-02-10) — Fix #372 + Branch Sync
68-
- False positive conflict detection fix (--no-merges filter)
69-
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v6.7.1
70-
71-
### v6.7.0 (2026-02-10) — Math Preflight + Quality Gates
72-
- Display math validation, pre-commit gate, deploy preflight math check
73-
- Release: https://github.com/Data-Wise/flow-cli/releases/tag/v6.7.0
74-
7561
---
7662

7763
## Active Worktrees
7864

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

8670
---
8771

@@ -112,8 +96,8 @@
11296

11397
---
11498

115-
**Last Updated:** 2026-02-15
116-
**Status:** v7.1.0 released | 45/45 tests passing | 15 dispatchers | 186 test files | 8000+ test functions | homebrew workflow hardened
117-
## wins: semantic-release CI pipeline fixed (2026-02-15), Fixed the regression bug (2026-02-14), --category fix squashed the bug (2026-02-14)
118-
## streak: 2
119-
## last_active: 2026-02-15 22:50
99+
**Last Updated:** 2026-02-16
100+
**Status:** v7.2.1 released | 45/45 tests passing | 15 dispatchers | 134 test files | 8000+ test functions | docs fully updated
101+
## 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)
102+
## streak: 1
103+
## last_active: 2026-02-16 16:03

.releaserc.json

Lines changed: 0 additions & 44 deletions
This file was deleted.

CLAUDE.md

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

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

257257
## Testing
258258

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

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

@@ -284,8 +284,8 @@ export FLOW_DEBUG=1 # Debug mode
284284

285285
## Current Status
286286

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

289289
---
290290

291-
**Last Updated:** 2026-02-16 (v7.2.0)
291+
**Last Updated:** 2026-02-16 (v7.2.1)

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# flow-cli
22

3-
[![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)
4-
[![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)
5-
[![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)
3+
[![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)
4+
[![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)
5+
[![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)
66
[![License](https://img.shields.io/badge/license-MIT-green)](https://github.com/Data-Wise/flow-cli/blob/main/LICENSE)
77
[![Pure ZSH](https://img.shields.io/badge/pure-ZSH-1f425f)](https://www.zsh.org/)
88

@@ -190,21 +190,21 @@ flow cache refresh # Force rebuild
190190

191191
Context-aware commands that adapt to your project:
192192

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

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

docs/CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,27 @@ The format follows [Keep a Changelog](https://keepachangelog.com/), and this pro
66

77
---
88

9+
## [7.2.1] - 2026-02-16
10+
11+
### Changed
12+
13+
- **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`)
14+
- **Removed semantic-release** — manual releases via `gh release create` + `/craft:release`; removed 5 devDependencies and `.releaserc.json`
15+
16+
### Added
17+
18+
- **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
19+
- **test_pass double-counting guard** — prevents inflated pass counts when `test_fail` already fired for a test case
20+
- **`with_env` scalar limitation note** — documents that ZSH arrays/assoc arrays need manual save/restore
21+
22+
### Removed
23+
24+
- `semantic-release`, `@semantic-release/*`, `conventional-changelog-conventionalcommits` devDependencies
25+
- `.releaserc.json` configuration file
26+
- Semantic release CI workflow reference from QUALITY-GATES.md
27+
28+
---
29+
930
## [7.2.0] - 2026-02-16
1031

1132
### Changed

docs/guides/QUALITY-GATES.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -151,14 +151,6 @@ Validates the install script across multiple Linux distributions before release.
151151

152152
Builds and deploys MkDocs site to GitHub Pages.
153153

154-
### Semantic Release (`release.yml`)
155-
156-
| Trigger | Push to `main` (after install tests pass) |
157-
|---------|-------------------------------------------|
158-
| Action | `npx semantic-release` |
159-
160-
Auto-generates changelog, creates GitHub release, bumps version based on conventional commits.
161-
162154
### Homebrew Release (`homebrew-release.yml`)
163155

164156
| Trigger | GitHub release published |

0 commit comments

Comments
 (0)