Skip to content

1.9.0

Choose a tag to compare

@coryhacking coryhacking released this 25 Jun 19:10

Install

Drop the attached .zip at your repo root without extracting it — the agent unpacks it as the first step. Then type this shortcut phrase as a chat message to your AI agent (Claude Code, Cursor, Codex, Junie, GitHub Copilot, Windsurf, Air, or Warp):

Install Wavefoundry

That is the only operator-typed command — the agent runs the rest of the install. Prerequisites: Python 3.11+, an MCP-aware agent host. Full walkthrough and host-specific notes in the README.

Upgrade

Already running Wavefoundry? Drop the attached .zip at your repo root without extracting it and type this shortcut phrase to your agent:

Upgrade Wavefoundry

The agent unpacks the zip, advances the framework, runs any required migrations and index rebuilds, and reloads the MCP server. Review the version notes below for anything that re-indexes or changes behavior on this upgrade.


Native Windows (no WSL2), and a single runtime surface. Every committed launcher and config now names one byte-identical command: "python" and runs from a single checkout on macOS, Linux, and native python.org-Windows for CLI hosts. Upgrading retires the nine .wavefoundry/bin/* wrappers for one cross-OS wf CLI and flips the MCP/hook commands to python — so setup / upgrade makes python resolve: a ~/.local/bin/pythonpython3 symlink on macOS/Linux (a symlink, never a shell alias, and never clobbering an existing python), native on Windows. Drive the upgrade with wave_upgrade() (MCP) or wf upgrade. GUI-launched hosts that don't inherit the shell PATH use the printed absolute-venv-path fallback.

Added

  • Native Windows support without WSL2 (CLI hosts). The MCP server, hooks, git hooks, and operator CLI run from a single committed checkout on native python.org-Windows. The committed command is the byte-identical python; the Windows re-exec into the tool venv uses a subprocess relay (never os.execv, which the CRT emulates as spawn-then-exit and would orphan the host's stdio pipe → an MCP crash); the venv layout (Scripts\python.exe vs bin/python) resolves in one place; rendered surfaces are written with byte-fixed line endings on every host; and a repo .gitattributes pins shebang-bearing files to LF (and wf.cmd to CRLF) so autocrlf can't corrupt them.
  • Host-agent TLS CA discovery for model downloads. The model-fetch trust-store fallback now also honors the host coding agent's own CA bundle — CODEX_CA_CERTIFICATE (Codex) and CLAUDE_CODE_CERT_STORE (Claude Code) — ahead of SSL_CERT_FILE/REQUESTS_CA_BUNDLE, used proactively when set, with the OS platform stores and the certifi default as the ordered fallbacks. Verification stays on throughout; only the trusted CA bundle changes.

Changed

  • One cross-OS wf operator CLI replaces the nine .wavefoundry/bin/* wrappers. The bash-only docs-lint, docs-gardener, wave-gate, update-indexes, lifecycle-id, wave-dashboard, upgrade-wavefoundry, setup-wavefoundry, and mcp-server launchers are retired in favor of a single self-bootstrapping wf dispatcher behind a wf (bash) + wf.cmd (Windows) shim pair, so the operator CLI runs identically on macOS, Linux, and native Windows. Use wf docs-lint, wf docs-gardener, wf gate open|close|status, wf dashboard, wf update-indexes, wf lifecycle-id, wf upgrade, and wf setup (run wf --help for the list). wf setup stays on the system interpreter pre-symlink so a fresh bootstrap still works.
  • Single runtime execution surface. Every framework entry point — the MCP server, setup, upgrade, indexer, hooks, git hooks, and the wf CLI — self-bootstraps into the shared tool venv through one resolver; no config, launcher, hook body, or spawner re-derives the venv path (enforced by a standing scan). Inner spawns use the running interpreter, so the whole fleet stays on the venv Python.
  • MCP-first upgrade routing. The upgrade guidance now leads with the wave_upgrade() MCP tool (poll/inspect with wave_upgrade_status()); the manual procedure is relabeled the no-MCP wf upgrade CLI fallback. wave_upgrade and wave_upgrade_status are now listed in the available-tools surface, and wave_upgrade_status is documented in the MCP tool spec.
  • Minor-bump reconciliation recommendation. A major/minor framework upgrade now surfaces a recommendation to reconcile local surfaces that referenced a changed or retired framework surface (e.g. the .wavefoundry/bin/*wf cutover); patch bumps do not surface it.
  • Git hooks, line endings, and the dashboard daemon are cross-OS. The commit/merge incremental-reindex git hooks route through the shared bootstrap (so native-Windows git fires them), and the local dashboard self-daemonizes in Python with an OS-correct detach instead of a bash-only nohup.