Skip to main content

AI Coding Agent Runtime

Project description

Entities:

Agent Task Execution Tool Sandbox Memory LLM Model Evaluation Reflection

            Agent
              │
    ┌─────────┴─────────┐
    │                   │
  Model            ToolPermission
    │
    │

Execution │ ┌──────┼─────────────┐ │ │ │ │ │ │ Logs ToolCalls Memory │ │ │ │ │ │ └──────┼─────────────┘ │ Evaluation │ Reflection

Database SQLAlchemy models:

Agent Execution Model Tool Memory ExecutionLog

Plain python classes:

Planner Loop Engine Context Builder Docker Executor LLM Client Reflection Engine Memory Retriever

app/ ├── agents/ │ ├── init.py │ ├── models.py │ ├── schemas.py │ ├── repository.py │ ├── service.py │ ├── exceptions.py │ └── api.py # optional later │ ├── execution/ │ ├── init.py │ ├── models.py │ ├── schemas.py │ ├── repository.py │ ├── service.py │ ├── exceptions.py │ └── api.py │ ├── models/ │ ├── init.py │ ├── models.py │ ├── schemas.py │ ├── repository.py │ ├── service.py │ └── providers.py │ ├── tools/ │ ├── init.py │ ├── models.py │ ├── schemas.py │ ├── repository.py │ ├── service.py │ └── registry.py │ ├── memory/ │ ├── init.py │ ├── models.py │ ├── repository.py │ ├── service.py │ └── retriever.py │ ├── sandbox/ │ ├── init.py │ ├── docker.py │ ├── filesystem.py │ └── executor.py │ ├── runtime/ │ ├── init.py │ ├── planner.py │ ├── loop.py │ ├── executor.py │ ├── context_builder.py │ └── reflection.py │ ├── llm/ │ ├── init.py │ ├── client.py │ └── providers/ │ ├── init.py │ ├── openai.py │ ├── anthropic.py │ ├── ollama.py │ └── openrouter.py

execution lifestyle
User Request
  │
  ▼

Create Execution │ ▼ Load Agent │ ▼ Load Model │ ▼ Build Context │ ▼ Planner │ ▼ Loop Engine │ ▼ Tool Calls │ ▼ Reflection │ ▼ Evaluation │ ▼ Complete Execution

This is the order I'd implement entities.

Phase 1 ✅ Agent

Done.

Phase 2 Model

Because agents need models.

Phase 3 Execution

Now agents can actually execute tasks.

Phase 4 Tool

Now executions can use tools.

Phase 5 ExecutionLog

Now we can observe what happened.

Phase 6 Memory

Now executions become stateful across runs.

Phase 7 Evaluation

Now we can score execution quality.

Phase 8 Reflection

Now the system can improve itself.

[ User Input ] │ ▼ ┌─────────────────────────┐ │ Orchestrator Router │ ──(Simple Q&A)──► [ Simple LLM Stream ] └─────────────────────────┘ │ (Task detected) ▼ ┌─────────────────────────┐ │ Planner Agent │ ◄──► [ Memory / Chat History ] │ (Defines Scope & Stack) │ └─────────────────────────┘ │ (User Confirms Plan) ▼ ┌─────────────────────────┐ │ Execution Agent (Loop) │ │ - ReAct Loop │ │ - Call MCP Tools │ ──► [ Sandbox / Terminal ] │ - Track Logs & Tokens │ └─────────────────────────┘

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

midsane_sui-0.1.0.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

midsane_sui-0.1.0-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

Details for the file midsane_sui-0.1.0.tar.gz.

File metadata

  • Download URL: midsane_sui-0.1.0.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for midsane_sui-0.1.0.tar.gz
Algorithm Hash digest
SHA256 63b4b06c26a4a787caa0fb8d64c999569d393848d5460eb79888e8fb272ce943
MD5 1c404c39ed3ed6d6870ef7d8d6173123
BLAKE2b-256 2cb230159b1c43cdc1f0046db2abde6076913b9e6c2135df26850bf32fcd9085

See more details on using hashes here.

File details

Details for the file midsane_sui-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: midsane_sui-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for midsane_sui-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6ca9d8b87ac8f93295eee09ff8af097436c4afdbe34cb7e0b8ca5b3ba6110ad
MD5 b6cbd63f7d1cb118412ebc32d9493502
BLAKE2b-256 755e1ba454a748b1421942203292f611346cf365ac251631538e3885d3b3ba2b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page