Skip to content

AgentForge v0.1.0 — Foundation

Choose a tag to compare

@kjoshi07 kjoshi07 released this 12 May 10:20
· 194 commits to main since this release

AgentForge v0.1.0 — Foundation

The first tagged release of AgentForge. v0.1.0 ships the entire
locked-contract surface, every reasoning loop, persistence,
findings, evaluators, observability, guardrails, protocols
(MCP + A2A), pipelines, chat, scaffolding, testing, and the
operational CLI — across 18 coordinated workspace packages.


Highlights

  • Three-line agent from a fresh scaffold. agentforge new smoke --template minimal && cd smoke && agentforge run "Hi"
    produces output against a real LLM. Six starter templates
    (minimal, code-reviewer, patch-bot, docs-qa, triage,
    research) ship in-wheel.
  • Locked contracts. Agent, Tool, MemoryStore,
    VectorStore, GraphStore, LLMClient, EmbeddingClient,
    Evaluator, Finding, FindingRenderer, ReasoningStrategy,
    Task, ChatHistoryStore, HistoryTruncationStrategy,
    AuthPolicy, InputValidator / OutputValidator /
    ToolCallGate — every framework ABC is frozen behind ADR-0007.
    Modules implement them; the runtime never reaches around.
  • Four reasoning loops, all stable from v0.1. ReActLoop
    (default), PlanExecuteLoop, TreeOfThoughts,
    MultiAgentSupervisor — pick by name in agentforge.yaml.
  • Full persistence stack. SQLite + Postgres + Neo4j +
    SurrealDB drivers behind MemoryStore + VectorStore +
    GraphStore, plus an InMemoryStore default and RAG
    primitives.
  • Operational CLI. agentforge run / eval / debug /
    db {migrate,backup,restore,purge,query} / health /
    config {validate,show,schema} / list modules / add /
    remove / swap module / new / upgrade / fork /
    unfork / status / docs. Exit codes locked
    (0/1/2/3/4/5).
from agentforge import Agent

async with Agent(model="bedrock:us.anthropic.claude-sonnet-4-5-20250929") as agent:
    result = await agent.run("Say hello in three words.")
    print(result.output)

What's new

Added

  • Agent orchestrator (agentforge-core + agentforge)
    with locked constructor surface (feat-001). async with
    lifecycle; record_runs=, input_validators=,
    output_validators=, tool_gates=, guardrail_policy=,
    pipeline= kwargs.
  • Reasoning strategies (feat-002): ReActLoop,
    PlanExecuteLoop, TreeOfThoughts, MultiAgentSupervisor
    all in agentforge.strategies.
  • LLM + embedding providers (feat-003): LLMClient +
    EmbeddingClient ABCs + agentforge-bedrock shipped.
  • Tools system (feat-004): @tool decorator + four
    default tools + FakeTool.
  • Persistence (feat-005): MemoryStore ABC + sqlite,
    postgres, neo4j, surrealdb drivers + VectorStore +
    GraphStore + RAG primitives.
  • Evaluators (feat-006): Coverage /
    FormatCompliance / RegressionVsBaseline / Consistency
    deterministic graders + agentforge-eval-geval with
    Correctness / Faithfulness / Groundedness /
    Hallucination / Relevance / Helpfulness LLM judges.
  • Production rails (feat-007): BudgetPolicy,
    RunContext + run_id / parent_run_id,
    idempotency_key_for, RunIdFilter, FallbackChain.
  • Findings + renderers (feat-008): SimpleFinding,
    PatchFinding, NarrativeFinding, MultiSpanFinding +
    RendererRegistry + scorecard / patch-applier / markdown /
    span-table renderers.
  • Observability (feat-009): on_step / on_finish hooks
    • error isolation + JSON log format + agentforge-otel
      with OpenTelemetryHook + framework root span.
  • Module discovery + full module CLI (feat-010):
    entry-point auto-load, Resolver.list_installed,
    agentforge list / add / remove / swap module.
  • Scaffolding (feat-011): agentforge new with six
    starter templates rendered via Copier; upgrade with
    three-way merge; fork / unfork / status.
  • Configuration system (feat-012): agentforge.yaml
    schema, env var interpolation, layered env files,
    dotted-path overrides, AGENTFORGE_CONFIG /
    AGENTFORGE_LOG_LEVEL, module-side schema integration,
    agentforge config CLI.
  • MCP integration (feat-013): agentforge-mcp package —
    MCPServerClient (stdio + HTTP/SSE), MCPServer exposer,
    MCPBridge.from_config.
  • A2A protocol (feat-014): agentforge-a2a package —
    agent_call(target, payload) client + A2AServer +
    A2ABridge.from_config; bearer + mTLS auth; canonical
    AuthPolicy in agentforge-core.
  • Pipeline + Task ABC (feat-015): agentforge.pipeline.Pipeline
    engine with DAG validation, asyncio.Semaphore
    parallelism, per-task timeouts, continue/fail modes;
    PipelineFindingsTool; Agent(pipeline=) wiring.
  • Testing framework (feat-016): agentforge.testing
    namespace (MockLLMClient, FakeTool, agent_factory,
    pytest fixtures, record_llm); agentforge-testing package
    (GoldenSetRunner, assert_snapshot, analyze_recording).
  • CLI runtime (feat-017): agentforge run (+ --replay
    / --record), eval (JSONL + JUnit), debug (REPL),
    db {migrate,backup,restore,purge,query}, health.
    MemoryStore.delete on the ABC; __step / __eval /
    __run / __pipeline reserved categories.
  • Safety guardrails (feat-018): InputValidator /
    OutputValidator / ToolCallGate ABCs + GuardrailEngine
    • four built-in basics + four vendor sister packages (LLM
      Guard, Presidio, NeMo Guardrails, Llama Guard).
  • Developer experience (feat-019): three-section
    managed/custom file format; inject_shared_scaffold post-
    render hook copies _shared/ into every new scaffold; 16
    runbooks + AGENTS.md + CLAUDE.md + .cursorrules
    shipped day-one; agentforge docs CLI.
  • Chat agents (feat-020 v0.1 scope): agentforge-chat
    package — ChatSession + InMemoryChatHistory +
    SqliteChatHistory + four truncation strategies
    (sliding-window / token-budget / summarise-oldest /
    hybrid); agentforge-chat-http package — FastAPI REST +
    WebSocket + SSE + bearer auth + cross-owner 403 + rate
    limiting.

