agentic 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/.agentic.yml +2 -0
  3. data/.architecture/decisions/ArchitecturalFeatureBuilder.md +136 -0
  4. data/.architecture/decisions/ArchitectureConsiderations.md +200 -0
  5. data/.architecture/decisions/adr_001_observer_pattern_implementation.md +196 -0
  6. data/.architecture/decisions/adr_002_plan_orchestrator.md +320 -0
  7. data/.architecture/decisions/adr_003_plan_orchestrator_interface.md +179 -0
  8. data/.architecture/decisions/adrs/ADR-001-dependency-management.md +147 -0
  9. data/.architecture/decisions/adrs/ADR-002-system-boundaries.md +162 -0
  10. data/.architecture/decisions/adrs/ADR-003-content-safety.md +158 -0
  11. data/.architecture/decisions/adrs/ADR-004-agent-permissions.md +161 -0
  12. data/.architecture/decisions/adrs/ADR-005-adaptation-engine.md +127 -0
  13. data/.architecture/decisions/adrs/ADR-006-extension-system.md +273 -0
  14. data/.architecture/decisions/adrs/ADR-007-learning-system.md +156 -0
  15. data/.architecture/decisions/adrs/ADR-008-prompt-generation.md +325 -0
  16. data/.architecture/decisions/adrs/ADR-009-task-failure-handling.md +353 -0
  17. data/.architecture/decisions/adrs/ADR-010-task-input-handling.md +251 -0
  18. data/.architecture/decisions/adrs/ADR-011-task-observable-pattern.md +391 -0
  19. data/.architecture/decisions/adrs/ADR-012-task-output-handling.md +205 -0
  20. data/.architecture/decisions/adrs/ADR-013-architecture-alignment.md +211 -0
  21. data/.architecture/decisions/adrs/ADR-014-agent-capability-registry.md +80 -0
  22. data/.architecture/decisions/adrs/ADR-015-persistent-agent-store.md +100 -0
  23. data/.architecture/decisions/adrs/ADR-016-agent-assembly-engine.md +117 -0
  24. data/.architecture/decisions/adrs/ADR-017-streaming-observability.md +171 -0
  25. data/.architecture/decisions/capability_tools_distinction.md +150 -0
  26. data/.architecture/decisions/cli_command_structure.md +61 -0
  27. data/.architecture/implementation/agent_self_assembly_implementation.md +267 -0
  28. data/.architecture/implementation/agent_self_assembly_summary.md +138 -0
  29. data/.architecture/members.yml +187 -0
  30. data/.architecture/planning/self_implementation_exercise.md +295 -0
  31. data/.architecture/planning/session_compaction_rule.md +43 -0
  32. data/.architecture/planning/streaming_observability_feature.md +223 -0
  33. data/.architecture/principles.md +151 -0
  34. data/.architecture/recalibration/0-2-0.md +92 -0
  35. data/.architecture/recalibration/agent_self_assembly.md +238 -0
  36. data/.architecture/recalibration/cli_command_structure.md +91 -0
  37. data/.architecture/recalibration/implementation_roadmap_0-2-0.md +301 -0
  38. data/.architecture/recalibration/progress_tracking_0-2-0.md +114 -0
  39. data/.architecture/recalibration_process.md +127 -0
  40. data/.architecture/reviews/0-2-0.md +181 -0
  41. data/.architecture/reviews/cli_command_duplication.md +98 -0
  42. data/.architecture/templates/adr.md +105 -0
  43. data/.architecture/templates/implementation_roadmap.md +125 -0
  44. data/.architecture/templates/progress_tracking.md +89 -0
  45. data/.architecture/templates/recalibration_plan.md +70 -0
  46. data/.architecture/templates/version_comparison.md +124 -0
  47. data/.claude/settings.local.json +13 -0
  48. data/.claude-sessions/001-task-class-architecture-implementation.md +129 -0
  49. data/.claude-sessions/002-plan-orchestrator-interface-review.md +105 -0
  50. data/.claude-sessions/architecture-governance-implementation.md +37 -0
  51. data/.claude-sessions/architecture-review-session.md +27 -0
  52. data/ArchitecturalFeatureBuilder.md +136 -0
  53. data/ArchitectureConsiderations.md +229 -0
  54. data/CHANGELOG.md +57 -2
  55. data/CLAUDE.md +111 -0
  56. data/CONTRIBUTING.md +286 -0
  57. data/MAINTAINING.md +301 -0
  58. data/README.md +582 -28
  59. data/docs/agent_capabilities_api.md +259 -0
  60. data/docs/artifact_extension_points.md +757 -0
  61. data/docs/artifact_generation_architecture.md +323 -0
  62. data/docs/artifact_implementation_plan.md +596 -0
  63. data/docs/artifact_integration_points.md +345 -0
  64. data/docs/artifact_verification_strategies.md +581 -0
  65. data/docs/streaming_observability_architecture.md +510 -0
  66. data/exe/agentic +6 -1
  67. data/lefthook.yml +5 -0
  68. data/lib/agentic/adaptation_engine.rb +124 -0
  69. data/lib/agentic/agent.rb +181 -4
  70. data/lib/agentic/agent_assembly_engine.rb +442 -0
  71. data/lib/agentic/agent_capability_registry.rb +260 -0
  72. data/lib/agentic/agent_config.rb +63 -0
  73. data/lib/agentic/agent_specification.rb +46 -0
  74. data/lib/agentic/capabilities/examples.rb +530 -0
  75. data/lib/agentic/capabilities.rb +14 -0
  76. data/lib/agentic/capability_provider.rb +146 -0
  77. data/lib/agentic/capability_specification.rb +118 -0
  78. data/lib/agentic/cli/agent.rb +31 -0
  79. data/lib/agentic/cli/capabilities.rb +191 -0
  80. data/lib/agentic/cli/config.rb +134 -0
  81. data/lib/agentic/cli/execution_observer.rb +796 -0
  82. data/lib/agentic/cli.rb +1068 -0
  83. data/lib/agentic/default_agent_provider.rb +35 -0
  84. data/lib/agentic/errors/llm_error.rb +184 -0
  85. data/lib/agentic/execution_plan.rb +53 -0
  86. data/lib/agentic/execution_result.rb +91 -0
  87. data/lib/agentic/expected_answer_format.rb +46 -0
  88. data/lib/agentic/extension/domain_adapter.rb +109 -0
  89. data/lib/agentic/extension/plugin_manager.rb +163 -0
  90. data/lib/agentic/extension/protocol_handler.rb +116 -0
  91. data/lib/agentic/extension.rb +45 -0
  92. data/lib/agentic/factory_methods.rb +9 -1
  93. data/lib/agentic/generation_stats.rb +61 -0
  94. data/lib/agentic/learning/README.md +84 -0
  95. data/lib/agentic/learning/capability_optimizer.rb +613 -0
  96. data/lib/agentic/learning/execution_history_store.rb +251 -0
  97. data/lib/agentic/learning/pattern_recognizer.rb +500 -0
  98. data/lib/agentic/learning/strategy_optimizer.rb +706 -0
  99. data/lib/agentic/learning.rb +131 -0
  100. data/lib/agentic/llm_assisted_composition_strategy.rb +188 -0
  101. data/lib/agentic/llm_client.rb +215 -15
  102. data/lib/agentic/llm_config.rb +65 -1
  103. data/lib/agentic/llm_response.rb +163 -0
  104. data/lib/agentic/logger.rb +1 -1
  105. data/lib/agentic/observable.rb +51 -0
  106. data/lib/agentic/persistent_agent_store.rb +385 -0
  107. data/lib/agentic/plan_execution_result.rb +129 -0
  108. data/lib/agentic/plan_orchestrator.rb +464 -0
  109. data/lib/agentic/plan_orchestrator_config.rb +57 -0
  110. data/lib/agentic/retry_config.rb +63 -0
  111. data/lib/agentic/retry_handler.rb +125 -0
  112. data/lib/agentic/structured_outputs.rb +1 -1
  113. data/lib/agentic/task.rb +193 -0
  114. data/lib/agentic/task_definition.rb +39 -0
  115. data/lib/agentic/task_execution_result.rb +92 -0
  116. data/lib/agentic/task_failure.rb +66 -0
  117. data/lib/agentic/task_output_schemas.rb +112 -0
  118. data/lib/agentic/task_planner.rb +54 -19
  119. data/lib/agentic/task_result.rb +48 -0
  120. data/lib/agentic/ui.rb +244 -0
  121. data/lib/agentic/verification/critic_framework.rb +116 -0
  122. data/lib/agentic/verification/llm_verification_strategy.rb +60 -0
  123. data/lib/agentic/verification/schema_verification_strategy.rb +47 -0
  124. data/lib/agentic/verification/verification_hub.rb +62 -0
  125. data/lib/agentic/verification/verification_result.rb +50 -0
  126. data/lib/agentic/verification/verification_strategy.rb +26 -0
  127. data/lib/agentic/version.rb +1 -1
  128. data/lib/agentic.rb +74 -2
  129. data/plugins/README.md +41 -0
  130. metadata +245 -6
