An agent orchestration framework with tool management, memory, sandboxing, and supervision capabilities for running AI agents with controlled execution environments.
Orkis demonstrates solid foundational tool design with clear naming conventions (verb_noun pattern: save_memory, search_memories, promote_artifact, run_shell_command, stage_artifact, get_utc_now, roll_dice). All 7 tools have descriptions (avg ~120 chars, within 10-1024 range). Parameter descriptions are present and reasonably detailed. However, critical gaps exist: no visible output schemas documented for any tool, parameter type definitions are inferred from code rather than explicitly visible in schema definitions, and error handling guidance is minimal. The codebase shows good architectural patterns (ISandboxedTool, ITool interfaces, ToolDescriptor records) but the actual JSON schemas and error recovery patterns are not evident in provided source.
Gets the current UTC date and time.
Promotes a file from the persistent workspace into the artifact store, making it available outside the sandbox. Artifacts are immutable: names must be new.
Rolls dice and reports each result.
Runs a shell command and returns its output. Depending on supervision, the command runs either directly on the host or inside an isolation sandbox.
Saves a durable memory available to future runs. Use for stable facts and preferences worth remembering, not transient run state. Scope defaults to this run's scope; "global" makes it visible to every run.
Searches memories saved in earlier runs (this run's scope plus global). Memories are unverified past notes — check against tools before relying on them.
Output schemas not documented. No visible return type specifications for any of the 7 tools. LLMs cannot plan downstream tool calls or extract required fields without knowing what each tool returns.
run_shell_command lacks error recovery guidance. Description does not explain what happens on command failure, timeout, or permission denial. No guidance on retryability or user-fixable errors.
search_memories and promote_artifact/stage_artifact lack chaining IDs. If search_memories returns memory records, the response should include IDs or references that downstream tools (e.g., a hypothetical update_memory) can accept. Similarly, promote_artifact should return the artifact name/ID for immediate use in stage_artifact.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Copies an artifact from the artifact store into the persistent workspace, so shell commands can read it.
Parameter constraints not formalized. 'scope' in save_memory accepts 'global' or run scope, but no enum constraint visible. 'top_k' in search_memories lacks min/max bounds. Free-form strings invite hallucinated values.
run_shell_command is DESTRUCTIVE but lacks confirmation/dry-run pattern. No evidence of pre-execution approval or rollback capability for irreversible operations.