Extract registry pipeline into registry.py with .template.yaml manifest
(per-file SHA256 hashes) for three-way check/update. New workflow MCP tool
with 4 actions (search, install, check, update). CLI commands: gcontext
update and gcontext search. Hide .template.yaml from list_dir/grep/walk.
Re-register module commands on update. Build script for registry.json.
113 tests (24 new in test_workflow_tool.py).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
gcontext add resolves against bleak-ai/workflows tarball (or any public
GitHub repo URL via GCONTEXT_REGISTRY); gcontext share validates locally
and prints the PR submission flow; init creates secrets.env with mode
600 and up warns if permissions are open; README updated for the new
CLI surface. Version bump to 0.5.0.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Belated commit: 0.4.3 was published to PyPI on 2026-08-04 with this
state (scripts/release.py automates the version bump and build).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- init banner: three steps (up, connect your harness, setup prompt),
manual connection block removed, padding fixed
- init seeds a README.md documenting the agent folder for humans
- README and seeded README declare uv as a prerequisite with its
one-line install (uv is a runtime dependency of the exec tools)
- version 0.4.2
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
State changes (from the maat-agent spikes):
- run_script runs saved scripts by path with args and params (PARAM_<NAME>
env vars), plus ad-hoc code; results start with a status header and a
missing-package hint points at connection.yaml deps
- commands/ folders in connections and modules register as MCP prompts
(<owner>__<command>), surfaced as slash commands; .md and .py formats
- instructions.md is pushed at connect through the MCP handshake and
declared as ledger pipe G0: one controllable file is what the agent
receives at start
- read_context/write_context renamed to read_file/write_file; new list_dir
and grep tools
- stateless HTTP: server restarts no longer strand attached clients
Removed:
- flows (never met a real use case; modules plus commands cover process
needs; design.md records the return condition)
- gcontext chat (redundant once the handshake delivers instructions); the
controlled claude invocation is documented in the README instead
- docs/templates (duplicated README sections)
- the ledger's dual chat/mcp mode, collapsed to one
Structure:
- server.py is only the MCP surface; concerns split into fs.py, exec.py,
secrets.py, state.py, ledger.py, commands.py; agent-facing tool text
lives in prompts/tools/*.md
- read-only web dashboard served at the root: overview, ledger, files,
live activity feed (web/ Vite app, bundled into the wheel)
- secrets.env is now unreadable through the agent (read guard)
39 tests. Version 0.4.0.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Local-first state manager for AI agents. One HTTP server (gcontext up),
any MCP runtime attaches by URL. Context ledger (nothing reaches the agent
invisibly), secrets isolation (names visible, values injected and scrubbed),
flows (multi-step work computed purely from files), archive convention.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>