Files
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

20 lines
561 B
Makefile

# Dashboard + package build. The Python package itself needs no Makefile;
# these targets exist because the wheel embeds the built web app.
.PHONY: web-dev web-build build test
# Vite dev server on :5179, proxying /api to a running `gcontext up` (:4242
# by default; override with VITE_API=http://127.0.0.1:<port>).
web-dev:
cd web && npm install && npm run dev
web-build:
cd web && npm install && npm run build
# Wheel + sdist. web-build first: hatchling force-includes web/dist.
build: web-build
uv build
test:
uv run --group dev python -m pytest -q