profit 77655c298c Initial commit: Agent Governance System Phase 8
Phase 8 Production Hardening with complete governance infrastructure:

- Vault integration with tiered policies (T0-T4)
- DragonflyDB state management
- SQLite audit ledger
- Pipeline DSL and templates
- Promotion/revocation engine
- Checkpoint system for session persistence
- Health manager and circuit breaker for fault tolerance
- GitHub/Slack integrations
- Architectural test pipeline with bug watcher, suggestion engine, council review
- Multi-agent chaos testing framework

Test Results:
- Governance tests: 68/68 passing
- E2E workflow: 16/16 passing
- Phase 2 Vault: 14/14 passing
- Integration tests: 27/27 passing

Coverage: 57.6% average across 12 phases

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 22:07:06 -05:00

107 lines
3.5 KiB
Bash
Executable File

#!/bin/bash
#
# External Memory Layer CLI for Claude Code
# ==========================================
# Token-efficient storage and retrieval of large outputs, transcripts, and context.
#
# Commands:
# log <content> Store content in memory (auto-chunks large content)
# log --file <path> Store file contents
# log --stdin Read from stdin
# fetch <id> Retrieve memory entry
# fetch <id> --summary-only Get just the summary
# fetch <id> --chunk N Get specific chunk
# list [--type TYPE] List memory entries
# search <query> Search memory by content/tags
# summarize <id> Generate/show summary
# refs --checkpoint <id> Get memory refs for checkpoint
# prune Clean old entries
# stats Show memory statistics
#
# Examples:
# echo "Large output..." | memory log --stdin --tag "test"
# memory fetch mem-20260123-123456-abcd --summary-only
# memory list --type output --limit 10
# memory search "error"
#
# Token Guidelines:
# - Content < 500 tokens: stored inline
# - Content 500-4000 tokens: stored in file with summary
# - Content > 4000 tokens: auto-chunked with parent summary
#
# Integration:
# - Link to checkpoints: --checkpoint <id>
# - Link to directories: --directory <path>
# - Summaries auto-generated for efficient retrieval
#
# Documentation: /opt/agent-governance/docs/MEMORY_LAYER.md
set -euo pipefail
MEMORY_SCRIPT="/opt/agent-governance/memory/memory.py"
# Show help if no args or --help
if [[ $# -eq 0 ]] || [[ "${1:-}" == "--help" ]] || [[ "${1:-}" == "-h" ]]; then
cat << 'EOF'
External Memory Layer
=====================
Commands:
log <content> Store content in memory
log --file <path> Store file contents
log --stdin Read from stdin
fetch <id> Retrieve memory entry
fetch <id> -s Summary only
fetch <id> --chunk N Get specific chunk
list [--type TYPE] List entries
search <query> Search memory
summarize <id> Generate summary
refs --checkpoint <id> Memory refs for checkpoint
prune Clean old entries
stats Show statistics
Options for 'log':
--file, -f <path> Read from file
--stdin Read from stdin
--type, -t <type> Type: transcript, output, context
--tag <tag> Add tag (repeatable)
--checkpoint <id> Link to checkpoint
--directory, -d <path> Link to directory
--no-chunk Don't auto-chunk large content
--json Output JSON
Token Thresholds:
< 500 tokens → stored inline
500-4000 tokens → stored in file + summary
> 4000 tokens → auto-chunked + summary
Examples:
# Store large test output
pytest tests/ 2>&1 | memory log --stdin --tag "pytest" --tag "tests"
# Fetch just the summary
memory fetch mem-20260123-123456-abcd -s
# Get chunk 2 of a large entry
memory fetch mem-20260123-123456-abcd --chunk 2
# List recent outputs
memory list --type output --limit 5
# Search for errors
memory search "failed" --limit 10
Documentation: /opt/agent-governance/docs/MEMORY_LAYER.md
EOF
exit 0
fi
# Verify memory script exists
if [[ ! -f "${MEMORY_SCRIPT}" ]]; then
echo "Error: memory.py not found at ${MEMORY_SCRIPT}"
exit 1
fi
# Execute memory command
exec python3 "${MEMORY_SCRIPT}" "$@"