BACK_TO_CASE_STUDIES
// FRAMEWORK_CASE_STUDY / ALCYONEUS_OS

A Python frameworkfor state-graph agents.

Alcyoneus OS is a Python framework for composing LLM-enabled and tool-using agents as explicit state-graph workflows. The package includes graph execution, optional persistence, policy and guardrail components, streaming, and integration adapters.

167
TEST SOURCE FILES AT V1.1.0
17
DOCUMENTED HARDENING AREAS
3
PROTOCOL SURFACES
Apache-2.0
LICENSE
PYPI
PUBLIC PACKAGE
>=3.12
PYTHON RUNTIME
// TEST_EVIDENCE / ALCYONEUS_OS

Reported test result, pinned to its release snapshot.

3,159 passed · 13 skipped · 31 warnings · GitHub v1.1.0

EXPAND_EVIDENCE

A full local pytest run of the v1.1.0 tag checkout under Python 3.12.3 reported 3,172 collected tests with 3,159 passed, 13 skipped, and 31 warnings. The source package declared version 1.1.0 at that tag; GitHub now publishes v1.2.0 and PyPI currently lists v1.2.0 (Apache-2.0). The run result is reported, not independently reproduced.

LOCAL TEST RUN
3,159 passed

Reported full run at the v1.1.0 tag; not a v1.2.0 result

COLLECTION
3,172

Tests collected in the reported local run at v1.1.0

SOURCE AUDIT
167

Test-like Python source files under the v1.1.0 audit predicate; not a test count

HARDENING RECORD
17

Project-documented areas; not independent certification

GITHUB RELEASE
V1.2.0

Latest public source release; v1.1.0 tag holds the reported run state

PYPI LISTING
V1.2.0

Current published package (Apache-2.0)

LICENSE
APACHE-2.0

GitHub repo, PyPI, and HEAD; v1.1.0 README stated MIT

PROTOCOLS
MCP / A2A / ACP

Integration surfaces documented by the framework

EVIDENCE_NOTE:: The reported pytest run is from the v1.1.0 tagged checkout, not the current v1.2.0 release. It is not a CI result, was not independently reproduced in this portfolio review, and does not establish production reliability.

// RELEASE_AND_DEPLOYMENT_SCOPE

v1.2.0 is a published Python package release. This case study describes source components, not a production deployment or independent security validation. Optional integrations require their dependencies, credentials, infrastructure, and application-level configuration. PyPI currently shows no provenance attestation for the v1.2.0 files.

// THE_PROBLEM

Agent control flow should be explicit in code.

Agent applications need explicit state, controlled transitions, recovery choices, tool permissions, and execution signals. Alcyoneus OS provides framework components for these concerns; each application still chooses and configures the pieces it uses.

// THE_THESIS

Keep state, routing, and execution controls explicit.

A graph makes control flow inspectable: state moves through named nodes and edges, with conditional routing and optional tool calls. Checkpointing, policy, telemetry, and external protocol adapters attach at explicit boundaries rather than being implied by the graph alone.

// STATE_GRAPH_RUNTIME_ARCHITECTURE

Define the graph. Configure its runtime. Follow each transition.

This architecture view follows the Python graph API and compiled runtime. Stores, policies, model providers, and protocols are optional integrations; a workflow uses only the pieces its application configures.

AUTHORING_AND_COMPILE
TYPED_STATE + GRAPH

Pydantic state, Python node functions, edges, conditional routes, and optional subgraphs or handoffs.

StateGraph.compile()

Validates the graph and accepts optional checkpointer, store, media, interrupt, and callback configuration.

CompiledGraph

Runs through invoke/async paths or streams graph events, depending on the caller.

ONE_COMMON_AGENT_TOOL_CYCLE
INPUT + RUN CONFIG

Initial state and optional thread/config values enter the compiled graph.

AGENT / PYTHON NODE

A node updates state; an Agent node may call its configured model provider.

CONDITIONAL EDGE

Application routing chooses the next node, a tool path, a handoff, or an end route.

TOOL NODE / RESULT

When routed there, ToolNode runs selected tools and returns results to graph state for the next transition.

Not every graph uses an LLM or ToolNode. A tool may run in-process or through a configured backend; the graph API alone does not isolate it.

