2026-02-02 - 2026-08-02
Overview
36 Pull requests merged by 3 users
Merged
#85 feat(agents): add offset-based pagination to file_read
Merged
#84 feat(agents): surface timeout budget in tool schemas and errors
Merged
#80 feat(graph): enforce USD budget at each agent invocation with pre-flight gate
Merged
#81 feat(langgraph): implement real type:tool graph node execution via ToolAgent dispatch
Merged
#74 feat(agents): add tool_agent_class parameter to AgentFactory and create_executor
Merged
#72 fix(nodes): propagate ExecutionError from retry mechanism instead of swallowing it
Merged
#70 feat(agents): add LLM agent retry mechanisms with exponential backoff
Merged
#68 feat(agents): add tool-call support to LLMAgent.stream_message
Merged
#66 fix(actors): llm token consumption undercounted
Merged
#64 fix(agents): validate tool name against declared tools list before dispatch
Merged
#62 feat(tool-loop): add token-budget awareness and tool output pruning
Merged
#60 feat(agents): implement multi-turn tool-call loop and sandbox improvements
Merged
#58 fix(llmagent): do not close shared cached httpx clients in cleanup()
Merged
#52 docs(registry): add MkDocs API documentation and usage examples for Package Registry Client
Merged
#50 test(robot): add end-to-end integration tests for email categorization actor graph
Merged
#47 feat(registry): implement local namespace reference resolution
Merged
#45 feat(streaming): add Executor.execute_stream() returning AsyncIterator[str] for token-by-token delivery
Merged
#43 feat(registry): implement RegistryError hierarchy with typed exceptions
Merged
#42 feat(registry): implement RegistryCache with LRU eviction and TTL
Merged
#44 feat(execution-limits): add structured ExecutionError kind/reason fields; enforce all 5 execution limits in PureLangGraph
Merged
#41 feat(ActorResult): implement ActorResult and NodeUsage types; capture per-node token counts from LangChain responses
Merged
#35 feat(registry): extend TemplateType and integrate PackageReference into template system
Merged
#37 feat(registry): implement ReferenceResolver with version alias resolution
Merged
#36 feat(registry): implement Canonicalizer with NFC normalization and SHA-1 hashing
Merged
#38 feat(create_executor): implement create_executor() factory and Executor.execute() returning ActorResult
Merged
#40 fix(runtime): add input validation, credential safety, and proper error propagation
Merged
#20 feat(credentials): refactor LLMAgent/AgentFactory for per-request credential injection and extended provider routing
Merged
#31 feat(registry): add PackageType, PackageId, PackageReference, PackageContent core types
Merged
#34 test(runtime): add BDD coverage tests for runtime Executor API
Merged
#32 feat(registry): implement async RegistryClient using httpx
Merged
#18 feat(validate_dict): expose public validate_dict(config_dict, platform_limits) API
Merged
#21 chore(merge_configs): remove bot-introduced duplicate from runtime.py and restore canonical import
Merged
#19 feat(merge_configs): expose public merge_configs(*dicts) API per §3.1 deep-merge algorithm
Merged
#7 fix(compiler): thread actor-level system_prompt into graph node metadata
Merged
#5 fix: sync doc with extraction scope, remove boundary violation, add ProviderRegistryPort
Merged
#3 docs(my-actor.yaml): add an example actor
3 Pull requests proposed by 2 users
Proposed
#48 feat(public-api): expose all router-facing APIs at cleveractors package level; update README
Proposed
#87 fix(ci): make benchmark_regression job fast and correctly fail on regressions
Proposed
#94 feat(skills): add skill package schema and agent-side skill loading support
37 Issues closed from 4 users
Closed
#91 Graph route with an edge to a non-existent target node executes partially then exits silently instead of failing config validation
Closed
#90 Graph route with an edge to a non-existent target node executes partially then exits silently instead of failing config validation
Closed
#83 feat(agents): add offset-based pagination to file_read
Closed
#82 feat(agents): surface timeout budget in tool schemas and errors
Closed
#76 Enforce USD budget at each agent invocation (incl. pruning): skip pruning when tripped, fail immediately with no retries at zero/negative balance
Closed
#75 Implement real type: tool graph node execution by wiring NodeConfig.tool to ToolAgent._execute_tool
Closed
#73 Add tool_agent_class parameter to AgentFactory and create_executor to support runtime-injected ToolAgent subclasses
Closed
#71 ConnectionError retry exhaustion silently swallowed, producing empty response instead of propagating ExecutionError
Closed
#69 LLM Agent Communication Retry Mechanisms with Exponential Backoff
Closed
#67 Add tool-call support to LLMAgent.stream_message
Closed
#65 bug(agents): LLM token consumption undercounted — pruning model calls untracked, earlier loop rounds overwritten
Closed
#63 fix(agents): validate LLMAgent tool dispatch against declared tools list
Closed
#61 feat(tool-loop): add token-budget awareness and tool output pruning
Closed
#59 LLMAgent does not implement tool calling — tools configs silently ignored
Closed
#57 LLMAgent.cleanup() closes shared cached httpx clients, breaking subsequent LLM requests
Closed
#51 docs(registry): write MkDocs API documentation with examples for Package Registry Client (Epic #22)
Closed
#30 test(robot): add end-to-end integration tests for email categorization actor graph
Closed
#46 feat(registry): implement local: namespace reference resolution with filesystem + canonicalization
Closed
#16 feat(streaming): add Executor.execute_stream() returning AsyncIterator[str] for token-by-token delivery
Closed
#29 feat(registry): implement error hierarchy — RegistryError base + all 8 error types
Closed
#28 feat(registry): implement client-side LRU cache with TTL and ID validation
Closed
#15 feat(execution-limits): add structured ExecutionError kind/reason fields; enforce all 5 execution limits in PureLangGraph
Closed
#14 feat(ActorResult): implement ActorResult and NodeUsage types; capture per-node token counts from LangChain responses
Closed
#27 feat(registry): extend TemplateType and integrate PackageReference into template system
Closed
#26 feat(registry): implement reference resolution — parse refs, version aliases, local scheme
Closed
#25 feat(registry): implement canonicalization engine — NFC, key sorting, RFC-8785, SHA-1
Closed
#13 feat(create_executor): implement create_executor() factory and Executor.execute() returning ActorResult
Closed
#39 fix(runtime): add input validation, credential safety, and proper error propagation
Closed
#12 feat(credentials): refactor LLMAgent/AgentFactory for per-request credential injection and extended provider routing
Closed
#23 feat(registry): add core data types — PackageType, PackageId, PackageReference, PackageContent
Closed
#33 test: Coverage increase
Closed
#24 feat(registry): implement async HTTP client using httpx
Closed
#10 feat(validate_dict): expose public validate_dict(config_dict, platform_limits) API
Closed
#11 feat(merge_configs): expose public merge_configs(*dicts) API per §3.1 deep-merge algorithm
Closed
#6 compile_actor() drops graph-level system_prompt — not threaded into CompiledActor
Closed
#4 Design doc gaps and boundary violations in cleveractors-core
Closed
#1 Following instructions in docs/index.md or README causes error.
54 Issues created by 4 users
Opened
#1 Following instructions in docs/index.md or README causes error.
Opened
#2 Clever Actors only accepts GRAPH actors, not LLM actors.
Opened
#4 Design doc gaps and boundary violations in cleveractors-core
Opened
#6 compile_actor() drops graph-level system_prompt — not threaded into CompiledActor
Opened
#8 cleveractors.langgraph provides no StateGraph bridge — host applications must walk CompiledActor nodes manually
Opened
#9 Align cleveractors-core to The Actor Configuration Standard v1.0.0
Opened
#10 feat(validate_dict): expose public validate_dict(config_dict, platform_limits) API
Opened
#11 feat(merge_configs): expose public merge_configs(*dicts) API per §3.1 deep-merge algorithm
Opened
#12 feat(credentials): refactor LLMAgent/AgentFactory for per-request credential injection and extended provider routing
Opened
#13 feat(create_executor): implement create_executor() factory and Executor.execute() returning ActorResult
Opened
#14 feat(ActorResult): implement ActorResult and NodeUsage types; capture per-node token counts from LangChain responses
Opened
#15 feat(execution-limits): add structured ExecutionError kind/reason fields; enforce all 5 execution limits in PureLangGraph
Opened
#16 feat(streaming): add Executor.execute_stream() returning AsyncIterator[str] for token-by-token delivery
Opened
#17 feat(public-api): expose all router-facing APIs at cleveractors package level; update README
Opened
#22 Epic: Package Registry Client — Support Package Registry Standard v1.0.0
Opened
#23 feat(registry): add core data types — PackageType, PackageId, PackageReference, PackageContent
Opened
#24 feat(registry): implement async HTTP client using httpx
Opened
#25 feat(registry): implement canonicalization engine — NFC, key sorting, RFC-8785, SHA-1
Opened
#26 feat(registry): implement reference resolution — parse refs, version aliases, local scheme
Opened
#27 feat(registry): extend TemplateType and integrate PackageReference into template system
Opened
#28 feat(registry): implement client-side LRU cache with TTL and ID validation
Opened
#30 test(robot): add end-to-end integration tests for email categorization actor graph
Opened
#29 feat(registry): implement error hierarchy — RegistryError base + all 8 error types
Opened
#33 test: Coverage increase
Opened
#39 fix(runtime): add input validation, credential safety, and proper error propagation
Opened
#46 feat(registry): implement local: namespace reference resolution with filesystem + canonicalization
Opened
#49 refactor(application): move ReactiveCleverAgentsApp verbosity logging to child logger to stop mutating root logger
Opened
#51 docs(registry): write MkDocs API documentation with examples for Package Registry Client (Epic #22)
Opened
#53 Docs(README): Quickstart is incomplete and wrong.
Opened
#54 Docs(README): "Using agents directly" has 2 problems.
Opened
#55 DOCS(Readme.md): "LangGraph Workflows" have two problems.
Opened
#56 DOCS(README.md): "Reactive stream routing"
Opened
#57 LLMAgent.cleanup() closes shared cached httpx clients, breaking subsequent LLM requests
Opened
#59 LLMAgent does not implement tool calling — tools configs silently ignored
Opened
#61 feat(tool-loop): add token-budget awareness and tool output pruning
Opened
#63 fix(agents): validate LLMAgent tool dispatch against declared tools list
Opened
#65 bug(agents): LLM token consumption undercounted — pruning model calls untracked, earlier loop rounds overwritten
Opened
#67 Add tool-call support to LLMAgent.stream_message
Opened
#69 LLM Agent Communication Retry Mechanisms with Exponential Backoff
Opened
#71 ConnectionError retry exhaustion silently swallowed, producing empty response instead of propagating ExecutionError
Opened
#73 Add tool_agent_class parameter to AgentFactory and create_executor to support runtime-injected ToolAgent subclasses
Opened
#75 Implement real type: tool graph node execution by wiring NodeConfig.tool to ToolAgent._execute_tool
Opened
#76 Enforce USD budget at each agent invocation (incl. pruning): skip pruning when tripped, fail immediately with no retries at zero/negative balance
Opened
#77 Epic: LLM Agent Runtime Stabilization — reliability, resource enforcement & correctness hardening
Opened
#78 Invert default exception handling: stop swallowing by default; catch only recoverable exceptions and propagate the rest
Opened
#82 feat(agents): surface timeout budget in tool schemas and errors
Opened
#83 feat(agents): add offset-based pagination to file_read
Opened
#86 fix(ci): benchmark_regression job intermittently hangs/times out and never signals real regressions correctly
Opened
#88 feat(skills): add Skill package schema and agent-side skill loading support
Opened
#89 Graph route with an edge to a non-existent target node executes partially then exits silently instead of failing config validation
Opened
#90 Graph route with an edge to a non-existent target node executes partially then exits silently instead of failing config validation
Opened
#91 Graph route with an edge to a non-existent target node executes partially then exits silently instead of failing config validation
Opened
#92 TDD: Graph route with an edge to a non-existent target node executes partially then exits silently instead of failing config validation
Opened
#93 Expose sandboxed read_file/write_file helpers to inline code (Python_exec) in unsafe mode