AXLR provenance

AXLR is Underpass's focused rewrite of the execution layer in underpass-ai/underpass-runtime. The source baseline for that decision was commit c16098cc7e863468f244963d5874544f8ce12f61. This page records responsibility and contract lineage; it is not a compatibility promise or a claim that old packages were copied.

Earlier conceptAXLR decision
InvokeToolRequest.CorrelationIDKeep correlation as request_id. It does not provide session identity or deduplication.
CommandSpec, CommandResult and CommandRunner in the same fileUse typed domain commands, application ports and explicit results.
LocalCommandRunnerBound process-output capture while reading and count discarded bytes; the old CombinedOutput() then truncate pattern did not bound capture memory.
Service, policy, session, registry, store and infrastructure layersKeep the root execution core small. The current console owns its session and approval UI; the HTTP service reuses turn use cases and adds mTLS, principal roles and durable operation records. Its current composition differs from the console in modes, skills and workflow driving.

Pi was a conceptual reference for a small direct local tool surface. AXLR does not use Pi code, packages, runtime or an adapter to it.

The resulting product has three responsibilities: AXLR performs agent execution; KMP governs durable memory; MADE governs orchestration. KMP and MADE are separate engines reached through explicitly configured MCP connections. The worker does not serve HTTP; the separate axlr-serve binary implements that interface. The service specification preserves the original design.

See Architecture for the current package boundaries and Worker contract for the current JSON surface.

From docs/provenance.md at 2d95f7e in underpass-ai/AXLR View on GitHub