MODEL PROVIDER

Agent calls pass through an adapter to a configured local or hosted model service.

CHECKPOINTING

Opt-in. Restart durability depends on selecting and configuring a persistent backend.

POLICY / GUARDRAILS

Components are available; applications must attach them to exposed actions.

EVENTS / TELEMETRY

Streaming and telemetry need a caller and, for exporters, configured services.

PROTOCOL ADAPTERS

MCP, A2A, and ACP are separate interfaces that require their own setup.

// REPRESENTATIVE_CODE_PATH

A tool call follows graph edges, not hidden prompt logic.

The repository's examples/react/react_sync.py shows an Agent node, a conditional route, a ToolNode, and an explicit return edge. The graph is compiled and then invoked with a thread ID and recursion limit.

OPEN_TAGGED_EXAMPLE_SOURCE
01 / MAIN

The Agent node receives conversation state and may return a tool call.

02 / ROUTE

A conditional function sends tool calls to TOOL; a normal response follows the graph's end route.

03 / TOOL

ToolNode runs the selected Python tool and appends its result to workflow state.

04 / RETURN

An edge sends TOOL back to MAIN so the Agent can continue with the tool result.

05 / INVOKE

The example compiles with InMemoryCheckpointer, then invokes with a thread_id and recursion limit.

Scope of this example: it uses an in-memory checkpointer, so it does not demonstrate restart-durable recovery. Its sample weather function returns hard-coded text; it is not a live weather integration. The route function also has a MAIN return branch that is absent from the shown path map, so confirm that branch before relying on the example unchanged.

// CAPABILITY_SURFACE

The system beneath the agent.

// GRAPH_ORCHESTRATION

A programmable execution model

StateGraph, MessageGraph, nodes, edges, conditional routing, subgraphs, compiled graphs, remote graph serving, and inline Command routing define an inspectable execution path. Persistence and runtime controls are attached when configured.

// AGENT_SURFACES

Prebuilt patterns for real work

The package includes ReactAgent, RAGAgent, SwarmAgent, SupervisorTeamAgent, PlanActReflectAgent, RouterAgent, StructuredOutputAgent, AudioAgent, handoffs, and dynamic prompts. Providers, dependencies, and external services still need configuration.

// MODEL_ADAPTERS

Provider choice without graph rewrites

Adapters cover OpenAI and Responses, Google Gemini and Vertex AI, Anthropic, LiteLLM, and AnyLLM. Retry and fallback behavior is available through the configured provider path; credentials, network access, and provider limits remain external dependencies.

// TOOL_PLANE

Tools with bounded capability

The package contains tool implementations and extension points for search, browser, shell, code, files, image generation, calendars, schedulers, subagents, memory, and computer use. Execution boundaries vary by tool and selected backend.

// MEMORY_AND_STATE

From working context to durable memory

Graph checkpoints have in-memory, SQLite, and PostgreSQL implementations. Separate stores and optional integrations cover Qdrant and Mem0 retrieval; durability and namespace behavior depend on the selected backend and configuration.

// REALTIME_MEDIA

Text, audio, image, and live interaction

Streaming events, SSE heartbeats, response granularity, Gemini Live, OpenAI Realtime, Azure Realtime, local Whisper plus TTS, barge-in, WebRTC frame broadcast, media storage, and resolver policies cover interactive products.

// SAFETY_AND_GOVERNANCE

Capabilities are useful only when the boundary is explicit.

Alcyoneus provides components for separating model output from tool execution. Guardrails, policy decisions, identity, secrets, and tenant scope affect runtime behavior only when the application configures and connects them to its graph and exposed actions.

POLICY::EXPLICIT / AUDITABLE / COMPOSABLE
INPUT_BOUNDARY

Input components include PII and prompt-injection checks, length limits, validators, and tripwires; an application must call them on its request path.

OUTPUT_BOUNDARY

Output components include schema checks, blocked-word checks, length limits, and tripwires; they constrain results when the application wires them into execution.

TOOL_BOUNDARY

Tool input/output guardrails can apply allow, deny, ask-user, validation, and rate-limit decisions where those hooks are configured.

POLICY_ENGINE

A nine-priority policy engine provides allow, deny, ask-user, tenant-scope, workspace-only, and confirmation rules; applications must connect policies to the actions they expose.

