1.9.0
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-OSwfCLI and flips the MCP/hook commands topython— sosetup/ upgrade makespythonresolve: a~/.local/bin/python→python3symlink on macOS/Linux (a symlink, never a shell alias, and never clobbering an existingpython), native on Windows. Drive the upgrade withwave_upgrade()(MCP) orwf 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
commandis the byte-identicalpython; the Windows re-exec into the tool venv uses a subprocess relay (neveros.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.exevsbin/python) resolves in one place; rendered surfaces are written with byte-fixed line endings on every host; and a repo.gitattributespins shebang-bearing files to LF (andwf.cmdto CRLF) soautocrlfcan'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) andCLAUDE_CODE_CERT_STORE(Claude Code) — ahead ofSSL_CERT_FILE/REQUESTS_CA_BUNDLE, used proactively when set, with the OS platform stores and thecertifidefault as the ordered fallbacks. Verification stays on throughout; only the trusted CA bundle changes.
Changed
- One cross-OS
wfoperator CLI replaces the nine.wavefoundry/bin/*wrappers. The bash-onlydocs-lint,docs-gardener,wave-gate,update-indexes,lifecycle-id,wave-dashboard,upgrade-wavefoundry,setup-wavefoundry, andmcp-serverlaunchers are retired in favor of a single self-bootstrappingwfdispatcher behind awf(bash) +wf.cmd(Windows) shim pair, so the operator CLI runs identically on macOS, Linux, and native Windows. Usewf docs-lint,wf docs-gardener,wf gate open|close|status,wf dashboard,wf update-indexes,wf lifecycle-id,wf upgrade, andwf setup(runwf --helpfor the list).wf setupstays 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
wfCLI — 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 withwave_upgrade_status()); the manual procedure is relabeled the no-MCPwf upgradeCLI fallback.wave_upgradeandwave_upgrade_statusare now listed in the available-tools surface, andwave_upgrade_statusis 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/*→wfcutover); 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.