UNPKG

aiwg

Version:

Cognitive architecture for AI-augmented software development with structured memory, ensemble validation, and closed-loop correction. FAIR-aligned artifacts, 84% cost reduction via human-in-the-loop, standards adopted by 100+ organizations.

331 lines (304 loc) 7.82 kB
# Ralph MCP Task Schema # Based on REF-066 MCP Specification 2024-11-05 # Issue: #123 $schema: "https://json-schema.org/draft/2020-12/schema" $id: "https://aiwg.io/schemas/ralph-mcp-task/v1" title: "Ralph MCP Task Resource Schema" description: | Schema for Ralph iterative loops as MCP Task resources. Enables standardized async operation management per MCP specification. type: object required: - uri - name - completion_criteria - state properties: uri: type: string pattern: "^aiwg://tasks/ralph/[a-zA-Z0-9-]+$" description: "Task resource URI" examples: - "aiwg://tasks/ralph/fix-tests-001" - "aiwg://tasks/ralph/refactor-auth-002" name: type: string minLength: 1 maxLength: 200 description: "Human-readable task name (objective)" examples: - "Fix all failing tests" - "Implement authentication module" description: type: string description: "Detailed task description" completion_criteria: type: string description: "Criteria that define when the task is complete" examples: - "npm test passes with 0 failures" - "All TODOs in codebase resolved" - "Security audit passes with no critical findings" state: $ref: "#/$defs/TaskState" progress: $ref: "#/$defs/Progress" created_at: type: string format: date-time updated_at: type: string format: date-time metadata: type: object properties: created_by: type: string description: "User or agent that created task" priority: type: string enum: [low, normal, high, critical] default: normal tags: type: array items: type: string execution_mode: type: string enum: [strict, seeded, logged, default] default: default additionalProperties: true $defs: TaskState: type: object required: - iteration - max_iterations - status properties: iteration: type: integer minimum: 0 description: "Current iteration number" max_iterations: type: integer minimum: 1 default: 200 description: "Maximum iterations before stopping" status: type: string enum: - pending # Not yet started - running # Currently executing - paused # Temporarily stopped - completed # Successfully finished - failed # Failed with error - cancelled # Manually cancelled description: "Current task status" last_action: type: string description: "Description of last action taken" next_steps: type: array items: type: string description: "Planned next steps" error: type: object properties: message: type: string code: type: string recoverable: type: boolean description: "Error details if failed" Progress: type: object properties: percentage: type: number minimum: 0 maximum: 100 description: "Progress percentage" message: type: string description: "Current progress message" artifacts_created: type: integer minimum: 0 artifacts_modified: type: integer minimum: 0 checkpoints: type: integer minimum: 0 description: "Number of checkpoints saved" # MCP Task Operations operations: list: description: "List all Ralph tasks" request: method: "tasks/list" params: status: type: string description: "Filter by status" response: type: array items: $ref: "#" start: description: "Start a new Ralph task" request: method: "tasks/start" params: objective: type: string required: true completion_criteria: type: string required: true max_iterations: type: integer default: 200 execution_mode: type: string enum: [strict, seeded, logged, default] default: default response: $ref: "#" cancel: description: "Cancel a running task" request: method: "tasks/cancel" params: task_id: type: string required: true response: type: object properties: success: type: boolean resume: description: "Resume a paused task" request: method: "tasks/resume" params: task_id: type: string required: true from_checkpoint: type: string description: "Resume from specific checkpoint ID" response: $ref: "#" pause: description: "Pause a running task" request: method: "tasks/pause" params: task_id: type: string required: true response: $ref: "#" get_status: description: "Get task status" request: method: "tasks/status" params: task_id: type: string required: true response: $ref: "#" # Agent protocol for task management agent_protocol: task_lifecycle: description: "How agents manage task lifecycle" phases: - name: creation actions: - validate_objective - parse_completion_criteria - set_initial_state - create_checkpoint - name: execution actions: - evaluate_state - plan_next_action - execute_action - update_progress - check_completion - checkpoint_if_needed - name: completion actions: - verify_criteria_met - final_checkpoint - update_status - report_results progress_reporting: frequency: "every_iteration" fields: - percentage - message - artifacts_created error_handling: on_transient_error: action: retry max_retries: 3 backoff: exponential on_permanent_error: action: fail preserve_checkpoint: true # Storage storage: location: ".aiwg/ralph/tasks/" format: json index: ".aiwg/ralph/tasks/index.json" checkpoint_dir: ".aiwg/ralph/checkpoints/" # Integration with existing Ralph migration: strategy: parallel feature_flag: "AIWG_RALPH_MCP_TASKS" phases: - name: parallel_operation description: "Run MCP tasks alongside legacy Ralph" - name: internal_migration description: "Migrate internal Ralph to use MCP tasks" - name: external_migration description: "Migrate ralph-external to use MCP tasks" - name: deprecate_legacy description: "Remove legacy implementation" # Examples examples: - uri: "aiwg://tasks/ralph/fix-tests-001" name: "Fix all failing tests" completion_criteria: "npm test passes with 0 failures" state: iteration: 5 max_iterations: 200 status: running last_action: "Fixed type error in auth.ts" next_steps: - "Run tests to check remaining failures" - "Fix import path issue" progress: percentage: 25 message: "Fixed 5 of 20 test failures" artifacts_modified: 3 checkpoints: 2 created_at: "2026-01-25T10:00:00Z" updated_at: "2026-01-25T10:30:00Z" # References references: research: - "@.aiwg/research/findings/REF-066-mcp-spec.md" implementation: - "#123" related: - "@agentic/code/addons/ralph/schemas/checkpoint.yaml" - "@agentic/code/frameworks/sdlc-complete/schemas/flows/execution-mode.yaml" - "@.claude/commands/ralph.md"