Roadmap
Maturity Levels
| Label | Meaning |
|---|---|
| Stable | API is unlikely to change. Covered by tests and used in production workflows. |
| Alpha | Functional and tested, but the API may change before v1.0. |
| Experimental | Works end-to-end but may have rough edges. Feedback welcome. |
| Planned | Designed but not yet implemented. |
Implemented in Repo
All
@aex-lang/*packages are published on npm (v0.0.4). APIs are not yet stable — expect breaking changes before v1.0.
- Runtime (Alpha)
- [x] Built-in checks (
patch touches only, diff linting) - [x] Tool registry (
file.write,tests.run,git.diff,git.apply) - [x] Command injection and path traversal prevention
- [x] JSON IR compilation
- [x] Built-in checks (
- Adapters (Alpha)
- [x] OpenAI Agents SDK (
@aex-lang/openai-agents) - [x] MCP gateway (
@aex-lang/mcp-gateway) - [x] LangGraph compiler (
@aex-lang/langgraph)
- [x] OpenAI Agents SDK (
- Developer experience (Alpha)
- [x]
aex fmtauto-formatter - [x] CLI diagnostics with error codes
- [x] VS Code extension (syntax highlighting, snippets)
- [x] Interactive playground on docs site
- [x]
- Security (Experimental)
- [x] Threat-model reference implementation
- [x] Signed contracts (
aex sign/aex verify) - [x] Timing-safe HMAC verification
- Model handlers (Experimental)
- [x] Built-in OpenAI handler (
AEX_MODEL=openai) - [x] Built-in Anthropic handler (
AEX_MODEL=anthropic) - [x] Custom handler support (
--model-handler ./path.ts) - [x] Budget enforcement at runtime (cap
do/makeinvocations)
- [x] Built-in OpenAI handler (
- Control flow (Alpha)
- [x]
ifconditional branching with indentation-based blocks - [x]
forloop iteration over lists - [x] Nested control flow (if inside for, etc.)
- [x]
- Remote tool registries (Experimental)
- [x]
aex run --registry <url>fetches tool definitions from HTTP endpoints - [x] Remote tools execute via POST with JSON args/response
- [x]
- Policy inheritance & composition (Alpha)
- [x]
extendsfield in policies (file path or inline object) - [x]
composePolicies()merges allow/deny/confirmation/budget - [x] Budget takes the minimum across composed policies
- [x]
- Structured logging & OpenTelemetry (Experimental)
- [x]
createStructuredLogger()with timestamps, traceId, spanId - [x]
--log-jsonflag for JSON event output - [x]
--otlp-endpointflag exports traces in OTLP format - [x]
exportToOTLP()API for programmatic export
- [x]
- CI & publishing (Alpha)
- [x]
setup-aexGitHub Action (action/action.yml) - [x] npm publish config (
publishConfig,exports,repositoryon all packages) - [x]
scripts/prepublish.shrewritesfile:deps to versioned refs
- [x]
- Policy files & merge semantics (Alpha)
- [x]
policy workspace v0keyword for ambient security boundaries - [x]
aex init --policyscaffolds.aex/policy.aex - [x] Merge semantics: allow = intersection, deny = union, confirm = union, budget = min
- [x]
aex effectivepreviews merged permissions before running - [x] Parser-level validation: policy files reject
need,do,make,check,return
- [x]
- MCP proxy (Alpha)
- [x]
aex proxy -- <cmd>gates MCP tool calls against policy - [x] Auto-discovers
.aex/policy.aex - [x] Budget enforcement, confirmation gates, allow/deny filtering
- [x] Structured JSON audit logging to stderr
- [x]
tools/listresponse filtering
- [x]
- Claude Code hook enforcement (Alpha)
- [x]
aex gatePreToolUse hook gates built-in tools (Read, Write, Bash, etc.) - [x] Tool name mapping: Claude Code PascalCase → AEX dotted capabilities
- [x] Budget state persistence across hook invocations
- [x]
allowkeyword for policy files,AEX120/AEX121diagnostics - [x]
taskkeyword as alternative toagent
- [x]
- [x] Fail-closed by default (denies all when no policy found)
- Draft → Review → Run workflow (Alpha)
- [x]
aex draftgenerates task contracts from natural language prompts - [x]
aex reviewshows human-readable contract summary with effective permissions - [x]
aex review --runprompts for approval then executes through runtime - [x]
aex classifyclassifies prompts as exploratory/contract_recommended/contract_required - [x]
.aex/runs/directory for generated one-off contracts - [x] Audit log output (
.audit.jsonl) for executed contracts - [x]
aex runauto-discovers.aex/policy.aexand supports.aexpolicy files - [x] LLM-powered contract generation with validation loop and retry
- [x]
Up Next
- Stable API guarantees (v1.0 milestone)
- Independent security audit
Not Yet Done
- No stable API guarantees
- No independent security audit
Contributions are welcome — open an issue if you'd like to tackle an item or propose a new milestone.