Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changelog

## Unreleased
## 0.4.0, 2026-10-03

- New `plexus pick "REQUEST"` picks a tool for a plain-language request from what each manifest emits and consumes, with a probability for every tool, and abstains when no tool matches or the top probability is under `--threshold`. On a 51-request held-out set it picked the right tool 57% of the time, abstained on 10%, and abstained requests carried 2.7 times the error of picked ones. Details and the bar set before the run: `docs/PICK.md`.
- The Claude plugin folder now carries the server code at `client-plugin/server/src/plexus/`, so an install of the folder alone starts. `python scripts/build_client_package.py --sync-vendored` rewrites that copy from `src/`, and a test fails when it drifts. The launcher no longer looks outside the plugin folder; a missing copy prints a one-line message and exits with status 1. A test keeps every code and text file under 256 KiB, images under 2 MB, and the folder at 512 files or fewer.
Expand Down
27 changes: 13 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ to consumer into a runnable pipeline. Zero runtime dependencies.
MCP tells an agent *that tools exist*. plexus tells it *how their outputs plug
into each other's inputs*: the layer above a flat tool list.

GitHub-only release install for 0.2.1 on Bash/macOS/Linux:
GitHub-only release install for 0.4.0 on Bash/macOS/Linux:

```bash
set -euo pipefail
VERSION=0.2.1
BASE="https://github.com/HarperZ9/plexus/releases/download/v0.2.1"
VERSION=0.4.0
BASE="https://github.com/HarperZ9/plexus/releases/download/v0.4.0"
WHEEL="plexus_mesh-${VERSION}-py3-none-any.whl"
SDIST="plexus_mesh-${VERSION}.tar.gz"
SUMS="SHA256SUMS.txt"
Expand Down Expand Up @@ -58,13 +58,13 @@ PY
python -m pip install "$WHEEL"
```

GitHub-only release install for 0.2.1 on native PowerShell:
GitHub-only release install for 0.4.0 on native PowerShell:

```powershell
& {
$ErrorActionPreference = "Stop"
$Version = "0.2.1"
$Base = "https://github.com/HarperZ9/plexus/releases/download/v0.2.1"
$Version = "0.4.0"
$Base = "https://github.com/HarperZ9/plexus/releases/download/v0.4.0"
$Wheel = "plexus_mesh-$Version-py3-none-any.whl"
$Sdist = "plexus_mesh-$Version.tar.gz"
$Sums = "SHA256SUMS.txt"
Expand Down Expand Up @@ -100,8 +100,8 @@ GitHub-only release install for 0.2.1 on native PowerShell:
}
```

`plexus-mesh` 0.2.2 is published on PyPI; install it with `python -m pip install plexus-mesh`. The GitHub wheel recipes above retain the available 0.2.1 GitHub Release assets. A source branch or
CI run is not a release; install from the GitHub `v0.2.1` assets only after the
`plexus-mesh` 0.4.0 is published on PyPI; install it with `python -m pip install plexus-mesh`. The GitHub wheel recipes above download the 0.4.0 GitHub Release assets and check them against `SHA256SUMS.txt`. A source branch or
CI run is not a release; install from the GitHub `v0.4.0` assets only after the
wheel, sdist, and `SHA256SUMS.txt` are attached to that release.

