Commit Graph
6 Commits
Author SHA1 Message Date
bernatsamperaandClaude Fable 5 730b02197a Rework the agent surface: commands, saved scripts, handshake instructions, dashboard; drop flows and chat
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>
2026-08-01 12:08:51 +02:00
bernatsamperaandClaude Opus 4.7 0fcabc2614 Auto-pick a free port and drop the httpbin scaffold connection
When neither --port nor gcontext.yaml pin a port and the default is taken,
up picks the next free one and persists it to gcontext.yaml so the URL stays
stable. init no longer ships a toy connection; the README and init output now
walk through adding a real first connection instead.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-26 16:05:07 +02:00
bernatsamperaandClaude Opus 4.7 38617cc4c4 docs: add design rationale, modules guide, and a complete example agent
Migrates the curated material from the private lab repo: docs/design.md
(the decisions behind the framework), docs/modules.md (portable modules),
and examples/ops-agent (a grown agent folder with connections, modules,
a flow, and an archived module). README links all of it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-26 12:51:31 +02:00
bernatsamperaandClaude Opus 4.7 51e40e38af docs: adopt slogan, reframe opening around building stateful agents
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-24 08:44:35 +02:00
bernatsamperaandClaude Opus 4.7 57a8cd0f3c docs: rewrite README in a plainer, dev-oriented tone
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-24 02:03:29 +02:00
bernatsamperaandClaude Opus 4.7 63a38fb08e gcontext 0.3.0: agent state in a folder, served at a URL
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>
2026-07-24 01:55:02 +02:00