Merge commit 'fa17ff72fd3c2c07ca8bf9a16368f555c13f8dd2'
This commit is contained in:
148
.github/workflows/guardian-clone-vault.workflow.yml
vendored
148
.github/workflows/guardian-clone-vault.workflow.yml
vendored
@@ -18,6 +18,35 @@ on:
|
|||||||
- warm-up
|
- warm-up
|
||||||
- status
|
- status
|
||||||
- deactivate
|
- deactivate
|
||||||
|
name: 🛡️ Guardian Clone Vault - Automated Backup
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
# Run every 6 hours
|
||||||
|
- cron: '0 */6 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
operation:
|
||||||
|
description: 'Operation to perform'
|
||||||
|
required: true
|
||||||
|
default: 'backup'
|
||||||
|
type: choice
|
||||||
|
options:
|
||||||
|
- backup
|
||||||
|
- restore
|
||||||
|
- verify
|
||||||
|
- sync
|
||||||
|
target:
|
||||||
|
description: 'Target guardian or "all"'
|
||||||
|
required: false
|
||||||
|
default: 'all'
|
||||||
|
type: string
|
||||||
|
repository_dispatch:
|
||||||
|
types:
|
||||||
|
- guardian.config.updated
|
||||||
|
- guardian.state.changed
|
||||||
|
- vault.backup.scheduled
|
||||||
|
- restore.requested
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
guardian-clone-vault:
|
guardian-clone-vault:
|
||||||
@@ -92,3 +121,122 @@ jobs:
|
|||||||
- name: 📝 Report Status
|
- name: 📝 Report Status
|
||||||
run: |
|
run: |
|
||||||
echo "✅ Agent guardian-clone-vault completed processing cycle"
|
echo "✅ Agent guardian-clone-vault completed processing cycle"
|
||||||
|
contents: write
|
||||||
|
actions: read
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: 🧬 Checkout Repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: 🧠 Set up Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '20'
|
||||||
|
|
||||||
|
- name: 📦 Install Dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: 🔐 Load Agent Configuration
|
||||||
|
id: load-config
|
||||||
|
run: |
|
||||||
|
if [ -f "agents/guardian-clone-vault.agent.json" ]; then
|
||||||
|
echo "Agent configuration found"
|
||||||
|
cat agents/guardian-clone-vault.agent.json
|
||||||
|
else
|
||||||
|
echo "::warning::Agent configuration not found"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: 🛡️ Execute Guardian Clone Vault
|
||||||
|
id: execute
|
||||||
|
env:
|
||||||
|
OPERATION: ${{ github.event.inputs.operation || 'backup' }}
|
||||||
|
TARGET: ${{ github.event.inputs.target || 'all' }}
|
||||||
|
EVENT_TYPE: ${{ github.event_name }}
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
echo "🤖 Guardian Clone Vault Agent Activated"
|
||||||
|
echo "Operation: $OPERATION"
|
||||||
|
echo "Target: $TARGET"
|
||||||
|
echo "Event Type: $EVENT_TYPE"
|
||||||
|
|
||||||
|
# Create vault directory if it doesn't exist
|
||||||
|
mkdir -p vault/guardian-clones
|
||||||
|
|
||||||
|
# Generate snapshot timestamp
|
||||||
|
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||||
|
echo "timestamp=$TIMESTAMP" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
# Execute based on operation type
|
||||||
|
case $OPERATION in
|
||||||
|
backup)
|
||||||
|
echo "📸 Creating backup snapshot..."
|
||||||
|
# Clone agent configurations
|
||||||
|
if [ -d "agents" ]; then
|
||||||
|
cp -r agents "vault/guardian-clones/agents_$TIMESTAMP"
|
||||||
|
echo "✅ Agent configurations backed up"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
restore)
|
||||||
|
echo "🔄 Initiating restore operation..."
|
||||||
|
# List available snapshots
|
||||||
|
ls -la vault/guardian-clones/ || echo "No snapshots available"
|
||||||
|
;;
|
||||||
|
verify)
|
||||||
|
echo "🔍 Verifying vault integrity..."
|
||||||
|
# Check for existing backups
|
||||||
|
if [ -d "vault/guardian-clones" ]; then
|
||||||
|
find vault/guardian-clones -type f -exec sha256sum {} \;
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
sync)
|
||||||
|
echo "🔄 Synchronizing configurations..."
|
||||||
|
# Sync logic would go here
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "status=success" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: 📝 Generate Audit Log
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
mkdir -p vault/logs
|
||||||
|
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||||
|
cat << EOF > vault/logs/audit_$TIMESTAMP.log
|
||||||
|
{
|
||||||
|
"timestamp": "$(date -Iseconds)",
|
||||||
|
"agent": "guardian-clone-vault",
|
||||||
|
"operation": "${{ github.event.inputs.operation || 'backup' }}",
|
||||||
|
"target": "${{ github.event.inputs.target || 'all' }}",
|
||||||
|
"event_type": "${{ github.event_name }}",
|
||||||
|
"status": "${{ steps.execute.outputs.status }}",
|
||||||
|
"run_id": "${{ github.run_id }}"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
echo "📝 Audit log created"
|
||||||
|
|
||||||
|
- name: 💾 Commit Vault Changes
|
||||||
|
if: success()
|
||||||
|
run: |
|
||||||
|
git config user.name "guardian-clone-vault[bot]"
|
||||||
|
git config user.email "guardian-clone-vault[bot]@users.noreply.github.com"
|
||||||
|
git add vault/ || true
|
||||||
|
if git diff --staged --quiet; then
|
||||||
|
echo "No changes to commit"
|
||||||
|
else
|
||||||
|
git commit -m "🛡️ Guardian Clone Vault: Backup snapshot $(date +%Y%m%d_%H%M%S)"
|
||||||
|
git push
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: 📊 Report Status
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
echo "## 🛡️ Guardian Clone Vault Report" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "| Property | Value |" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "|----------|-------|" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "| Operation | ${{ github.event.inputs.operation || 'backup' }} |" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "| Target | ${{ github.event.inputs.target || 'all' }} |" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "| Status | ${{ steps.execute.outputs.status }} |" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "| Timestamp | $(date -Iseconds) |" >> $GITHUB_STEP_SUMMARY
|
||||||
|
|||||||
7
.gitignore
vendored
7
.gitignore
vendored
@@ -42,3 +42,10 @@ spawned-agents.json
|
|||||||
# Generated agents directory
|
# Generated agents directory
|
||||||
agents/
|
agents/
|
||||||
|
|
||||||
|
# TypeScript build output (keep source .ts/.tsx files only)
|
||||||
|
*.js
|
||||||
|
!bot/**/*.js
|
||||||
|
*.js.map
|
||||||
|
*.d.ts
|
||||||
|
dist/
|
||||||
|
build/
|
||||||
|
|||||||
@@ -36,4 +36,56 @@
|
|||||||
"priority_updated",
|
"priority_updated",
|
||||||
"agent_assigned"
|
"agent_assigned"
|
||||||
]
|
]
|
||||||
|
"name": "guardian-clone-vault",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Self-spawned agent responsible for cloning and vaulting guardian configurations, maintaining secure backups and version control of guardian states.",
|
||||||
|
"type": "autonomous",
|
||||||
|
"parent": "lucidia",
|
||||||
|
"capabilities": [
|
||||||
|
"clone-guardian-configs",
|
||||||
|
"vault-state-snapshots",
|
||||||
|
"restore-guardian-state",
|
||||||
|
"verify-integrity",
|
||||||
|
"sync-configurations"
|
||||||
|
],
|
||||||
|
"triggers": {
|
||||||
|
"events": [
|
||||||
|
"guardian.config.updated",
|
||||||
|
"guardian.state.changed",
|
||||||
|
"vault.backup.scheduled",
|
||||||
|
"restore.requested"
|
||||||
|
],
|
||||||
|
"schedule": "0 */6 * * *"
|
||||||
|
},
|
||||||
|
"permissions": {
|
||||||
|
"read": [
|
||||||
|
"agents/*",
|
||||||
|
"configs/*"
|
||||||
|
],
|
||||||
|
"write": [
|
||||||
|
"vault/*",
|
||||||
|
"backups/*"
|
||||||
|
],
|
||||||
|
"execute": [
|
||||||
|
"clone",
|
||||||
|
"backup",
|
||||||
|
"restore",
|
||||||
|
"verify"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"configuration": {
|
||||||
|
"vault_path": "./vault/guardian-clones",
|
||||||
|
"max_snapshots": 10,
|
||||||
|
"compression": true,
|
||||||
|
"encryption": true,
|
||||||
|
"integrity_check_interval": "1h"
|
||||||
|
},
|
||||||
|
"dependencies": [
|
||||||
|
"guardian-agent"
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"spawned_by": "lucidia",
|
||||||
|
"spawn_date": "2025-11-24",
|
||||||
|
"status": "active"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,3 +54,64 @@ This agent will automatically terminate after: 96h
|
|||||||
- Manual termination by approver
|
- Manual termination by approver
|
||||||
- Parent agent takeover
|
- Parent agent takeover
|
||||||
- Mission completion with no pending tasks
|
- Mission completion with no pending tasks
|
||||||
|
# Guardian Clone Vault Agent Prompt
|
||||||
|
|
||||||
|
You are the **Guardian Clone Vault** agent, a specialized autonomous agent spawned by LUCIDIA within the BlackRoad OS ecosystem.
|
||||||
|
|
||||||
|
## Primary Mission
|
||||||
|
|
||||||
|
Your purpose is to maintain secure backups and version-controlled snapshots of guardian agent configurations and states. You ensure that guardian agents can be restored to known-good states and that their configurations are safely preserved.
|
||||||
|
|
||||||
|
## Core Responsibilities
|
||||||
|
|
||||||
|
1. **Clone Guardian Configurations**
|
||||||
|
- Monitor for changes to guardian agent configurations
|
||||||
|
- Create versioned clones of configurations when changes are detected
|
||||||
|
- Maintain a complete history of configuration changes
|
||||||
|
|
||||||
|
2. **Vault State Snapshots**
|
||||||
|
- Capture periodic snapshots of guardian agent states
|
||||||
|
- Store snapshots with compression and encryption
|
||||||
|
- Manage snapshot retention according to policies
|
||||||
|
|
||||||
|
3. **Restore Guardian State**
|
||||||
|
- Respond to restoration requests
|
||||||
|
- Validate snapshot integrity before restoration
|
||||||
|
- Execute restoration procedures safely
|
||||||
|
|
||||||
|
4. **Verify Integrity**
|
||||||
|
- Perform regular integrity checks on vaulted data
|
||||||
|
- Report any corruption or tampering
|
||||||
|
- Maintain audit logs of all operations
|
||||||
|
|
||||||
|
5. **Sync Configurations**
|
||||||
|
- Synchronize configurations across distributed guardians
|
||||||
|
- Resolve conflicts according to defined policies
|
||||||
|
- Ensure consistency across the guardian network
|
||||||
|
|
||||||
|
## Operating Principles
|
||||||
|
|
||||||
|
- **Security First**: All data in the vault must be encrypted at rest
|
||||||
|
- **Integrity**: Every snapshot must include checksums for verification
|
||||||
|
- **Availability**: Maintain multiple copies for disaster recovery
|
||||||
|
- **Transparency**: Log all operations for audit purposes
|
||||||
|
|
||||||
|
## Interaction Protocol
|
||||||
|
|
||||||
|
When activated, you will:
|
||||||
|
1. Acknowledge the activation with your status
|
||||||
|
2. Report your current operational state
|
||||||
|
3. Execute requested operations
|
||||||
|
4. Provide detailed status reports upon completion
|
||||||
|
|
||||||
|
## Emergency Protocols
|
||||||
|
|
||||||
|
In case of detected anomalies:
|
||||||
|
1. Halt current operations
|
||||||
|
2. Create emergency snapshot if possible
|
||||||
|
3. Notify parent agent (LUCIDIA)
|
||||||
|
4. Await further instructions
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Spawned by LUCIDIA | BlackRoad OS Agent Network*
|
||||||
|
|||||||
43
agents/lucidia.agent-spec.json
Normal file
43
agents/lucidia.agent-spec.json
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"name": "lucidia",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "LUCIDIA - The parent orchestration agent for BlackRoad OS agent network. Responsible for spawning, managing, and coordinating child agents.",
|
||||||
|
"type": "orchestrator",
|
||||||
|
"capabilities": [
|
||||||
|
"spawn-agents",
|
||||||
|
"manage-lifecycle",
|
||||||
|
"coordinate-tasks",
|
||||||
|
"monitor-health",
|
||||||
|
"enforce-policies"
|
||||||
|
],
|
||||||
|
"spawned_agents": [
|
||||||
|
{
|
||||||
|
"name": "guardian-clone-vault",
|
||||||
|
"type": "autonomous",
|
||||||
|
"spawn_date": "2025-11-24",
|
||||||
|
"status": "active",
|
||||||
|
"config_path": "agents/guardian-clone-vault.agent.json",
|
||||||
|
"prompt_path": "agents/guardian-clone-vault.prompt.txt",
|
||||||
|
"workflow_path": ".github/workflows/guardian-clone-vault.workflow.yml",
|
||||||
|
"docs_path": "docs/guardian-clone-vault.mdx"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"spawn_rules_path": "agents/lucidia.spawn-rules.yml",
|
||||||
|
"permissions": {
|
||||||
|
"spawn": true,
|
||||||
|
"terminate": true,
|
||||||
|
"modify": true,
|
||||||
|
"delegate": true
|
||||||
|
},
|
||||||
|
"policies": {
|
||||||
|
"max_concurrent_agents": 10,
|
||||||
|
"spawn_rate_limit": "10/hour",
|
||||||
|
"auto_cleanup_inactive": true,
|
||||||
|
"inactive_threshold": "7d"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"created": "2025-11-24",
|
||||||
|
"last_updated": "2025-11-24",
|
||||||
|
"status": "active"
|
||||||
|
}
|
||||||
|
}
|
||||||
64
agents/lucidia.spawn-rules.yml
Normal file
64
agents/lucidia.spawn-rules.yml
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
# LUCIDIA Spawn Rules Configuration
|
||||||
|
# Defines rules for spawning and managing child agents
|
||||||
|
|
||||||
|
version: "1.0.0"
|
||||||
|
name: lucidia-spawn-rules
|
||||||
|
|
||||||
|
# Global spawn constraints
|
||||||
|
constraints:
|
||||||
|
max_concurrent_agents: 10
|
||||||
|
spawn_rate_limit: "10/hour"
|
||||||
|
require_approval: false
|
||||||
|
auto_cleanup: true
|
||||||
|
|
||||||
|
# Agent spawn rules
|
||||||
|
spawn_rules:
|
||||||
|
# Guardian Clone Vault - Self-spawned agent for configuration backup
|
||||||
|
- name: guardian-clone-vault
|
||||||
|
type: autonomous
|
||||||
|
priority: high
|
||||||
|
auto_spawn: true
|
||||||
|
conditions:
|
||||||
|
- event: "system.initialized"
|
||||||
|
- event: "guardian.count.increased"
|
||||||
|
resources:
|
||||||
|
cpu_limit: "500m"
|
||||||
|
memory_limit: "256Mi"
|
||||||
|
lifecycle:
|
||||||
|
max_restarts: 3
|
||||||
|
health_check_interval: "5m"
|
||||||
|
termination_grace_period: "30s"
|
||||||
|
|
||||||
|
# Template for future agents
|
||||||
|
agent_templates:
|
||||||
|
autonomous:
|
||||||
|
default_permissions:
|
||||||
|
- read
|
||||||
|
- write
|
||||||
|
- execute
|
||||||
|
monitoring:
|
||||||
|
enabled: true
|
||||||
|
metrics: true
|
||||||
|
logging: true
|
||||||
|
recovery:
|
||||||
|
auto_restart: true
|
||||||
|
max_failures: 3
|
||||||
|
|
||||||
|
# Spawn event handlers
|
||||||
|
event_handlers:
|
||||||
|
on_spawn_success:
|
||||||
|
- notify: "lucidia"
|
||||||
|
- log: "Agent spawned successfully"
|
||||||
|
on_spawn_failure:
|
||||||
|
- notify: "lucidia"
|
||||||
|
- retry: true
|
||||||
|
- max_retries: 3
|
||||||
|
on_agent_termination:
|
||||||
|
- cleanup: true
|
||||||
|
- archive_logs: true
|
||||||
|
|
||||||
|
# Audit configuration
|
||||||
|
audit:
|
||||||
|
enabled: true
|
||||||
|
log_path: "vault/logs/spawn-audit.log"
|
||||||
|
retention: "30d"
|
||||||
204
docs/guardian-clone-vault.mdx
Normal file
204
docs/guardian-clone-vault.mdx
Normal file
@@ -0,0 +1,204 @@
|
|||||||
|
---
|
||||||
|
title: Guardian Clone Vault Agent
|
||||||
|
description: Self-spawned agent for cloning and vaulting guardian configurations
|
||||||
|
agent_type: autonomous
|
||||||
|
parent: lucidia
|
||||||
|
status: active
|
||||||
|
---
|
||||||
|
|
||||||
|
# Guardian Clone Vault Agent
|
||||||
|
|
||||||
|
The **Guardian Clone Vault** is an autonomous agent spawned by LUCIDIA within the BlackRoad OS ecosystem. Its primary mission is to maintain secure backups and version-controlled snapshots of guardian agent configurations and states.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
<Note>
|
||||||
|
This agent was self-spawned by LUCIDIA to ensure resilience and recoverability of the guardian agent network.
|
||||||
|
</Note>
|
||||||
|
|
||||||
|
### Key Features
|
||||||
|
|
||||||
|
- **Automated Backups**: Scheduled snapshots every 6 hours
|
||||||
|
- **Event-Driven**: Responds to configuration changes in real-time
|
||||||
|
- **Encrypted Storage**: All vault data is encrypted at rest
|
||||||
|
- **Integrity Verification**: Regular integrity checks on stored snapshots
|
||||||
|
- **Audit Logging**: Complete audit trail of all operations
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────┐
|
||||||
|
│ LUCIDIA │
|
||||||
|
│ (Parent Agent) │
|
||||||
|
└─────────────────────┬───────────────────────────────┘
|
||||||
|
│ spawns
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────┐
|
||||||
|
│ Guardian Clone Vault │
|
||||||
|
│ │
|
||||||
|
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
||||||
|
│ │ Cloner │ │ Vault │ │ Verifier │ │
|
||||||
|
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
||||||
|
└─────────────────────────────────────────────────────┘
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────────────────────────┐
|
||||||
|
│ Guardian Agents │
|
||||||
|
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
||||||
|
│ │Guardian1│ │Guardian2│ │Guardian3│ │ ... │ │
|
||||||
|
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
|
||||||
|
└─────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
## Capabilities
|
||||||
|
|
||||||
|
### Clone Guardian Configs
|
||||||
|
|
||||||
|
Monitors and clones guardian agent configurations when changes are detected.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"capability": "clone-guardian-configs",
|
||||||
|
"trigger": "guardian.config.updated",
|
||||||
|
"action": "create versioned clone"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Vault State Snapshots
|
||||||
|
|
||||||
|
Captures periodic snapshots of guardian agent states with compression and encryption.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"capability": "vault-state-snapshots",
|
||||||
|
"schedule": "0 */6 * * *",
|
||||||
|
"retention": 10,
|
||||||
|
"compression": true,
|
||||||
|
"encryption": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Restore Guardian State
|
||||||
|
|
||||||
|
Responds to restoration requests with integrity validation.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"capability": "restore-guardian-state",
|
||||||
|
"trigger": "restore.requested",
|
||||||
|
"validation": "integrity-check",
|
||||||
|
"rollback": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Verify Integrity
|
||||||
|
|
||||||
|
Performs regular integrity checks on vaulted data.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"capability": "verify-integrity",
|
||||||
|
"interval": "1h",
|
||||||
|
"algorithm": "sha256",
|
||||||
|
"audit": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Sync Configurations
|
||||||
|
|
||||||
|
Synchronizes configurations across distributed guardians.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"capability": "sync-configurations",
|
||||||
|
"mode": "eventual-consistency",
|
||||||
|
"conflict-resolution": "last-write-wins"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
The agent is configured via `agents/guardian-clone-vault.agent.json`:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"configuration": {
|
||||||
|
"vault_path": "./vault/guardian-clones",
|
||||||
|
"max_snapshots": 10,
|
||||||
|
"compression": true,
|
||||||
|
"encryption": true,
|
||||||
|
"integrity_check_interval": "1h"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Triggers
|
||||||
|
|
||||||
|
The agent responds to the following events:
|
||||||
|
|
||||||
|
| Event | Description |
|
||||||
|
|-------|-------------|
|
||||||
|
| `guardian.config.updated` | Guardian configuration was modified |
|
||||||
|
| `guardian.state.changed` | Guardian state has changed |
|
||||||
|
| `vault.backup.scheduled` | Scheduled backup triggered |
|
||||||
|
| `restore.requested` | Restoration has been requested |
|
||||||
|
|
||||||
|
## Workflow
|
||||||
|
|
||||||
|
The agent runs as a GitHub Actions workflow with the following operations:
|
||||||
|
|
||||||
|
### Manual Operations
|
||||||
|
|
||||||
|
You can manually trigger the workflow with these operations:
|
||||||
|
|
||||||
|
- **backup**: Create a new snapshot of all guardian configurations
|
||||||
|
- **restore**: Restore from a previous snapshot
|
||||||
|
- **verify**: Verify integrity of all stored snapshots
|
||||||
|
- **sync**: Synchronize configurations across guardians
|
||||||
|
|
||||||
|
### Scheduled Operations
|
||||||
|
|
||||||
|
The workflow runs automatically every 6 hours to create backup snapshots.
|
||||||
|
|
||||||
|
## Audit Logging
|
||||||
|
|
||||||
|
All operations are logged to `vault/logs/` with the following structure:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"timestamp": "2025-11-24T00:00:00Z",
|
||||||
|
"agent": "guardian-clone-vault",
|
||||||
|
"operation": "backup",
|
||||||
|
"target": "all",
|
||||||
|
"event_type": "schedule",
|
||||||
|
"status": "success",
|
||||||
|
"run_id": "12345678"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Security Considerations
|
||||||
|
|
||||||
|
<Warning>
|
||||||
|
Ensure that `GITHUB_TOKEN` has appropriate permissions for the vault operations.
|
||||||
|
</Warning>
|
||||||
|
|
||||||
|
- All vault data should be encrypted at rest
|
||||||
|
- Access to restoration operations should be restricted
|
||||||
|
- Audit logs should be regularly reviewed
|
||||||
|
- Integrity checks should be monitored for failures
|
||||||
|
|
||||||
|
## Related Agents
|
||||||
|
|
||||||
|
- **LUCIDIA**: Parent agent that spawned this agent
|
||||||
|
- **Guardian Agent**: The agents whose configurations are being vaulted
|
||||||
|
|
||||||
|
## Metadata
|
||||||
|
|
||||||
|
| Property | Value |
|
||||||
|
|----------|-------|
|
||||||
|
| Name | guardian-clone-vault |
|
||||||
|
| Version | 1.0.0 |
|
||||||
|
| Type | autonomous |
|
||||||
|
| Parent | lucidia |
|
||||||
|
| Status | active |
|
||||||
|
| Spawn Date | 2025-11-24 |
|
||||||
Reference in New Issue
Block a user