```
Expand Down Expand Up @@ -318,12 +318,11 @@ mesh to exactly the manifests that produced it.
## Install

```
python -m pip install plexus_mesh-0.2.1-py3-none-any.whl
python -m pip install plexus_mesh-0.4.0-py3-none-any.whl
```

Use the GitHub release asset and verify it against `SHA256SUMS.txt` first. This
repository does not claim a PyPI publication for `plexus-mesh` in the 0.2.1
track. The installed package covers declared and synthetic mesh workflows; it
Use the GitHub release asset and verify it against `SHA256SUMS.txt` first, or
install `plexus-mesh` from PyPI, which carries every release from 0.2.2 on. The installed package covers declared and synthetic mesh workflows; it
does not prove that real external lanes are live or that `probe_lane()` has been
run against owned services.

Expand Down Expand Up @@ -360,6 +359,6 @@ The long form of this belief: [The Unbundling](https://github.com/HarperZ9/flywh

Built by **[Zain Dana Harper](https://harperz9.github.io)** in Seattle: evidence-first tools that leave a re-checkable artifact behind. The full workbench is at [Project Telos](https://harperz9.github.io).

## 0.3.0 local client distribution candidate
## Local client packages

The additional [client package](client-plugin/README.md) includes portable plugin metadata and a Windows x64 MCPB/ZIP build. The source version is 0.3.0; these client packages remain unpublished candidates. Existing release installation commands above retain their released version. Native packages carry their Python runtime. No publisher backend is required.
The additional [client package](client-plugin/README.md) includes portable plugin metadata and a Windows x64 MCPB/ZIP build. Version 0.3.0 first attached these packages to its GitHub release, and a published GitHub release for each later version carries packages built from that tag. Native packages carry their Python runtime. No publisher backend is required.
2 changes: 1 addition & 1 deletion client-plugin/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@
"repository": "https://github.com/HarperZ9/plexus",
"supportUrl": "https://harperz9.github.io/plugins/plexus/support.html",
"termsOfServiceUrl": "https://harperz9.github.io/plugins/plexus/terms.html",
"version": "0.3.0"
"version": "0.4.0"
}
2 changes: 1 addition & 1 deletion client-plugin/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
"mcpServers": "./mcp.json",
"name": "plexus-local",
"skills": "./skills/",
"version": "0.3.0"
"version": "0.4.0"
}
2 changes: 1 addition & 1 deletion client-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
"description": "Show which local tools produce and consume each capability, and the route between them.",
"license": "FSL-1.1-MIT",
"name": "plexus-local",
"version": "0.3.0"
"version": "0.4.0"
}
2 changes: 1 addition & 1 deletion client-plugin/server/src/plexus/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from .registry import builtin_manifests, load_dir
from .run import pipeline_script

__version__ = "0.3.0"
__version__ = "0.4.0"

__all__ = [
"Manifest", "Port", "validate",
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "plexus-mesh"
version = "0.3.0"
version = "0.4.0"
description = "Declarative capability discovery + auto-wiring for agent toolchains: point it at tool manifests and it wires producer to consumer into an executable pipeline, every discovery edge tagged declared and citing the module its producer names. Discovery does not import or run cited tools; optional explicit probe helpers can launch owned MCP servers. Zero runtime dependencies."
readme = "README.md"
requires-python = ">=3.11"
Expand Down
2 changes: 1 addition & 1 deletion src/plexus/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from .registry import builtin_manifests, load_dir
from .run import pipeline_script

__version__ = "0.3.0"
__version__ = "0.4.0"

__all__ = [
"Manifest", "Port", "validate",
Expand Down
2 changes: 1 addition & 1 deletion tests/test_release_install_recipes.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@


ROOT = Path(__file__).resolve().parents[1]
VERSION = "0.2.1"
VERSION = "0.4.0"
WHEEL = f"plexus_mesh-{VERSION}-py3-none-any.whl"
SDIST = f"plexus_mesh-{VERSION}.tar.gz"
SUMS = "SHA256SUMS.txt"
Expand Down
8 changes: 4 additions & 4 deletions tests/test_release_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@


ROOT = Path(__file__).resolve().parents[1]
VERSION = "0.3.0"
VERSION = "0.4.0"


def test_release_identity_is_aligned():
Expand All @@ -22,12 +22,12 @@ def test_install_docs_are_github_only_and_hash_verified():

assert "Bash/macOS/Linux" in readme
assert "native PowerShell" in readme
assert "https://github.com/HarperZ9/plexus/releases/download/v0.2.1" in readme
assert "plexus_mesh-0.2.1-py3-none-any.whl" in readme
assert "https://github.com/HarperZ9/plexus/releases/download/v0.4.0" in readme
assert "plexus_mesh-0.4.0-py3-none-any.whl" in readme
assert "SHA256SUMS.txt" in readme
assert "Get-FileHash -Algorithm SHA256" in readme
assert "Invoke-WebRequest" in readme
assert "`plexus-mesh` 0.2.2 is published on PyPI" in readme
assert "`plexus-mesh` 0.4.0 is published on PyPI" in readme
assert "pip install git+https://github.com/HarperZ9/plexus.git" not in readme


Expand Down
Loading