Commit Graph
24 Commits
Author SHA1 Message Date
bernatsampera 07c8b76906 feat: solve command visibility 2026-08-09 18:19:07 +02:00
bernatsamperaandClaude Opus 4.6 87d8575829 Fix template example runs: use per-step folders instead of flat files
The workflow spec requires one folder per step inside runs/example/
(e.g. 1-intake/results.md), not flat files. Fixed browser-recipes,
seo-pipeline, and support-ops. release-ops was already correct.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-08-09 18:16:25 +02:00
bernatsamperaandClaude Opus 4.6 5fa3f6bffd Add gcontext share command and submission status endpoint
CLI command validates a local template folder against the workflow standard
(frontmatter, steps/, runs/example/), bundles files, and POSTs to the
marketplace API. --status mode queries GET /api/workflows/{id}/status.
16 new tests (suite 68 -> 84).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-08-09 18:16:12 +02:00
bernatsamperaandClaude Opus 4.6 3b3e7da2a3 Add publish endpoint to re-approve rejected workflows
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-08-09 12:30:31 +02:00
bernatsamperaandClaude Opus 4.6 9a4ada1614 Add unpublish endpoint to moderation router
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-08-09 02:36:26 +02:00
bernatsamperaandClaude Opus 4.6 061972e91a Add admin CRUD endpoints for the marketplace dashboard (task 11)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-08-09 02:17:41 +02:00
bernatsamperaandClaude Fable 5 a055826477 Release 0.4.4: the gcontext add install command
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 18:11:02 +02:00
bernatsamperaandClaude Fable 5 7466c0dbfc Add gcontext add <workflow-id> install command (marketplace task 4)
Fetches one approved template bundle from the workflows API and
installs it as a new module. Frontmatter id names the folder, unsafe
paths rejected before any write, existing modules are never
overwritten (installs are snapshots). API base overridable with the
GCONTEXT_API_URL env var; stdlib only. 7 tests against a local HTTP
stub.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 17:51:17 +02:00
bernatsamperaandClaude Fable 5 ff9a6a256d Add release script and bump version to 0.4.3
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>
2026-08-08 17:51:17 +02:00
bernatsamperaandClaude Fable 5 9b4b82b860 Remove templates/ staging folder; the workflows API now hosts coolify-ops
Per the amended hosting decision: repo staging ended once the API
serves the template (verified byte-identical at api.gcontext.ai).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 13:19:04 +02:00
bernatsamperaandClaude Fable 5 aca7523754 Add workflows API, the marketplace backend (marketplace task 3b)
FastAPI + Postgres service that stores workflow templates as file
bundles with indexed manifest fields, submit-for-review publishing,
and moderation endpoints behind an admin token.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 13:15:47 +02:00
bernatsamperaandClaude Fable 5 63f5f4cebd Add coolify-ops, the first workflow template (marketplace task 3)
Created from the lived module with the share-workflow skill: manifest,
steps, seed playbook, setup command, and a fabricated example run.
Staged in templates/ until the workflows API (task 3b) hosts it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 12:41:59 +02:00
bernatsamperaandClaude Fable 5 f398e01e29 Add workflow template standard and share-workflow authoring skill
docs/workflows.md defines the contract for distributable context-based
workflows: frontmatter manifest, steps/, runs/ with workflow-defined run
naming, the example run at runs/example/, and the setup command contract.
docs/share-workflow.md guides an author's agent through turning a lived
workflow into a template that passes that spec. Both linked from the README.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 11:42:03 +02:00
bernatsamperaandClaude Opus 4.6 d29ef972b1 Fix hardcoded server name in Commands slash command invocation
The command invocation used "gcontext" instead of the dynamic server
name from /api/project, so copied slash commands were wrong for
non-default instance names.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-08-05 11:43:33 +02:00
bernatsampera bc51b04c31 Add framework prompts to Commands dashboard and clarify setup guidance
- Expose built-in framework prompts alongside project commands/ files
  in the /api/commands endpoint and Commands.jsx UI, grouped by owner.
- Tighten setup.md so approvals aren't re-asked for explicitly requested
  items and agent.md is written without confirmation.
- Document commands/ folders and module portability rules in
  framework-instructions.md; trim duplicated conventions from
  docs/modules.md in favor of that single source.
2026-08-04 19:20:51 +02:00
bernatsamperaandClaude Fable 5 3cf2441552 Rework init onboarding and release 0.4.1/0.4.2
- 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>
2026-08-02 14:35:58 +02:00
bernatsamperaandClaude Fable 5 e15e45dd61 Flat layout, agent-executed setup, write approvals, and the display arc
One name per role: src/gcontext moves to gcontext/ (flat layout), the
instructions files split into framework-instructions.md (G0) and the
project's agent.md (G1). Adds the built-in describe-first setup prompt,
state files as MCP resources (gcontext://<path>), and --version.

Exec: run_script splits into run_script and run_adhoc_script; results are
plain readable text with a status line, output_schema=None on all six
tools kills the {"result": ...} wrapper. 100k-char stream caps.

Writes: connection.yaml is agent-writable (only secrets.env stays
blocked), write_file returns a unified diff and warns on index.md drift,
and the instructions require user approval before every write. New
learn-from-errors rule records fail-then-fix lessons where they belong.

Fixes: secrets.load() strips surrounding quotes (quoted tokens caused
misleading 401s). Tests: 61 passing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-01 16:47:28 +02:00
bernatsampera 0f3062ff39 Update documentation and refine tool descriptions
- Corrected the number of tools available to connected clients in README.md from six to five.
- Updated design.md to clarify the context ledger and its components.
- Revised modules.md to reflect changes in how modules are discovered and interacted with.
- Adjusted references to the `overview()` tool, replacing it with `list_dir()` in various documentation files.
- Removed the now obsolete `overview` tool from the codebase and updated related tests accordingly.
- Enhanced user interface components in the web application, including the addition of new sections for commands and connections.
- Introduced a new CopyPrompt component for easier prompt copying across the application.

These changes improve clarity and usability for developers interacting with the gcontext framework.
2026-08-01 13:11:46 +02:00
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