Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
b1c4426
docs: session close-out for v4.5.0 — .STATUS milestone + spec archival
Data-Wise Aug 8, 2026
c410f80
docs(cookbook): add repo-triage recipe
Data-Wise Aug 8, 2026
dcaee7f
docs: fix stale version box and agent count (missed by count-consiste…
Data-Wise Aug 8, 2026
8cc1686
docs: brainstorm + spec doc-staleness prose-gap checks
Data-Wise Aug 8, 2026
2ec65fe
docs: fix SPEC per adversarial review (drop falsified check, rescope …
Data-Wise Aug 8, 2026
1da954c
docs: add ADHD report for doc-staleness-prose-gaps SPEC
Data-Wise Aug 8, 2026
7b1d80e
docs(index): fix install instructions and stale command counts
Data-Wise Aug 8, 2026
7d4b069
docs(dist): document homebrew-tap's revision-bump rule for content-on…
Data-Wise Aug 8, 2026
88af476
docs: note homebrew-tap caveat-prose staleness as SPEC follow-up
Data-Wise Aug 8, 2026
9192947
docs: session close-out — post-release doc audit + homebrew-tap fix
Data-Wise Aug 8, 2026
9bd5744
docs: OpenCode MCP bridge tutorial + codex/opencode delegation spec
Data-Wise Aug 9, 2026
9b53e38
docs: remove stale Teaching Mode feature (dead since v4 command-prune)
Data-Wise Aug 9, 2026
ceee138
docs(.status): session recap — OpenCode MCP bridges, delegation SPEC,…
Data-Wise Aug 9, 2026
4965f12
chore(deps-dev): bump the mcp-dev-dependencies group (#333)
dependabot[bot] Aug 13, 2026
7db7b56
docs: fix stale counts in CLAUDE.md and README.md
Data-Wise Aug 15, 2026
18949cf
docs: refresh README v4.5.0 callout; amend prose-gaps SPEC with ADR +…
Data-Wise Aug 15, 2026
5e83237
docs(.status): refresh Active Worktrees — repo-triage merged, prose-g…
Data-Wise Aug 15, 2026
b5de1ae
feat(docs-staleness): prose checks for release dates and shaped count…
Data-Wise Aug 15, 2026
2097651
docs: post-merge cleanup for #334 — drop ORCHESTRATE, refresh worktre…
Data-Wise Aug 15, 2026
4390da1
docs(.status): swap in the prose-check-hardening worktree
Data-Wise Aug 15, 2026
a95170b
docs: fix stale REFCARD test count + prune 6 dead exclusions
Data-Wise Aug 16, 2026
7d79228
fix(docs-staleness): harden PR #334's prose checks (F1-F9, D1-D11) (#…
Data-Wise Aug 16, 2026
01377e2
docs(.status): record PR #335 merge, drop leaked ORCHESTRATE artifact
Data-Wise Aug 16, 2026
68344a9
chore: bump version to v4.6.0 for release
Data-Wise Aug 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
60 changes: 55 additions & 5 deletions .STATUS

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
},
"metadata": {
"description": "Full-stack developer toolkit for Claude Code with 48 commands, 2 agents, and 41 skills",
"version": "4.5.0"
"version": "4.6.0"
},
"plugins": [
{
Expand All @@ -16,7 +16,7 @@
"repo": "Data-Wise/craft"
},
"description": "Full-stack developer toolkit for Claude Code with 48 commands, 2 agents, and 41 skills",
"version": "4.5.0",
"version": "4.6.0",
"author": {
"name": "Data-Wise",
"email": "dt@stat-wise.com"
Expand Down
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "craft",
"version": "4.5.0",
"version": "4.6.0",
"description": "Full-stack developer toolkit with integrated workflow automation - 48 commands, 2 agents, 41 skills with standardized dry-run preview mode (29 with --dry-run support). Code, git, site, docs, testing, architecture, CI, distribution, teaching workflows, planning, release pipeline, and ADHD-friendly features including brainstorming, task management, and spec capture",
"author": {
"name": "Data-Wise",
Expand Down
63 changes: 62 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

---

## [4.5.0] - 2026-08-08
## [Unreleased]

---

## [4.6.0] - 2026-08-15

### Added

- **Two prose-staleness checks in `docs-staleness-check.sh` Phase 7**
([SPEC](docs/specs/SPEC-doc-staleness-prose-gaps-2026-08-07.md),
[ADR-007](docs/adr/ADR-007-pattern-scoped-prose-staleness-gating.md),
[#334](https://github.com/Data-Wise/craft/pull/334),
[#335](https://github.com/Data-Wise/craft/pull/335)) — a release-date check and a count-prose
check scoped to four structured line shapes (version box, TL;DR line, bolded count-summary
badge, structure-table row). The count check reads the **singular** noun form too, closing the
gap that let `CLAUDE.md`'s "8 agent definitions" read GREEN for five minors.
**Hardened same day (#335)** after a high-effort review found 9 defects, 2 HIGH, in #334's
initial ship: the release-date check was redesigned from a single git-tag authority (unreachable
in CI, doesn't exist at release time) to **cross-file consistency** — every release-date claim
in the repo compared against every other claim, majority wins, window only opens on a heading or
version-box line, never a bare prose mention. Promoted to `error` once a clean live-repo run
(0 findings, both real claim sites reached) confirmed it. The count-prose matcher's boundary
class was fixed so hyphenated compounds (`command-line`, `agent-facing`) and markdown-bold
badges (`**48 commands**`) both classify correctly instead of misreading as counts or evading
the broad drift-tripwire scan; the offered auto-fix now anchors to the full matched span so it
can no longer corrupt surrounding prose. Check 2 (count-prose) stays `warning`.
- **Prose-staleness test harness** — `tests/fixtures/prose-staleness/` (18 fixtures across
clean / planted-defect / known-false-positive) and `tests/test_docs_staleness_prose.py`
(33 tests), a table-driven runner asserting on `--json` findings. Includes a guard that every
check keeps a planted-defect fixture, and a live-repo assertion that `count_consistency` stays
clean.

### Fixed

- **`docs-staleness-check.sh` pass 2 `[e]xclude` was a silent no-op for every Phase 7/9 finding**
— a finding's `file` field was glued `path:lineno`, breaking `is_pattern_excluded`'s
first-colon split. Split into separate `file`/`locator` fields on the finding record (predates
#334; closed alongside it).
- **`docs-staleness-check.sh` pass 2 `[f]ix` applied nothing while reporting success** — it
printed `-> Fixed` and incremented the counter without touching the file. Pass 1 had the same
bug fixed earlier (BSD `sed -i` exits 0 on no match); the sibling pass was left behind. Both now
share one `apply_line_fix`, which reports success only when the file actually changed and
refuses to execute a non-substitution `fix_detail`.
- **An unparseable release-date authority flagged every claim in the repo** instead of skipping.
The check is now vacuous unless it can establish a comparison, matching the no-tag case.
- **A broad, unscoped count scan shared the same hyphen-boundary bug** as the shaped-line check
(`"7 agents-only"` misread as `"7 agents"`) and, separately, never matched markdown-bold badges
(`**777 commands**`) — both share one boundary-character constant now.
- `docs/specs/REVIEW-repo-triage-2026-08-07.md` pointed at a GRILL doc that `b1c4426e4` had
archived, failing `test_no_broken_links` on every branch since.
- `CLAUDE.md`'s Project Structure table claimed 8 agent definitions (actual: 2 since v4.0.0);
`README.md`'s highlight block still headlined v2.36.0 at v4.5.0, and its tagline carried a
stale hard test count.

### Removed

- **Teaching Mode feature** — dead since the v4 command-prune split craft's teaching surface out
to the `scholar` plugin; residual references removed.

---

## [4.5.0] - 2026-08-07

### Added

Expand Down
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

> `/craft:finish` — renamed from `/craft:done` (ADR-006, v4.2.0, breaking) · `orchestrate:drive` — spec-driven autonomous /goal loop · `prompt-refiner` skill + `--refine` flag (9 commands) · `/craft:restore` — combined git+`.STATUS` recap

**Current Version:** v4.5.0 | **Tests:** full suite via `python3 -m pytest tests/` · tiers via `/craft:test <unit|e2e|dogfood>`
**Current Version:** v4.6.0 | **Tests:** full suite via `python3 -m pytest tests/` · tiers via `/craft:test <unit|e2e|dogfood>`

> For project details, see `plugin.json` description and `scripts/validate-counts.sh`

Expand Down Expand Up @@ -85,7 +85,7 @@ performance) · `release` (<300s, thorough). Example: `/craft:code:lint debug`.
|-----------|---------|
| `commands/` | 48 commands (auto-discovered, one `.md` per command) |
| `skills/` | 41 skills (`SKILL.md` pattern) |
| `agents/` | 8 agent definitions |
| `agents/` | 2 agent definitions |
| `tests/` | Unit, e2e, dogfood, and integration test suites |
| `scripts/` | Release, validation, and maintenance scripts |
| `utils/` | Python utilities (`claude_md_sync`, `validate-counts`, etc.) |
Expand Down
43 changes: 4 additions & 39 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@

**main:** [![Craft CI](https://github.com/Data-Wise/craft/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/Data-Wise/craft/actions/workflows/ci.yml) [![Deploy Docs](https://github.com/Data-Wise/craft/actions/workflows/docs.yml/badge.svg)](https://github.com/Data-Wise/craft/actions/workflows/docs.yml)
**dev:** [![Craft CI](https://github.com/Data-Wise/craft/actions/workflows/ci.yml/badge.svg?branch=dev)](https://github.com/Data-Wise/craft/actions/workflows/ci.yml) [![Documentation Quality](https://github.com/Data-Wise/craft/actions/workflows/docs-quality.yml/badge.svg?branch=dev)](https://github.com/Data-Wise/craft/actions/workflows/docs-quality.yml)
[![Version](https://img.shields.io/badge/version-4.5.0-brightgreen.svg)](https://github.com/Data-Wise/craft/releases)
[![Version](https://img.shields.io/badge/version-4.6.0-brightgreen.svg)](https://github.com/Data-Wise/craft/releases)

> **Docs/publishing commands moved to [`folio`](https://github.com/Data-Wise/folio)** — see
> [MIGRATION-v4.md](docs/MIGRATION-v4.md) for the old-command → new-location table.
>
> **v2.36.0 — Deterministic Workflow Engine** 🚀
> **48 commands** | **41 skills** | **2 agents** | **1994 tests passing**
> New `/craft:orch:workflow` mode runs coded, fixed-control-flow programs (`parallel`/`pipeline`/`verify`) with schema-gated agents, data-driven fan-out, a run-wide concurrency semaphore, and cached/resumable replay. Three orchestration modes now: improvise (`/craft:orch`), drive (`:drive`), and workflow (`:workflow`).
> **v4.5.0 — repo-triage skill + ecosystem-tool tutorials** 🚀
> **48 commands** | **41 skills** | **2 agents**
> New `repo-triage` skill batch-grounds open GitHub issues and stale worktrees/branches against current repo state, offering confirmed (never automatic) deletion/closure with itemized evidence and sorting the remainder into grill-ready / plan-ready / defer buckets. Plus 8 ecosystem-tool cheat-sheet tutorials (Codex, Remember, ADHD Mode, Token Optimizer, Security Guidance, Claude HUD, Dropbox, Agent Skills). See [NEWS.md](docs/NEWS.md).

A comprehensive production-ready toolkit for Claude Code featuring smart orchestration, ADHD-friendly workflows, multi-agent coordination, and complete documentation coverage.

Expand Down Expand Up @@ -196,41 +196,6 @@ Commands support execution modes for different use cases:
/craft:arch:analyze optimize # Performance analysis
```

## Teaching Mode

Specialized workflows for teaching projects with automated validation, semester tracking, and safe publishing.

**Key Features:**

- Auto-detection via `.flow/teach-config.yml` configuration
- Content validation (syllabus sections, schedule completeness, assignment files)
- Preview-before-publish workflow (draft → production branches)
- Semester progress tracking with automatic week calculation
- ADHD-friendly dashboards and output

![Teaching Workflow Demo](docs/demos/teaching-workflow.gif)

**Quick Start:**

1. Create `.flow/teach-config.yml` with course info and semester dates
2. Run `/craft:site:validate` to check content completeness
3. Publish with confidence using `/craft:site:publish`

**Example workflow:**

```bash
# Check semester progress
/craft:site:progress

# Validate content before publishing
/craft:site:validate

# Publish draft → production (with preview)
/craft:site:publish
```

**[Full Tutorial](https://data-wise.github.io/craft/tutorials/teaching-mode-setup/)** • **[Config Schema](https://data-wise.github.io/craft/teaching-config-schema/)**

## Commands (110 total)

### Workflow Commands (12)
Expand Down
10 changes: 10 additions & 0 deletions commands/dist/homebrew.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,16 @@ Detects project type and generates appropriate formula or cask:

> **Plugin formulas** are generated by the [homebrew-tap formula generator](https://github.com/Data-Wise/homebrew-tap/tree/main/docs/generator), which supports `libexec_copy_map` for nested source directories and generates the 3-step `post_install` pattern (schema cleanup, timed install, registry sync).

> **Content-only formula edits need a `revision` bump.** Editing a formula's non-version content
> in `homebrew-tap/generator/manifest.json` (e.g. fixing caveat text) without a version bump
> will not be picked up by `brew upgrade` on already-installed machines — Homebrew only checks
> `version`/`revision`, never diffs formula body content. `homebrew-tap`'s "Formula Drift Guard"
> CI check catches this and blocks the PR (`generator/check-revision-bump.sh`); fix by adding/
> incrementing `"revision": N` on the formula's manifest entry, then
> `python3 generator/generate.py <formula>`. This is separate from `/release` Step 10a's
> version+sha256 bump above, which doesn't need a revision field (the version change itself is
> what `brew upgrade` detects).

### Example Output

```
Expand Down
2 changes: 1 addition & 1 deletion commands/hub.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ Display template:

```
┌─────────────────────────────────────────────────────────────────────────┐
│ CRAFT - Full Stack Developer Toolkit v4.5.0 │
│ CRAFT - Full Stack Developer Toolkit v4.6.0 │
│ [PROJECT_NAME] ([PROJECT_TYPE]) on [GIT_BRANCH] │
│ {stats['total']} commands | {skill_count} skills | {agent_count} agents | {test_count} tests passing │
├─────────────────────────────────────────────────────────────────────────┤
Expand Down
1 change: 0 additions & 1 deletion commands/test.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ Filter tests by tier or domain using pytest markers defined in `pyproject.toml`:
| `claude_md` | CLAUDE.md sync, audit, fix |
| `branch_guard` | Branch protection hooks |
| `orchestrator` | Orchestrator workflows |
| `teaching` | Teaching mode and config |
| `commands` | Command parsing, discovery |
| `structure` | Plugin structure validation |
| `docs` | Documentation link checking |
Expand Down
Loading