This inventory describes the source tree as reviewed on 2026-10-15. A website chapter link does not mean every feature in that chapter is implemented. None of the entries below is a runtime pass claim.
- Demonstrated behavior identifies the actual code path, including explicit fixtures and failure scenarios.
- Additional entry points are separate runnable scenarios in an existing Maven module; they do not create extra Maven modules.
- Limits identify deliberately small examples, incomplete feature families and integration behavior that still requires validation.
- All new and existing Java source imports are explicit. The catalog check rejects wildcard imports in main and test sources.
| Module | Demonstrated behavior | Limits |
|---|---|---|
| argi-adapter-example/agentscope | Wraps an AgentScope OpenAI-compatible model in the neutral ARGI ChatClient. Asynchronous completion, capability-gated streaming, one-event demand, final-response handling, terminal failures and cancellation on timeout. |
Adapter-level capability flags, async completion and demand-controlled streams are demonstrated. Model-specific features and native SDK interoperability have not been exercised. |
| argi-adapter-example/google-adk | Uses the Google ADK Apigee OpenAI-compatible transport through an ARGI adapter. Asynchronous completion, capability-gated streaming, one-event demand, final-response handling, terminal failures and cancellation on timeout. |
Adapter-level capability flags, async completion and demand-controlled streams are demonstrated. Model-specific features and native SDK interoperability have not been exercised. |
| argi-adapter-example/langchain4j | Wraps LangChain4j chat and streaming models in the neutral ARGI ChatClient. Asynchronous completion, capability-gated streaming, one-event demand, final-response handling, terminal failures and cancellation on timeout. |
Adapter-level capability flags, async completion and demand-controlled streams are demonstrated. Model-specific features and native SDK interoperability have not been exercised. |
| argi-adapter-example/spring-ai | Wraps a Spring AI OpenAI-compatible model in the neutral ARGI ChatClient. Asynchronous completion, capability-gated streaming, one-event demand, final-response handling, terminal failures and cancellation on timeout. |
Adapter-level capability flags, async completion and demand-controlled streams are demonstrated. Model-specific features and native SDK interoperability have not been exercised. |
| argi-agent-example/a2a | Discovers a remote A2A agent card and delegates a task over the A2A protocol. | Remote client delegation; no A2A server, authentication flow, task resubscription or transport failure matrix. |
| argi-agent-example/agent-as-tool | Registers a specialist as a neutral Tool, letting a coordinator delegate work. Typed specialist input, generated tool schema and explicit child context/reasoning boundaries. |
In-process delegation; no distributed authorization or remote agent lifecycle. |
| argi-agent-example/agent-hitl | Pauses tool calls and accepts approved, rejected, or edited human feedback. | Read-only tracking tool approval; no real financial side effect or review UI. |
| argi-agent-example/agentic-rag | Makes retrieval an agent tool and adds evidence through a MessagesModelHook. Stable source labels, deterministic local retrieval and no-match behavior; retrieval tools and evidence injection have separate implementations. |
Small keyword corpus; no production ranking benchmark, vector retrieval or citation correctness guarantee. |
| argi-agent-example/builtin-tools | Registers built-in filesystem, search, and todo tools with neutral bindings. | Filesystem, glob, grep and todo tools; not every upstream built-in tool is registered. |
| argi-agent-example/context-compaction | Uses SummarizationHook to bound model context while retaining recent turns. Long synthetic project history crosses the summary threshold; the scenario checks the summary marker and preservation of the first user message. |
Summary content depends on the real model; input size is estimated and no token-cost saving is claimed. |
| argi-agent-example/context-engineering | Preserves per-thread conversation history and enforces model call budgets. Interleaved customer threads demonstrate isolation and per-thread budget exhaustion. |
In-memory checkpoints and model-call limits; no cross-process session durability. |
| argi-agent-example/hooks-and-retries | Combines PII redaction, model/tool budgets, and bounded retries for read-only tools. An explicit fail-once read tool exercises retry rather than merely installing retry configuration. |
Retry is limited to a read-only fixture. Non-idempotent tool recovery requires a separate design. |
| argi-agent-example/interceptors | Custom model and tool interceptors measure duration and cache a read-only lookup. Primary/fallback model configuration; outbound context editing; tool selection; explicitly synthetic tool emulation; assistant-message sanitization and tool-exception conversion. |
Emulation is synthetic; fallback occurs only after a primary failure. RC2 ToolError returns diagnostic text without setting an error status. |
| argi-agent-example/multi-agent | Parallel reviewers feed sequential writing and a bounded revision loop. Custom deterministic merge strategy, bounded parallel reviewers and a condition-based revision loop capped at three iterations. |
Local composition; convergence and review quality depend on model responses. The revision loop has an explicit ceiling. |
| argi-agent-example/planner | Produces validated direct or decomposed plans from an explicit capability catalog. Application-owned capability catalog; valid dependency chains; rejection of unregistered targets, missing dependencies, duplicate IDs and cycles. |
Plans are validated data. No trusted executor, scheduling or plan-result persistence is implemented here. |
| argi-agent-example/react-tools | Runs a ReAct tool loop against a local order-tracking catalog. Tool schema and argument validation; malformed JSON and missing records; unknown registry bindings; result/call identity; direct tool return. |
A local order repository; no commerce API or irreversible order mutation. |
| argi-agent-example/routing-streaming | Uses LLM routing to choose a specialist and demonstrates neutral streamed messages. | Model-selected specialists with a fallback; no routing accuracy evaluation or provider-event matrix. |
| argi-agent-example/skills | Loads packaged skills, decorates neutral prompts, and exposes progressive skill disclosure. | One packaged skill and progressive disclosure; no untrusted remote skill installation. |
| argi-agent-example/structured-output | Selects schema enforcement according to adapter capabilities and validates the parsed domain record. Explicit response format and ReactAgent outputType; domain validation rejects missing/extra fields, wrong types and out-of-range priorities. |
A ticket schema; provider schema adherence remains model-dependent, so application validation is mandatory. |
| argi-agent-example/studio-chatbot | Publishes a stateful agent bean through the embedded ARGI Studio. | An embedded Studio agent bean; no UI E2E validation, authentication deployment or multi-tenant setup. |
| argi-agent-example/support-workflow | Embeds a ReAct writer in a deterministic support workflow with human review. Validated ticket input, draft inspection, separate approved/rejected threads and reviewer metadata persisted before resume. |
Draft and review state only; no email is sent and no external refund is issued. |
| argi-extensions-example/a2a-nacos | Resolves an A2A agent by registered name in Nacos before delegation. | Nacos-backed agent discovery and delegation; no service failover or registration lifecycle validation. |
| argi-extensions-example/docker-execution | Executes a fixed Python calculation through the Extensions Docker code executor. | One explicit Python execution; no container startup during authoring, resource-pressure test or image lifecycle automation. |
| argi-extensions-example/document-parsing | Parses UTF-8 text and JSON records while preserving source metadata. Caller-selected JSON/text files, packaged input fixtures, source metadata projection and blank-document filtering. |
JSON and UTF-8 text; PDF, Office, image OCR and upstream parser plugins are not included. |
| argi-extensions-example/http-node | Retrieves an HTTP order resource as a graph step with explicit timeout and network policy. | One HTTP GET with timeout and network policy; POST, authentication refresh and status-dependent routing are not covered. |
| argi-extensions-example/jdbc-chat-memory | Persists a bounded Spring AI conversation with the Extensions H2 repository. H2-backed window eviction, reopening a facade, conversation isolation and deletion without affecting another conversation. |
Local H2 message storage; no remote JDBC outage or load experiment. |
| argi-extensions-example/jdbc-checkpoint | Restores a pending approval through an H2 JDBC checkpoint saver and a new graph. | Local H2 recovery; no production JDBC migration, contention or failover experiment. |
| argi-extensions-example/mcp-client | Initializes a Streamable HTTP MCP client and enumerates all tool pages. Read-only invocation of the companion lookup tool, advertised-tool checks and protocol error handling. |
Streamable HTTP discovery and the companion read-only tool; no OAuth, resource subscriptions or prompt APIs. |
| argi-extensions-example/mcp-discovery | Discovers registered MCP tools through Nacos and adapts callbacks for ReAct. | Tool discovery and callback adaptation; no registry failover, service churn or credential refresh test. |
| argi-extensions-example/mcp-gateway | Aggregates Nacos MCP services into independently routed SSE and Streamable endpoints. | Starter-driven endpoint composition; no gateway authorization or routing E2E test. |
| argi-extensions-example/mcp-registry | Publishes a read-only MCP tool and registers the server in Nacos. | One annotated catalog tool registered in Nacos; no authenticated public server deployment. |
| argi-extensions-example/mcp-router | Exposes semantic MCP routing tools to a neutral ARGI agent. | Semantic MCP routing; no routing-quality evaluation or service-outage matrix. |
| argi-extensions-example/mem0-memory | Writes semantic memories to Mem0 and retrieves them with an explicit user scope. | Semantic write/search for one example user; no deletion, reconciliation or extraction-quality evaluation. |
| argi-extensions-example/memory-backends | Profile-selected Redis, MongoDB, Elasticsearch, TableStore, Memcached, and JDBC chat repositories. Message-window eviction, a recreated facade, conversation isolation and targeted cleanup against the selected repository. |
Backend profiles share one contract scenario. No backend connectivity, consistency, TTL or failure behavior has been verified. |
| argi-extensions-example/mongodb-checkpoint | Persists neutral graph state in the Extensions MongoDB checkpoint saver. Fresh saver and graph read pending checkpoints, apply one approval, inspect history and leave another thread pending. |
Restoration uses fresh saver objects on one client; database restart, replica failover and concurrent writers remain unverified. |
| argi-extensions-example/nacos-prompt | Loads and watches a configurable prompt through Nacos and the Extensions prompt factory. | Prompt loading and refresh listener; no configuration-center outage or rollback experiment. |
| argi-extensions-example/rag-retrieval | Expands a query with HyDE and retrieves evidence through the RAG graph node. | HyDE and graph retrieval; no reranker, hybrid retrieval, answer evaluation or ingestion lifecycle. |
| argi-extensions-example/redis-checkpoint | Stores and reloads neutral graph checkpoints with the Extensions Redis saver. Fresh saver and graph read pending checkpoints, apply one approval, inspect history and leave another thread pending. |
Restoration uses fresh saver objects on one client; Redis restart, TTL expiry and cluster failover remain unverified. |
| argi-extensions-example/sandbox-tools | Adapts an Extensions sandbox Python tool into a neutral ReAct agent. | Python sandbox tool integration; no sandbox provisioning or full browser/desktop tool catalog. |
| argi-extensions-example/tair-vector-store | Writes real embeddings to a Tair Vector index and searches for relevant documents. | Tair indexing and search; no index administration, replication or failure-mode matrix. |
| argi-extensions-example/vector-backends | Profile-selected AnalyticDB, OceanBase, OpenSearch, TableStore, and Tair indexing and search. Three labelled documents, neutral search result projection, optional metadata filtering and opt-in deletion of example IDs. |
Backend support for filters, deletion, upsert and index refresh differs. Optional operations require a compatible backend. |
| argi-graph-example/cancellation | Cancels exactly one graph subscription and releases its asynchronous worker. | Subscription cancellation and worker cleanup; provider-side billing cancellation is not demonstrated. |
| argi-graph-example/conditional-routing | Routes support tickets into urgent and normal queues using conditional edges. Both route outcomes and the severity threshold are exercised by a dedicated scenario. |
Deterministic severity routing; model-based routing lives in routing-streaming. |
| argi-graph-example/hello-graph | A two-step model-free workflow that normalizes a name and creates a greeting. | Introductory two-node graph only; it deliberately has no application service or model. |
| argi-graph-example/hitl | InterruptableAction requests missing feedback and resumes the same node. | One dynamic review decision; no browser review queue or approval identity provider. |
| argi-graph-example/human-in-the-loop | Pauses before a refund decision and resumes from the same checkpoint. Two independently paused requests receive different approval decisions before resuming. |
Approval changes example state; it does not issue a real refund. |
| argi-graph-example/observation | Records graph observations with a local Micrometer handler and no telemetry backend. | Successful local observation lifecycle; no exporter deployment or error-path observability matrix. |
| argi-graph-example/parallel-nodes | Fork/join branches, an append reducer, explicit executors, and streamed node output. Separate stock/credit/shipping checks join before an eligibility branch; test source enumerates all eight input combinations. |
Local business checks and executor ownership; no inventory or payment service is contacted. |
| argi-graph-example/parallel-subgraph | Joins order checks and creates a receipt in a nested graph. | Local order-check fixture and nested receipt graph; no external fulfillment. |
| argi-graph-example/persistence | File checkpoints, thread identity, history inspection, and recovery with a fresh graph. Checkpoint history projection, fresh-graph recovery, editing pending state and keeping another thread paused. |
Fresh graph and saver objects demonstrate restoration; OS process crashes and concurrent writers are not validated. |
| argi-graph-example/plantuml | Exports PlantUML and Mermaid representations without invoking the graph. | Diagram source export only; external image renderers are not invoked. |
| argi-graph-example/runtime-store | Separates transient invocation metadata, thread state, and long-lived namespaced memory. Namespace isolation, upsert, filtered/sorted pagination, targeted deletion and missing-item behavior. |
MemoryStore demonstrates contracts; it is not durable storage or an authorization boundary. |
| argi-graph-example/scheduling | Schedules a graph at a fixed delay and shuts down the task manager after completion. Caller-selectable fixed-delay, fixed-rate and cron modes with bounded waiting and scheduler shutdown. |
Single-process schedules; no distributed lock, misfire recovery or clustered scheduler. |
| argi-graph-example/spring-ai-integration | Adapts a Spring AI model into a neutral streaming LlmNode and consumes graph events. | One streaming LlmNode; provider-specific event extensions and live cancellation are not validated. |
| argi-graph-example/state-serialization | Append and replace reducers plus neutral message serialization round trips. Complete assistant/tool exchange, metadata, binary image content, text editing that preserves attachments and checkpoint round-trip equality. |
Neutral text, tool and image messages; live audio/video provider support is not demonstrated. |
| argi-graph-example/subgraph-as-compiled-graph | Embeds a compiled child directly and demonstrates reusable state transformation. | Compiled child composition; no nested runtime migration or distributed execution. |
| argi-graph-example/subgraph-as-node | Explicitly maps parent input/output to a child graph with private state. | Explicit parent/child state mapping; no remote child execution. |
| argi-graph-example/subgraphs | A StateGraph subgraph shares parent state and produces a normalized invoice. | Shared parent/child state example; no distributed subgraph execution. |
| argi-graph-example/recoverable-runs | Application-owned trusted context and data-only RunSpec round trip; same-submission deduplication; task state transitions; lease handoff and renewal; stale-owner and stale-revision rejection; atomic checkpoint, journal and outbox commits; logical session release. | MemoryRunStore is not restart-durable. No autonomous task executor, identity service, distributed backend or outbox dispatcher is implemented. |
Use -Dexample.mainClass=<class> with tools/run.sh. Each module README includes the exact command, prerequisites and required arguments.
| Module | Entry point | Runtime | Observable behavior |
|---|---|---|---|
argi-adapter-example/agentscope |
AgentScopeScenarios | model | Exercises neutral async calls and demand-controlled streaming through this adapter. |
argi-adapter-example/google-adk |
GoogleAdkScenarios | model | Exercises neutral async calls and demand-controlled streaming through this adapter. |
argi-adapter-example/langchain4j |
LangChain4jScenarios | model | Exercises neutral async calls and demand-controlled streaming through this adapter. |
argi-adapter-example/spring-ai |
SpringAiScenarios | model | Exercises neutral async calls and demand-controlled streaming through this adapter. |
argi-agent-example/agent-as-tool |
StructuredDelegation | model | Exposes a typed specialist input while keeping parent reasoning out of the child context. |
argi-agent-example/agentic-rag |
RetrievalScenarios | local | Makes source selection and the no-evidence path inspectable without a model. |
argi-agent-example/context-compaction |
CompactionScenarios | model | Supplies a long transcript and checks the actual summary marker in saved state. |
argi-agent-example/context-engineering |
ConversationSessions | model | Reuses one agent while keeping each customer's checkpoint history separate. |
argi-agent-example/hooks-and-retries |
RetryScenarios | model | Forces one transient tool failure so that the retry path is actually exercised. |
argi-agent-example/interceptors |
ContextEditingScenarios | local | Shows outbound tool-result compaction independently of provider response variability. |
argi-agent-example/interceptors |
FallbackAgent | model | Configures a separate fallback model while preserving the neutral request pipeline. |
argi-agent-example/interceptors |
MessageSanitizerScenarios | local | Inspects empty assistant-content normalization and model-visible tool exception text. |
argi-agent-example/interceptors |
ToolPolicyScenarios | model | Compares model-selected tools with explicitly requested tool emulation. |
argi-agent-example/multi-agent |
ParallelReview | model | Combines independent reviewers with a concurrency bound and an application merge policy. |
argi-agent-example/multi-agent |
RevisionUntilReady | model | Stops on an explicit review marker, with a three-iteration ceiling. |
argi-agent-example/planner |
PlanValidationScenarios | local | Validates plans locally; no capability is executed by validation. |
argi-agent-example/react-tools |
DirectTrackingTool | model | Returns the application result directly instead of asking the model to rewrite it. |
argi-agent-example/react-tools |
ToolScenarios | local | Exercises successful calls, invalid arguments, missing data and unknown tool names. |
argi-agent-example/structured-output |
TicketValidationScenarios | local | Shows that valid JSON alone does not make a valid domain result. |
argi-agent-example/structured-output |
TypedTicketAgent | model | Demonstrates ReactAgent's outputType in addition to the lower-level response format. |
argi-agent-example/support-workflow |
SupportReview | model | Keeps a review decision attached to the saved draft and its checkpoint cursor. |
argi-extensions-example/document-parsing |
DocumentIngestion | local | Reads caller-selected JSON or text and projects parsed documents into neutral records. |
argi-extensions-example/jdbc-chat-memory |
JdbcMemoryLifecycle | local | Demonstrates window eviction, reopening, isolation and deletion using local H2. |
argi-extensions-example/mcp-client |
CatalogToolCall | service | Calls only the read-only lookup tool supplied by the companion registry example. |
argi-graph-example/conditional-routing |
RoutingScenarios | local | Compares both sides of the severity boundary using the same compiled graph. |
argi-graph-example/human-in-the-loop |
ApprovalScenarios | local | Resolves two independent pending requests with different human decisions. |
argi-graph-example/parallel-nodes |
OrderFulfillment | local | Joins all checks before choosing whether an order is eligible for fulfillment. |
argi-graph-example/persistence |
RecoveryScenarios | local | Reopens the saver, edits a suspended state and proves that another thread stays paused. |
argi-graph-example/runtime-store |
StoreLifecycle | local | Demonstrates upsert, namespace isolation, filtered pagination and targeted deletion. |
argi-graph-example/state-serialization |
MessageRoundTrip | local | Round-trips binary content and tool messages without making a model request. |
argi-graph-example/recoverable-runs |
RunConflictScenarios | local | Rejects changed submissions, competing owners, stale revisions and invalid atomic writes. |
The repository does not claim complete coverage of the upstream public API. In particular, production recovery under concurrent writers, distributed scheduling, full A2A server/task lifecycles, all MCP resource/prompt/authentication operations, all built-in tools, all document parsers, advanced retrieval/reranking, and live audio/video provider behavior are outside the implemented scenarios. Backend profiles configure integrations but do not prove their connectivity or behavioral parity.
The source inventory and runtime validation serve different purposes. Local builds, model calls and the Studio HTTP/SSE workflow were executed on 2026-10-15; validation results record their outcomes. Some gateway-backed runs remain unsuccessful, and external backend services were not started. Performance, load, capacity, chaos and backend interoperability are unverified. CI checks the catalog, Java formatting and compilation. Runtime behavior is inspected through documented entry points; no test suites or coverage gates remain.
Primary evidence is the sibling argi-website/docs/frameworks, argi/argi-api, argi/argi-graph-core, argi/argi-agent-framework, and argi-extensions source tree. Pinned dependency revisions are recorded in compatibility.md.
| Example | Demonstrated behavior | Limit |
|---|---|---|
| tool-execution-policies | Missing identity and revoked permission yield auth-denied with zero callbacks; invalid arguments yield error with zero callbacks; a registered invoice decline yields business-failed; an unregistered decline stays SUCCESS. | The ledger is an in-process example. SelectionFailurePolicies deliberately injects selector unavailability; EffectAwareRetries injects an uncertain timeout. No model-quality, real authorization provider or external exactly-once guarantee is demonstrated. |
| context-provenance | Application instructions remain trusted; retrieved and child content are untrusted; summaries are derived and retain attribution. | Summary text is supplied by the application. This does not run a summarization model, prove prompt-injection immunity or authenticate serialized metadata. |
| background-tasks | The third submission and a duplicate ID are rejected; both accepted tasks complete after the gate opens; owned resources close. | This is a local JVM repository, without tenant isolation or crash recovery. Results may expire. Cancelling or hiding active work does not immediately free its slot. |
| batched-array-loop | [1,2,3,4,5] with batch size 2 yields [1,2], [3,4], [5]. Explicit size 1 keeps array framing; the legacy constructor yields scalar text. | This inspects dispatch without a model-backed child. Batching does not enable parallel execution or establish throughput improvements. |
| versioned-recovery | A version-one run resolves version one even when version two exists; missing old versions and incompatible codecs are rejected. MemoryRunStore cannot enter durable mode. | Registry values are local data definitions. This is an admission contract, not a task runner, persistent backend or cross-JVM recovery demonstration. |