Changelog¤
Changelog¤
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.3.0] 2026-04-24¤
Added¤
- Added MCP server.....
- Added
invoke dockerwhich builds both images
Changed¤
- Fixed scope reset behavior
- Allow deleting sessions which are still in-memory
Removed¤
[0.2.0] 2026-04-20¤
Added¤
Changed¤
Removed¤
[0.1.2] 2026-04-17¤
Added¤
Changed¤
Removed¤
[0.1.1] 2026-04-17¤
Added¤
Changed¤
Removed¤
[0.1.0] 2026-04-17¤
Added¤
- Named sessions: new session API endpoint accepts an optional session name.
- API endpoint to remove/delete sessions.
--sys-onlyflag to agent launcher to restrict to system agents only.- MQTT traffic dumper script decodes protobuf messages; now continuously flushes entries to file.
compas_timberadded to Docker image.- Scopes: new scope mechanism for controlling looping/retry/skip behavior within blueprints.
scope_start/scope_endtask properties define contiguous DAG regions.- Three policies: skip (condition-gated), retry (fixed N retries), while (condition-based loop with optional iteration cap).
- Scopes are identified by the opening task's ID;
scope_endreferences that ID. - Blueprint validation ensures matched start/end pairs with no interlaced scopes.
- New
ScopeRegistryandScopeclasses inantikythera_orchestrator.scopes. - Updated blueprint JSON schema with
scope_start,scope_end,RetryPolicy, andWhilePolicydefinitions. - Example blueprints for scope skip, retry, and while policies.
- Unit tests for all scope policies (skip, retry, while, max_iterations).
Changed¤
- Swapped NanoMQ for Eclipse Mosquitto as the MQTT broker.
- Migrated storage backend from immudb to Redis.
- Agent launcher now uses logging instead of print statements; launcher errors during task execution are caught and reported as task failures.
- Fixed static composite task execution.
on_task_claim: checktask is Noneinstead oftask_id is Noneto correctly handle unknown task IDs.- Session state writes to storage are now wrapped in try/except to prevent secondary failures from masking the original error.
- Added debug logging in strategic places across the orchestrator scheduling path.
- Moved immudb storage mock to shared conftest; removed obsolete storage module.
- Built Docker image for antikythera orchestrator/agents.
- Fixed broken tests after static composite fix.
Added¤
- Strict validation for Blueprint JSON files, requiring explicit list-of-dictionary formats for inputs, outputs, and parameters.
- Unit tests for failed task resume scenarios, including session revival from storage.
- Add support for competitive execution of tasks.
- New API endpoint
get_blueprint_contextto get the fabrication context of a composite blueprint. - New API endpoint
get_running_compositesto get the currently running composite blueprints. - Add new
user_interaction.notifyagent for sending user notifications with including support for string interpolation of session data. - Add API endpoint and backend support for reseting tasks (and downstream dependencies) to a pending state to allow re-execution after a failure or user intervention.
- Added API endpoint for skipping tasks.
- Added
TaskState.SKIP_REQUESTEDto represent tasks that have been requested to skip but are waiting for their dependencies to be met before transitioning toSKIPPED. - Added a redis backend to the storage interface and places behing a unified interface in package
storage.
Changed¤
- Moved
composite_to_inner_blueprint_mapandblueprint_contextsfromOrchestratortoBlueprintSessionfor proper serialization and session restoration. - Simplified
SessionStorageAPI to usesave_session()andload_session()for complete session persistence instead of piecemeal updates. - Added
load_session_with_metadata()toSessionStoragefor retrieving session data with storage metadata (used bylist_sessionsAPI). - Added
mock_agent_discoveryfixture to orchestrator tests to prevent loading external agents during testing. - New explicit accessor methods for
Taskvalues (get_input_value,get_output_value,get_param_value,set_input_value,set_output_value,set_param_value). - New JSON Schema for strictly validating Blueprint files.
BlueprintJsonParsernow supports full validation and symmetric read/write of Blueprints.- Added
protofile to release artifacts - Added paging to sessions list API.
- Added
max_grpc_message_lengthconfiguration for immudb client to handle larger messages. - Added demo agent to return the Standard 3d bunny as a COMPAS mesh.
- Added
io.copyagent/tool to copy files with support for glob patterns. - Do not implicitly propagate skip status to child tasks, as it generates an non-intuitive workflow where skipping a parent task causes all child tasks to be skipped without the ability to override.
- Extended the context of condition eval, so that it includes fab context and session data.
- Fixed resuming not doing anything due to tasks being in RUNNING or READY state when session was stopped.
- Fixed condition doesn't get carried over to dynamically expanded tasks.
Changed¤
- Refactored
Taskclass to enforce a single data access pattern. - Changed build system to
hatchlingto hook the protobuf compilation into the build process.
Removed¤
Task.input_valuesandTask.param_valuesconvenience properties have been removed to prevent ambiguity.
[0.0.0] - Initial Capabilities¤
Added¤
- Orchestration:
- Centralized
Orchestratorbased on an Event-Driven (MQTT) architecture. - REST (FastAPI) for interacting with the system programmatically.
- Dynamic Task Expansion:
Sequencersystem to allow runtime procedural generation of tasks based on fabrication model geometry (Based oncompas_model). - Composite & Conditional Logic: Support for nested task groups and data-driven branching.
- Centralized
- Data & Trust:
- Immutable Ledger: Data storage via
immudbto provide a tamper-proof, cryptographically verifiable audit trail of every fabrication step. - Model Management: Native handling of COMPAS models, with specialized support for Stock and Element management in digital fabrication (
compas_timber).
- Immutable Ledger: Data storage via
- Connectivity:
- Transport Agnostic: Built on
compas_eve, using MQTT for high-throughput messaging and Protocol Buffers for efficient serialization. - REST API: Comprehensive API for session management, blueprint uploading, and system monitoring.
- Transport Agnostic: Built on
- Blueprints:
- JSON-based definition format for fabrication processes.
- Agents:
- Plugin System: Fully extensible agent architecture using
@agentdecorators and auto-discovery.
- Plugin System: Fully extensible agent architecture using