IDENTITY_AND_ACCESS

The framework includes RBAC, tenant, JWT/JWKS, mTLS, RFC 7662 introspection, API-key, and protocol-auth components. A deployment must configure and apply the relevant middleware and identity provider.

SECRET_BOUNDARY

Vault and cloud key-vault integrations plus a composite provider are available; secret access policy and deployment configuration remain the application's responsibility.

// INTEROPERABILITY

One runtime, several ways to connect.

PROTOCOLIMPLEMENTATIONWHY_IT_EXISTS
MCPStdio, SSE, and WebSocket transports with capability negotiation and a five-minute tool cache.Connect tools and external capability servers.
A2AHTTP task exchange with agent cards, artifacts, streaming, retries, pooling, TLS, and API-key/JWT/OAuth2 authentication.Delegate work between independent agents.
ACPHTTP or in-memory client/server communication with agent discovery, task delegation, token/JWT auth, and streaming messages.Standardize agent-to-agent conversations.
EVENT BUSGraph, node, tool, handoff, interrupt, error, heartbeat, and completion events through async streaming APIs.Drive live UIs, logs, and operational consumers.
// EXECUTION_BACKENDS_AND_LIMITS

Sandbox strength depends on the selected backend.

The package includes local, container, cluster, and micro-VM adapters, but the graph does not isolate a tool automatically. Effective isolation depends on backend configuration, host privileges, mounts, credentials, and the code path the tool uses.

DOCKER / KUBERNETES

Container and pod backends are present; actual isolation depends on daemon or cluster configuration, privileges, mounts, and resource limits.

FIRECRACKER

A micro-VM adapter is included, but it requires a compatible host and configured hypervisor environment.

LOCAL PTY

Runs a process on the host. A PTY provides process control, not a security boundary against hostile code.

REMOTE SANDBOX ADAPTERS

Several provider adapters are conditional integrations. Some missing-configuration paths return synthetic success output instead of executing remotely; verify the real service path before use.

COMPUTER USE

X11, Wayland, headless, VNC, remote-desktop, and accessibility integrations require the matching display/session backend and permissions.

In the v1.2.0 source, several remote sandbox adapter fallback branches return exit_code=0 with synthetic output when the real client or configuration is unavailable. That fallback is not remote execution. Treat those adapters as unverified until checked against the configured service.

// OPERATE_AND_VALIDATE

The operational loop is part of the framework.

// OBSERVABILITY

OpenTelemetry decorators for graphs, nodes, LLM calls, tools, guardrails, handoffs, tasks, and custom spans; Prometheus metrics for requests, latency, tokens, errors, and sessions; structured JSON logs with W3C trace propagation.

// DEVELOPER_OPERATIONS

The alc CLI creates, runs, validates, visualizes, debugs, replays, traces, lists, and tests graphs and tools, with Mermaid, Graphviz, and interactive HTML output for architecture review.

// QUALITY_GATES

QuickTest, TestAgent, MockLLM, MockToolRegistry, MockMCPClient, TestContext, AgentEvaluator, factual accuracy, hallucination, safety, trajectory, rubric, and simulator-based evaluation make behavior measurable.

// PROJECT_DOCUMENTED_HARDENING_AREAS

Seventeen areas in the project hardening record.

STATUS::SOURCE_RELEASE / V1.2.0 · PYPI_V1.2.0 · RUN_STATE_AT_V1.1.0
01Sandbox hardening
02Computer use
03Policy-guarded shell
04Multi-provider web search
05Image generation
06Semantic file search
07Realtime audio
08Distributed CRDT sync
09MCP transports
10A2A / ACP
11OpenTelemetry and metrics
12Multi-tenancy and quotas
13AuthN / AuthZ
14Docker, Helm, Kubernetes, systemd
15Secrets management
16Redis rate limiting
17Audit, GDPR, lineage, OPA, SBOM

This is the project's own hardening record. It is not an independent security audit, certification, or proof that every deployment configuration has been validated.

// IMPLEMENTATION_STACK
Python 3.12 / 3.13Pydantic 2OpenAIGemini / VertexAnthropicLiteLLMPostgreSQLRedisSQLiteQdrantMem0DockerKubernetesOpenTelemetry