From bb20104e2f74cbc05e9bfecb3ccafe0da58e0fbc Mon Sep 17 00:00:00 2001 From: Deep-Sixed Date: Sun, 6 Sep 2026 07:01:52 -0400 Subject: [PATCH 1/5] Add temporary branding sync workflow --- .github/workflows/branding-sync-temp.yml | 48 ++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/branding-sync-temp.yml diff --git a/.github/workflows/branding-sync-temp.yml b/.github/workflows/branding-sync-temp.yml new file mode 100644 index 0000000..0f82ce7 --- /dev/null +++ b/.github/workflows/branding-sync-temp.yml @@ -0,0 +1,48 @@ +name: Branding sync temporary + +on: + push: + branches: + - docs/standardize-contextmesh-branding + +permissions: + contents: write + +jobs: + sync: + if: github.actor != 'github-actions[bot]' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Standardize ContextMesh branding + run: | + python - <<'PY' + from pathlib import Path + + files = [Path('README.md'), Path('RELEASE_NOTES.md'), Path('pyproject.toml')] + for path in files: + text = path.read_text(encoding='utf-8') + text = text.replace('Deep-Sixed/Context-Mesh', 'Deep-Sixed/ContextMesh') + if path.name in {'README.md', 'RELEASE_NOTES.md'}: + text = text.replace('Context Mesh', 'ContextMesh') + if path.name == 'README.md': + text = text.replace('cd Context-Mesh', 'cd ContextMesh') + if path.name == 'RELEASE_NOTES.md': + text = text.replace( + 'The release tag and any package publication are separate explicit gates after the\nrelease-candidate audit passes.', + 'Package publication remains a separate explicit gate.', + ) + path.write_text(text, encoding='utf-8') + PY + git diff --check + git diff -- README.md RELEASE_NOTES.md pyproject.toml + - name: Commit branding changes + run: | + git config user.name 'github-actions[bot]' + git config user.email '41898282+github-actions[bot]@users.noreply.github.com' + git add README.md RELEASE_NOTES.md pyproject.toml + git diff --cached --quiet && exit 0 + git commit -m 'Standardize ContextMesh branding' + git push From e0d362dd0658d5cd08f63bc4053c00b81b267b4b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 6 Sep 2026 11:01:59 +0000 Subject: [PATCH 2/5] Standardize ContextMesh branding --- README.md | 18 +++++++++--------- RELEASE_NOTES.md | 7 +++---- pyproject.toml | 6 +++--- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index c22144e..8f20e4a 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -# Context Mesh +# ContextMesh > One graph · six node types · every answer walks a path you can read -Context Mesh is a typed context graph for long-running agents. It keeps not only +ContextMesh is a typed context graph for long-running agents. It keeps not only *what* is connected, but *why* — where a claim came from, what a decision rested on, and what stops being true when an assumption fails. -![The Context Mesh dashboard: build path, the live typed graph, hop budget, edge +![The ContextMesh dashboard: build path, the live typed graph, hop budget, edge ledger, walk-vs-flat token cost, the traversal grid and the dead-end ledger](docs/img/dashboard.png) Every panel above is a query against the graph — the node counts, the hop @@ -23,8 +23,8 @@ Windows, `open dashboard/index.html` on macOS, or `xdg-open dashboard/index.html` on Linux. ```bash -git clone https://github.com/Deep-Sixed/Context-Mesh -cd Context-Mesh +git clone https://github.com/Deep-Sixed/ContextMesh +cd ContextMesh python -m contextmesh demo # build, walk, break an assumption, report python -m contextmesh ask "Why did the Index Builder run out of memory?" @@ -700,7 +700,7 @@ crash after publication -> the new generation is named, and complete Superseded files are swept after the commit, so an interrupted save costs disk rather than correctness. The guarantee is reader-visible and tested as such: a -Context Mesh reader holding the old committed manifest open across a save still +ContextMesh reader holding the old committed manifest open across a save still reads the previous generation whole while another process publishes the next one. **Generations are atomic against a crash. They do nothing against a second @@ -905,7 +905,7 @@ state and the client supplies none; `mesh_repair` can select only deployment-owned `TaskRegistry` keys already registered — no callable, module path or import string crosses MCP; `mesh_resume` delegates to the native selective scheduler, rerunning only pending or stale work. Submitting evidence -and letting Context Mesh decide is the different thing a rejection tool would +and letting ContextMesh decide is the different thing a rejection tool would not have been. Each write commits through `writes.commit_mutation`: the mutation runs against @@ -1027,8 +1027,8 @@ case. An address that is not listed and not a no-reply still fails. ## Where it fits -Context Mesh complements retrieval and agent memory rather than replacing them. -Retrieval supplies the source material; memory supplies history; Context Mesh +ContextMesh complements retrieval and agent memory rather than replacing them. +Retrieval supplies the source material; memory supplies history; ContextMesh supplies the typed relations and the provenance that make an answer auditable — and, on this corpus, does it for about 0.7% of the tokens flat top-k would spend, because it sends the nodes on the path instead of the top forty chunks. diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index ab029bb..1f2cb90 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,6 +1,6 @@ -# Context Mesh v0.1.0 +# ContextMesh v0.1.0 -`v0.1.0` is the first public technical release of Context Mesh. It is intentionally not +`v0.1.0` is the first public technical release of ContextMesh. It is intentionally not a 1.0 stability claim. ## Included @@ -20,5 +20,4 @@ extra requires Python 3.10+ and is installed with `contextmesh[mcp]`. The stdio server is a single-session-per-process deployment model, not a shared multi-tenant service. -The release tag and any package publication are separate explicit gates after the -release-candidate audit passes. +Package publication remains a separate explicit gate. diff --git a/pyproject.toml b/pyproject.toml index 5000b7e..900b624 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,9 +21,9 @@ dependencies = [] mcp = ["mcp>=2"] [project.urls] -Homepage = "https://github.com/Deep-Sixed/Context-Mesh" -Repository = "https://github.com/Deep-Sixed/Context-Mesh" -Issues = "https://github.com/Deep-Sixed/Context-Mesh/issues" +Homepage = "https://github.com/Deep-Sixed/ContextMesh" +Repository = "https://github.com/Deep-Sixed/ContextMesh" +Issues = "https://github.com/Deep-Sixed/ContextMesh/issues" [project.scripts] contextmesh = "contextmesh.cli:main" From 3fb51a1e19037937e5647caabffb57540672d615 Mon Sep 17 00:00:00 2001 From: Deep-Sixed Date: Sun, 6 Sep 2026 07:02:38 -0400 Subject: [PATCH 3/5] Remove temporary branding sync workflow --- .github/workflows/branding-sync-temp.yml | 48 ------------------------ 1 file changed, 48 deletions(-) delete mode 100644 .github/workflows/branding-sync-temp.yml diff --git a/.github/workflows/branding-sync-temp.yml b/.github/workflows/branding-sync-temp.yml deleted file mode 100644 index 0f82ce7..0000000 --- a/.github/workflows/branding-sync-temp.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Branding sync temporary - -on: - push: - branches: - - docs/standardize-contextmesh-branding - -permissions: - contents: write - -jobs: - sync: - if: github.actor != 'github-actions[bot]' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Standardize ContextMesh branding - run: | - python - <<'PY' - from pathlib import Path - - files = [Path('README.md'), Path('RELEASE_NOTES.md'), Path('pyproject.toml')] - for path in files: - text = path.read_text(encoding='utf-8') - text = text.replace('Deep-Sixed/Context-Mesh', 'Deep-Sixed/ContextMesh') - if path.name in {'README.md', 'RELEASE_NOTES.md'}: - text = text.replace('Context Mesh', 'ContextMesh') - if path.name == 'README.md': - text = text.replace('cd Context-Mesh', 'cd ContextMesh') - if path.name == 'RELEASE_NOTES.md': - text = text.replace( - 'The release tag and any package publication are separate explicit gates after the\nrelease-candidate audit passes.', - 'Package publication remains a separate explicit gate.', - ) - path.write_text(text, encoding='utf-8') - PY - git diff --check - git diff -- README.md RELEASE_NOTES.md pyproject.toml - - name: Commit branding changes - run: | - git config user.name 'github-actions[bot]' - git config user.email '41898282+github-actions[bot]@users.noreply.github.com' - git add README.md RELEASE_NOTES.md pyproject.toml - git diff --cached --quiet && exit 0 - git commit -m 'Standardize ContextMesh branding' - git push From 5a4563ea5b6fbdbce326aeb5d5411a0bdc14c561 Mon Sep 17 00:00:00 2001 From: Deep-Sixed Date: Sun, 6 Sep 2026 07:03:03 -0400 Subject: [PATCH 4/5] Add temporary release branding workflow --- .github/workflows/release-branding-temp.yml | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/release-branding-temp.yml diff --git a/.github/workflows/release-branding-temp.yml b/.github/workflows/release-branding-temp.yml new file mode 100644 index 0000000..4b98724 --- /dev/null +++ b/.github/workflows/release-branding-temp.yml @@ -0,0 +1,24 @@ +name: Release branding temporary + +on: + push: + branches: + - docs/standardize-contextmesh-branding + +permissions: + contents: write + +jobs: + update-release: + if: github.actor != 'github-actions[bot]' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Update v0.1.0 release branding + env: + GH_TOKEN: ${{ github.token }} + run: | + gh release edit v0.1.0 \ + --repo "$GITHUB_REPOSITORY" \ + --title "ContextMesh v0.1.0" \ + --notes-file RELEASE_NOTES.md From f2187726516356eb350a99ccce7b95d2355fdcfa Mon Sep 17 00:00:00 2001 From: Deep-Sixed Date: Sun, 6 Sep 2026 07:03:37 -0400 Subject: [PATCH 5/5] Remove temporary release branding workflow --- .github/workflows/release-branding-temp.yml | 24 --------------------- 1 file changed, 24 deletions(-) delete mode 100644 .github/workflows/release-branding-temp.yml diff --git a/.github/workflows/release-branding-temp.yml b/.github/workflows/release-branding-temp.yml deleted file mode 100644 index 4b98724..0000000 --- a/.github/workflows/release-branding-temp.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: Release branding temporary - -on: - push: - branches: - - docs/standardize-contextmesh-branding - -permissions: - contents: write - -jobs: - update-release: - if: github.actor != 'github-actions[bot]' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Update v0.1.0 release branding - env: - GH_TOKEN: ${{ github.token }} - run: | - gh release edit v0.1.0 \ - --repo "$GITHUB_REPOSITORY" \ - --title "ContextMesh v0.1.0" \ - --notes-file RELEASE_NOTES.md