UNPKG

claude-flow-novice

Version:

Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture Includes Local RuVector Accelerator and all CFN skills for complete functionality.

138 lines (137 loc) 3.99 kB
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "file-operations/memory-persistence/v1.0.0", "title": "Memory State Persistence Schema", "description": "Schema for persisting memory state using SQLite or Redis (Integration Point 2.10)", "type": "object", "required": ["persistence_id", "state_key", "state_data", "storage_backend", "timestamp"], "properties": { "persistence_id": { "type": "string", "description": "Unique identifier for persistence operation", "pattern": "^persist-[a-z0-9-]+$" }, "state_key": { "type": "string", "description": "Key identifying the state", "pattern": "^[a-z0-9:_-]+$" }, "state_data": { "type": "object", "description": "State data to persist" }, "storage_backend": { "type": "string", "enum": ["sqlite", "redis", "both"], "description": "Storage backend used" }, "timestamp": { "type": "string", "format": "date-time", "description": "Persistence timestamp" }, "selection_criteria": { "type": "object", "description": "Criteria for choosing SQLite vs Redis", "properties": { "data_size_bytes": { "type": "integer", "description": "Size of data being persisted" }, "access_pattern": { "type": "string", "enum": ["frequent", "infrequent", "one-time"], "description": "Expected access pattern" }, "durability_required": { "type": "boolean", "description": "Whether data must survive process restart" }, "ttl_seconds": { "type": "integer", "description": "Time-to-live in seconds (0 = permanent)" } } }, "sync_strategy": { "type": "object", "description": "Sync strategy between SQLite and Redis", "properties": { "enabled": { "type": "boolean", "description": "Whether to sync between stores", "default": false }, "direction": { "type": "string", "enum": ["sqlite_to_redis", "redis_to_sqlite", "bidirectional"], "description": "Sync direction" }, "sync_interval_seconds": { "type": "integer", "minimum": 1, "description": "Sync interval" } } }, "recovery_config": { "type": "object", "description": "Recovery procedures", "properties": { "backup_enabled": { "type": "boolean", "default": true }, "backup_interval_hours": { "type": "integer", "minimum": 1, "default": 24 }, "recovery_point_objective_minutes": { "type": "integer", "description": "Maximum acceptable data loss (RPO)" } } }, "compression": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": false }, "algorithm": { "type": "string", "enum": ["gzip", "brotli", "none"], "default": "none" } } } }, "additionalProperties": false, "examples": [ { "persistence_id": "persist-agent-state-001", "state_key": "agent:backend-001:state", "state_data": { "current_task": "task-auth", "iteration": 1, "confidence": 0.85 }, "storage_backend": "redis", "timestamp": "2025-11-17T10:30:00Z", "selection_criteria": { "data_size_bytes": 512, "access_pattern": "frequent", "durability_required": false, "ttl_seconds": 3600 }, "sync_strategy": { "enabled": false }, "recovery_config": { "backup_enabled": false } } ] }