Files
apex-os-docs/PLATFORM_EVOLUTION.md

328 lines
8.4 KiB
Markdown

# APEX OS — Platform Evolution Guide
> The platform grows through controlled, documented, human-approved evolution cycles.
## Table of Contents
1. [Philosophy](#philosophy)
2. [The Evolution Loop](#the-evolution-loop)
3. [Capability Detection](#capability-detection)
4. [Research Phase](#research-phase)
5. [Evaluation Framework](#evaluation-framework)
6. [Sandbox Protocol](#sandbox-protocol)
7. [Testing Standards](#testing-standards)
8. [Benchmarking](#benchmarking)
9. [Documentation Requirements](#documentation-requirements)
10. [Approval Process](#approval-process)
11. [Production Deployment](#production-deployment)
12. [Monitoring & Reflection](#monitoring--reflection)
13. [Retirement Process](#retirement-process)
14. [Self-Improvement Rules](#self-improvement-rules)
15. [Change History](#change-history)
---
## Philosophy
APEX OS is a living platform. It must evolve to meet new requirements, adopt better tools, and improve its own capabilities. However, evolution must be:
- **Controlled** — No unreviewed changes
- **Documented** — Every change has a paper trail
- **Reversible** — Every deployment has a rollback plan
- **Approved** — Human CEO has final say on production changes
- **Measured** — Before and after benchmarks required
---
## The Evolution Loop
```
1. DETECT → Identify missing capability or improvement opportunity
2. RESEARCH → Find 3+ alternatives, compare features/costs/risks
3. EVALUATE → Score against evaluation criteria
4. SANDBOX → Deploy in isolated Docker network for testing
5. TEST → Run functional, integration, and security tests
6. BENCHMARK → Measure performance, resource usage, cost
7. DOCUMENT → Write findings, recommendations, migration plan
8. RECOMMEND → CEO Agent presents recommendation to Human CEO
9. APPROVE → Human CEO approves/rejects via Telegram
10. DEPLOY → Production deployment following Engineering Standards
11. MONITOR → Watch for 24 hours post-deployment
12. REFLECT → Log lessons learned, update knowledge base
13. LEARN → Update shared knowledge for future decisions
```
---
## Capability Detection
Capabilities can be detected through:
### Automatic Detection
- Task failures logged in reflections with `improvement_applied = false`
- Repeated similar errors in recovery_log
- Performance metrics degradation
- Employee requests for tools they don't have
### Manual Detection
- Human CEO request ("Find a better X")
- Engineer identifies technical debt
- Security audit findings
- Cost optimization opportunities
### Detection Triggers
| Trigger | Action |
|---------|--------|
| 3+ similar task failures | Auto-generate research task |
| Employee reports missing tool | Log to engineer_decisions, research |
| CEO request | Immediate research assignment |
| Security vulnerability | Emergency research + sandbox |
| Cost threshold exceeded | Cost optimization research |
---
## Research Phase
### Requirements
- Minimum 3 alternatives evaluated
- Open source options prioritized
- Docker compatibility verified
- Resource requirements documented
- Security track record checked
- Community activity verified (commits in last 6 months)
- License compatibility confirmed
### Output
Research report saved to:
1. Researcher's Gitea workspace
2. mem0.shared_knowledge (for future reference)
3. apex.engineer_decisions (decision context)
---
## Evaluation Framework
### Scoring Criteria (1-10 each)
| Criterion | Weight | Description |
|-----------|--------|-------------|
| Functionality | 25% | Does it solve the problem completely? |
| Open Source | 15% | Is it fully open source? |
| Docker Ready | 15% | Can it run as a Docker container? |
| Resource Efficiency | 10% | CPU, memory, storage requirements |
| Security | 15% | Track record, isolation capability |
| Maintenance | 10% | Active development, documentation |
| Integration | 10% | Works with existing APEX stack |
### Minimum Score: 7.0/10 for production consideration
---
## Sandbox Protocol
### Setup
```bash
# Create isolated network
docker network create apex-sandbox
# Deploy candidate tool
docker run -d \
--name sandbox-{tool-name} \
--network apex-sandbox \
--memory 512m \
--cpus 1.0 \
{tool-image}:{version}
```
### Rules
- No connection to production network (apex_apex-net)
- No access to production databases
- No access to Docker socket
- Maximum 512MB memory, 1 CPU core
- 48-hour maximum sandbox duration
- Automatic cleanup after evaluation
---
## Testing Standards
### Functional Tests
- Core features work as documented
- API endpoints respond correctly
- Error handling is graceful
- Configuration options work
### Integration Tests
- Connects to PostgreSQL (sandbox instance)
- Works with Traefik reverse proxy
- Compatible with existing monitoring (Prometheus/Grafana)
- Logs are captured by Loki/Promtail
### Security Tests
- No privileged mode required
- No host network access needed
- Credentials properly isolated
- No known CVEs in current version
- Network requests are expected and documented
### Performance Tests
- Response time under load
- Memory usage over time (check for leaks)
- CPU usage patterns
- Disk I/O patterns
- Startup time
---
## Benchmarking
### Before/After Comparison
| Metric | Current Tool | Candidate | Improvement |
|--------|-------------|-----------|-------------|
| Response Time | X ms | Y ms | Z% |
| Memory Usage | X MB | Y MB | Z% |
| CPU Usage | X% | Y% | Z% |
| Features | List | List | Delta |
| Cost | $X | $Y | Savings |
### Minimum Improvement Threshold
- Performance: 20% improvement to justify migration
- Cost: 10% savings to justify migration
- Features: Must not lose existing capabilities
---
## Documentation Requirements
### Pre-Deployment Documentation
- [ ] Research report with alternatives comparison
- [ ] Evaluation scorecard
- [ ] Sandbox test results
- [ ] Benchmark comparison
- [ ] Migration plan
- [ ] Rollback plan
- [ ] Updated TOOL_REGISTRY.md entry
### Post-Deployment Documentation
- [ ] Updated architecture diagram
- [ ] Configuration documentation
- [ ] Monitoring setup
- [ ] Troubleshooting guide
- [ ] Lessons learned
---
## Approval Process
### Recommendation Format (sent via Telegram)
```
🔧 Platform Evolution Recommendation
Tool: {name}
Purpose: {what it replaces/adds}
Score: {X.X}/10
Highlights:
- {key benefit 1}
- {key benefit 2}
- {key benefit 3}
Risks:
- {risk 1}
- {risk 2}
Cost Impact: {increase/decrease/neutral}
Resource Impact: {CPU/memory delta}
Recommendation: {ADOPT / TRIAL / REJECT}
[Approve] [Reject] [More Info]
```
---
## Production Deployment
Follow Engineering Standards (ENGINEERING_STANDARDS.md):
1. Create backup of current docker-compose.yml
2. Update docker-compose.yml with new service
3. Pull new image
4. Deploy with `docker-compose up -d`
5. Verify health checks pass
6. Monitor for 15 minutes
7. Update TOOL_REGISTRY.md
8. Commit changes to Gitea
---
## Monitoring & Reflection
### 24-Hour Watch Period
- Check logs every 4 hours
- Monitor resource usage
- Verify integration with existing services
- Watch for error spikes
### Post-Deployment Reflection
Log to reflections table:
- What went well?
- What was unexpected?
- Would we make the same decision again?
- What can we improve in the evaluation process?
---
## Retirement Process
When replacing a tool:
1. Ensure data migration is complete
2. Update all references in documentation
3. Remove from docker-compose.yml
4. Clean up Docker volumes
5. Update TOOL_REGISTRY.md (status: Retired)
6. Archive configuration for reference
7. Commit all changes to Gitea
---
## Self-Improvement Rules
### What APEX Can Do Autonomously
- Research new tools and report findings
- Run sandbox evaluations
- Generate benchmark reports
- Suggest optimizations
### What Requires Human Approval
- Installing new production tools
- Removing existing tools
- Changing infrastructure configuration
- Modifying the Constitution
- Upgrading core services (PostgreSQL, LiteLLM, Letta)
### Absolute Prohibitions
- Never modify the Constitution without human approval
- Never disable security measures
- Never remove backup systems
- Never bypass the approval process
- Never self-modify core agent logic without approval
---
## Change History
| Date | Version | Author | Changes |
|------|---------|--------|---------|
| Phase 7.1 | 1.0 | Engineer | Initial platform evolution guide |