@@ -0,0 +1,323 @@
1
+ # Artifact Generation Architecture
2
+
3
+ ## Executive Summary
4
+
5
+ This document outlines the architectural design for adding artifact generation capabilities to the Agentic framework. The proposed system extends the current task-execution model to produce concrete artifacts (files, applications, programs) rather than just text summaries.
6
+
7
+ ## Current State Analysis
8
+
9
+ ### Existing Components
10
+ - **Task System**: Tasks produce text/JSON outputs through agents
11
+ - **Agent System**: Agents execute prompts and return structured responses
12
+ - **Capability System**: Extensible abilities like `code_generation` that produce text code
13
+ - **Orchestration System**: Handles task dependencies, concurrency, and lifecycle
14
+ - **Verification System**: Quality assurance and validation of outputs
15
+ - **Extension System**: Plugin architecture for domain-specific functionality
16
+
17
+ ### Current Limitations
18
+ 1. **Output Format**: Tasks only produce text/JSON responses stored in memory
19
+ 2. **Artifact Persistence**: No mechanism for writing generated content to files
20
+ 3. **Multi-file Generation**: Cannot coordinate creation of multiple related files
21
+ 4. **Artifact Verification**: No validation of actual file artifacts vs. text content
22
+ 5. **Workspace Management**: No concept of working directories or project structures
23
+
24
+ ## Proposed Architecture
25
+
26
+ ### Core Design Principles
27
+
28
+ Following the established architectural patterns:
29
+
30
+ 1. **Layer Separation**: Artifact generation spans Foundation, Runtime, and Verification layers
31
+ 2. **Extension Points**: Support for different artifact types and generators
32
+ 3. **Observable Pattern**: Stream artifact creation events for monitoring
33
+ 4. **Result-Oriented**: Concrete artifact results with success/failure handling
34
+ 5. **Dependency Injection**: Configurable artifact generators and writers
35
+
36
+ ### System Components
37
+
38
+ #### 1. Foundation Layer Additions
39
+
40
+ **ArtifactRegistry**
41
+ - Central registry for artifact types and generators
42
+ - Manages artifact type specifications and providers
43
+ - Handles versioning and compatibility
44
+
45
+ **ArtifactSpecification**
46
+ ```ruby
47
+ class ArtifactSpecification
48
+ attr_reader :type, :file_extension, :validation_rules, :dependencies
49
+
50
+ # type: "source_code", "configuration", "documentation", "executable"
51
+ # file_extension: ".rb", ".json", ".md", ".exe"
52
+ # validation_rules: syntax checking, linting, testing
53
+ # dependencies: related artifact types needed
54
+ end
55
+ ```
56
+
57
+ **ArtifactGenerator**
58
+ ```ruby
59
+ class ArtifactGenerator
60
+ # Generates content for specific artifact types
61
+ # Interfaces with LLM agents to produce artifact content
62
+ # Handles template-based generation and content structuring
63
+ end
64
+ ```
65
+
66
+ #### 2. Runtime Layer Extensions
67
+
68
+ **ArtifactTask** (extends Task)
69
+ ```ruby
70
+ class ArtifactTask < Task
71
+ attr_reader :artifact_specs, :workspace_path, :artifacts_produced
72
+
73
+ # artifact_specs: Array of ArtifactSpecification defining what to create
74
+ # workspace_path: Directory where artifacts should be written
75
+ # artifacts_produced: Array of ArtifactResult objects
76
+ end
77
+ ```
78
+
79
+ **ArtifactResult** (extends TaskResult)
80
+ ```ruby
81
+ class ArtifactResult < TaskResult
82
+ attr_reader :artifacts, :workspace_metadata
83
+
84
+ # artifacts: Array of individual artifact files created
85
+ # workspace_metadata: Directory structure, file relationships, etc.
86
+ end
87
+ ```
88
+
89
+ **Artifact** (individual file/resource)
90
+ ```ruby
91
+ class Artifact
92
+ attr_reader :type, :path, :content, :metadata, :verification_status
93
+
94
+ # type: ArtifactSpecification type
95
+ # path: Absolute file path where written
96
+ # content: Generated content (for in-memory validation)
97
+ # metadata: Size, timestamps, dependencies, etc.
98
+ # verification_status: Validation results
99
+ end
100
+ ```
101
+
102
+ **WorkspaceManager**
103
+ ```ruby
104
+ class WorkspaceManager
105
+ # Manages working directories for artifact generation
106
+ # Handles directory creation, cleanup, and organization
107
+ # Tracks file dependencies and relationships
108
+ # Provides sandboxed environments for generation
109
+ end
110
+ ```
111
+
112
+ #### 3. Verification Layer Extensions
113
+
114
+ **ArtifactVerificationStrategy**
115
+ ```ruby
116
+ class ArtifactVerificationStrategy < VerificationStrategy
117
+ # Validates generated artifacts using appropriate tools:
118
+ # - Syntax checking for code files
119
+ # - Schema validation for configuration files
120
+ # - Linting and formatting checks
121
+ # - Execution testing for programs
122
+ # - Link checking for documentation
123
+ end
124
+ ```
125
+
126
+ **ArtifactQualityMetrics**
127
+ ```ruby
128
+ class ArtifactQualityMetrics
129
+ # Measures artifact quality:
130
+ # - Code complexity and maintainability
131
+ # - Documentation completeness
132
+ # - Test coverage (if applicable)
133
+ # - Performance characteristics
134
+ # - Security compliance
135
+ end
136
+ ```
137
+
138
+ #### 4. Extension System Enhancements
139
+
140
+ **ArtifactTypeProvider** (plugin interface)
141
+ ```ruby
142
+ class ArtifactTypeProvider
143
+ # Plugin interface for supporting new artifact types
144
+ # Defines generation strategies, validation rules, and tooling
145
+ # Examples: RubyGemProvider, ReactAppProvider, DockerImageProvider
146
+ end
147
+ ```
148
+
149
+ **WorkspaceTemplate**
150
+ ```ruby
151
+ class WorkspaceTemplate
152
+ # Predefined project structures for different domains
153
+ # Ruby gem template, React app template, CLI tool template
154
+ # Handles scaffolding and initial file structure
155
+ end
156
+ ```
157
+
158
+ ### Data Flow Architecture
159
+
160
+ ```
161
+ Goal/Requirements → TaskPlanner → ArtifactTask Creation
162
+
163
+ Agent Selection → Artifact Specification Analysis
164
+
165
+ Workspace Preparation → Content Generation → File Writing
166
+
167
+ Artifact Verification → Quality Assessment → Result Package
168
+
169
+ Human Review (if needed) → Final Artifact Delivery
170
+ ```
171
+
172
+ ### Integration Points
173
+
174
+ #### Task System Integration
175
+ - **ArtifactTask** extends existing Task class
176
+ - Maintains compatibility with current orchestration
177
+ - Observable events for artifact creation progress
178
+ - Results integrate with existing TaskResult handling
179
+
180
+ #### Agent System Integration
181
+ - Agents gain `generate_artifact` capability
182
+ - Multi-step artifact generation coordination
183
+ - Content generation separated from file writing
184
+ - Supports both single and multi-file projects
185
+
186
+ #### Capability System Integration
187
+ - New artifact generation capabilities:
188
+ - `file_generation`: Creates individual files
189
+ - `project_scaffolding`: Sets up project structures
190
+ - `multi_file_coordination`: Manages file dependencies
191
+ - `workspace_management`: Handles directories and organization
192
+
193
+ #### Verification Integration
194
+ - **ArtifactVerificationHub** coordinates validation
195
+ - Type-specific verification strategies
196
+ - Integration with external tools (linters, compilers, testers)
197
+ - Quality metrics collection and reporting
198
+
199
+ ### Example Usage Scenarios
200
+
201
+ #### Single File Generation
202
+ ```ruby
203
+ task = ArtifactTask.new(
204
+ description: "Create a Ruby class for user authentication",
205
+ artifact_specs: [
206
+ ArtifactSpecification.new(
207
+ type: "ruby_class",
208
+ file_extension: ".rb",
209
+ validation_rules: ["syntax_check", "rubocop_lint"]
210
+ )
211
+ ],
212
+ workspace_path: "/tmp/auth_project"
213
+ )
214
+ ```
215
+
216
+ #### Multi-File Project Generation
217
+ ```ruby
218
+ task = ArtifactTask.new(
219
+ description: "Create a complete Ruby gem for API client",
220
+ artifact_specs: [
221
+ ArtifactSpecification.new(type: "gemspec"),
222
+ ArtifactSpecification.new(type: "ruby_source"),
223
+ ArtifactSpecification.new(type: "test_files"),
224
+ ArtifactSpecification.new(type: "documentation"),
225
+ ArtifactSpecification.new(type: "configuration")
226
+ ],
227
+ workspace_template: "ruby_gem",
228
+ workspace_path: "/tmp/api_client_gem"
229
+ )
230
+ ```
231
+
232
+ #### Application Generation
233
+ ```ruby
234
+ task = ArtifactTask.new(
235
+ description: "Create a React web application for task management",
236
+ artifact_specs: [
237
+ ArtifactSpecification.new(type: "react_components"),
238
+ ArtifactSpecification.new(type: "css_styles"),
239
+ ArtifactSpecification.new(type: "package_json"),
240
+ ArtifactSpecification.new(type: "build_configuration")
241
+ ],
242
+ workspace_template: "react_app",
243
+ workspace_path: "/tmp/task_manager_app"
244
+ )
245
+ ```
246
+
247
+ ## Implementation Strategy
248
+
249
+ ### Phase 1: Core Infrastructure
250
+ 1. Implement ArtifactSpecification and ArtifactRegistry
251
+ 2. Create WorkspaceManager for directory handling
252
+ 3. Extend Task system with ArtifactTask
253
+ 4. Basic file writing and result tracking
254
+
255
+ ### Phase 2: Generation Engine
256
+ 1. Implement ArtifactGenerator with LLM integration
257
+ 2. Add basic artifact types (text files, simple code)
258
+ 3. Create verification strategies for common types
259
+ 4. Observable events for artifact creation
260
+
261
+ ### Phase 3: Orchestration Integration
262
+ 1. Integrate with PlanOrchestrator
263
+ 2. Multi-file coordination and dependencies
264
+ 3. Workspace templates and scaffolding
265
+ 4. Enhanced error handling and recovery
266
+
267
+ ### Phase 4: Advanced Features
268
+ 1. Plugin system for custom artifact types
269
+ 2. Advanced verification with external tools
270
+ 3. Quality metrics and optimization
271
+ 4. Human intervention points for review
272
+
273
+ ### Phase 5: Domain Specialization
274
+ 1. Pre-built providers for common scenarios
275
+ 2. Framework-specific templates (Rails, React, etc.)
276
+ 3. Integration with package managers and build systems
277
+ 4. Deployment and distribution capabilities
278
+
279
+ ## Benefits
280
+
281
+ ### For Users
282
+ - **Concrete Deliverables**: Actual working code/files instead of descriptions
283
+ - **Complete Projects**: Generate entire applications, not just components
284
+ - **Quality Assurance**: Built-in validation and testing of generated artifacts
285
+ - **Workspace Organization**: Proper project structure and file organization
286
+
287
+ ### For System
288
+ - **Extensibility**: Plugin architecture for new artifact types
289
+ - **Reusability**: Template-based generation for common patterns
290
+ - **Observability**: Full visibility into artifact creation process
291
+ - **Verification**: Comprehensive quality control and validation
292
+
293
+ ### For Developers
294
+ - **Rapid Prototyping**: Quickly generate working prototypes
295
+ - **Scaffolding**: Automated project setup and boilerplate
296
+ - **Best Practices**: Built-in adherence to coding standards
297
+ - **Learning**: See complete, working examples of desired functionality
298
+
299
+ ## Risk Mitigation
300
+
301
+ ### Security Considerations
302
+ - **Sandboxed Workspaces**: Isolated generation environments
303
+ - **Path Validation**: Prevent directory traversal attacks
304
+ - **Content Scanning**: Validate generated content for security issues
305
+ - **Permission Controls**: Limit file system access and capabilities
306
+
307
+ ### Quality Assurance
308
+ - **Multi-Layer Verification**: Syntax, linting, testing validation
309
+ - **Human Review Points**: Configurable checkpoints for approval
310
+ - **Rollback Capabilities**: Ability to undo artifact generation
311
+ - **Version Control Integration**: Track changes and history
312
+
313
+ ### Performance Considerations
314
+ - **Incremental Generation**: Stream artifact creation for large projects
315
+ - **Parallel Processing**: Coordinate multiple file generation
316
+ - **Resource Management**: Limit workspace size and generation time
317
+ - **Caching**: Reuse common templates and patterns
318
+
319
+ ## Conclusion
320
+
321
+ This artifact generation architecture extends Agentic's current capabilities while maintaining architectural consistency and extensibility. The system provides a robust foundation for creating concrete deliverables while preserving the quality, verification, and human oversight principles that make Agentic effective.
322
+
323
+ The phased implementation approach allows for incremental development and validation, ensuring each component integrates well with the existing system before adding complexity.