Changed

  • Coordinated release train per ADR-0015. Every workspace
    package bumps to 0.1.0 in lockstep.
  • Release-notes scaffolding (PR #29) — every future tag
    uses .claude/templates/release-notes.md walked through
    .claude/checklists/pre-release.md.
  • Status field reconciliation (PR #28) — every shipped
    canonical spec carries an honest Status line.

Deprecated

  • agentforge_chat_http.BearerAuthPolicy — kept as an
    alias for the canonical
    agentforge_core.contracts.auth.AuthPolicy. New code should
    import the canonical name directly. Alias removal slated for
    v0.3.

Removed

  • Nothing.

Fixed

  • Nothing release-blocking; ongoing fix-while-feature work is
    captured per-PR.

Security

  • Bandit clean across every package; bandit -c pyproject.toml runs on every PR.
  • EnvBearerAuth(token_env_var) is a v0.1 placeholder
    shipped in agentforge and agentforge-chat-http.
    Production deployments are expected to implement
    AuthPolicy against a real identity provider.

Breaking changes

None. v0.1.0 is the first tag; there is no prior public
surface to break.


Migration guide

Not applicable for the first release.


Coordinated release train

Per ADR-0015, every framework release bumps every in-scope
workspace package to the same minor version simultaneously.
The release train cut on 2026-05-12 bumps every in-scope
package to 0.1.0:

Package Version Surface change
agentforge-core 0.1.0 Locked contract surface — every ABC, value type, production-rails primitive, config schema, resolver, testing harness.
agentforge 0.1.0 Runtime: Agent, four reasoning loops, in-memory store, tools system, configuration loader, recording / replay, pipeline runtime, CLI, scaffolding + six templates + 16 runbooks.
agentforge-bedrock 0.1.0 First-party LLMClient against AWS Bedrock.
agentforge-memory-sqlite 0.1.0 MemoryStore + VectorStore over SQLite via aiosqlite.
agentforge-memory-postgres 0.1.0 MemoryStore + VectorStore over Postgres via asyncpg.
agentforge-memory-neo4j 0.1.0 GraphStore + MemoryStore over Neo4j.
agentforge-memory-surrealdb 0.1.0 GraphStore + MemoryStore over SurrealDB.
agentforge-eval-geval 0.1.0 LLM-judge engine + 6 named graders.
agentforge-otel 0.1.0 OpenTelemetryHook + framework root span.
agentforge-testing 0.1.0 GoldenSetRunner, assert_snapshot, analyze_recording.
agentforge-guard-llmguard 0.1.0 LLM Guard vendor wrapper.
agentforge-guard-presidio 0.1.0 Presidio vendor wrapper.
agentforge-guard-nemo 0.1.0 NeMo Guardrails vendor wrapper.
agentforge-guard-llamaguard 0.1.0 Llama Guard vendor wrapper.
agentforge-mcp 0.1.0 MCP client + server + bridge. Production runner pending live integration test (slated for v0.2).
agentforge-chat 0.1.0 ChatSession + in-memory + SQLite history + four truncation strategies.
agentforge-chat-http 0.1.0 FastAPI server (REST + WS + SSE + bearer auth).
agentforge-a2a 0.1.0 A2A client + server + bridge + bearer / mTLS auth. Production runner pending live integration test (slated for v0.2).

Cross-language status

Per ADR-0002, Python ships first during 0.x; TypeScript catches
up to parity by v0.4.

  • Python: released as 0.1.0 on PyPI.
  • TypeScript: not yet started. The typescript/agentforge-ts/
    workspace is empty. TS parity to Python's v0.2 surface is
    slated for v0.4.

Install / upgrade

# Hello-world install
pip install "agentforge[bedrock]==0.1.0"

# Or, from a fresh scaffold
pip install agentforge==0.1.0
agentforge new my-agent --template minimal
cd my-agent
agentforge run "Hi"

Shipped features

Spec What landed in v0.1.0
feat-001 Locked Agent constructor + ABCs + value types + lifecycle.
feat-002 ReAct + Plan-Execute + ToT + Multi-Agent loops in-runtime.
feat-003 LLMClient + EmbeddingClient ABCs + named-provider registry + agentforge-bedrock.
feat-004 Tool ABC + @tool decorator + 4 default tools + FakeTool.
feat-005 Full persistence stack: 4 drivers + VectorStore + GraphStore + RAG.
feat-006 Deterministic graders + agentforge-eval-geval with 6 LLM judges.
feat-007 BudgetPolicy + RunContext + idempotency + FallbackChain.
feat-008 4 Finding variants + RendererRegistry + 4 built-in renderers.
feat-009 Hook fan-out + JSON logs + agentforge-otel. Vendor backends slated for v0.2.
feat-010 Entry-point scan + full module CLI.
feat-011 new + 6 templates + upgrade + fork / unfork / status.
feat-012 Widened root schema + env interpolation + module-side schema + agentforge config CLI.
feat-013 MCP consume + expose. Production runner slated for v0.2.
feat-014 A2A client + server + bridge + canonical AuthPolicy. Production runner + discovery + streaming slated for v0.2.
feat-015 Pipeline engine + Task ABC + PipelineFindingsTool + Agent(pipeline=) wiring.
feat-016 agentforge.testing namespace + agentforge-testing package.
feat-017 run + eval + debug + db + health + run-recording protocol.
feat-018 Guardrail ABCs + GuardrailEngine + 4 built-ins + 4 vendor wrappers.
feat-019 16 runbooks + AGENTS.md / CLAUDE.md / .cursorrules shipped day-one + agentforge docs CLI.
feat-020 ChatSession + in-memory / SQLite history + 4 truncation strategies + FastAPI chat-http server. Postgres / Redis / Slack / real per-token streaming / cross-process lock / provider-aware tokeniser slated for v0.2.

Acknowledgements

Thanks to kjoshi — designer, implementer, reviewer across
all 20 canonical specs. Generated with Claude
Code
(Anthropic) as the
primary AI co-author across every feat-NNN PR per the
Co-Authored-By: commit trailers.


Full changelog


What's next — v0.2.0 backlog

Tracked in docs/roadmap.md. Summary:

  • feat-013 — production MCP runner against a real server.
  • feat-014 — production A2A runner + discovery / registry
    • bi-directional streaming.
  • feat-020chat-history-postgres, -redis, -slack
    adapter, real per-token streaming, cross-process locking,
    provider-aware tokeniser.
  • feat-009 vendor backendslangfuse, phoenix,
    evidently, statsd.
  • Sub-feat backlog — GraphRAG hybrid retrieval, BM25 +
    vector hybrid search, Reranker ABC, schema migrations.