Files
clawdbot/extensions/open-prose/skills/prose/lib/README.md
2026-01-23 00:49:40 +00:00

106 lines
4.0 KiB
Markdown

# OpenProse Standard Library
Core programs that ship with OpenProse. Production-quality, well-tested programs for common tasks.
## Programs
### Evaluation & Improvement
| Program | Description |
|---------|-------------|
| `inspector.prose` | Post-run analysis for runtime fidelity and task effectiveness |
| `vm-improver.prose` | Analyzes inspections and proposes PRs to improve the VM |
| `program-improver.prose` | Analyzes inspections and proposes PRs to improve .prose source |
| `cost-analyzer.prose` | Token usage and cost pattern analysis |
| `calibrator.prose` | Validates light evaluations against deep evaluations |
| `error-forensics.prose` | Root cause analysis for failed runs |
### Memory
| Program | Description |
|---------|-------------|
| `user-memory.prose` | Cross-project persistent personal memory |
| `project-memory.prose` | Project-scoped institutional memory |
## The Improvement Loop
The evaluation programs form a recursive improvement cycle:
```
┌─────────────────────────────────────────────────────────────┐
│ │
│ Run Program ──► Inspector ──► VM Improver ──► PR │
│ ▲ │ │
│ │ ▼ │
│ │ Program Improver ──► PR │
│ │ │ │
│ └────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
```
Supporting analysis:
- **cost-analyzer** — Where does the money go? Optimization opportunities.
- **calibrator** — Are cheap evaluations reliable proxies for expensive ones?
- **error-forensics** — Why did a run fail? Root cause analysis.
## Usage
```bash
# Inspect a completed run
prose run lib/inspector.prose
# Inputs: run_path, depth (light|deep), target (vm|task|all)
# Propose VM improvements
prose run lib/vm-improver.prose
# Inputs: inspection_path, prose_repo
# Propose program improvements
prose run lib/program-improver.prose
# Inputs: inspection_path, run_path
# Analyze costs
prose run lib/cost-analyzer.prose
# Inputs: run_path, scope (single|compare|trend)
# Validate light vs deep evaluation
prose run lib/calibrator.prose
# Inputs: run_paths, sample_size
# Investigate failures
prose run lib/error-forensics.prose
# Inputs: run_path, focus (vm|program|context|external)
# Memory programs (recommend sqlite+ backend)
prose run lib/user-memory.prose --backend sqlite+
# Inputs: mode (teach|query|reflect), content
prose run lib/project-memory.prose --backend sqlite+
# Inputs: mode (ingest|query|update|summarize), content
```
## Memory Programs
The memory programs use persistent agents to accumulate knowledge:
**user-memory** (`persist: user`)
- Learns your preferences, decisions, patterns across all projects
- Remembers mistakes and lessons learned
- Answers questions from accumulated knowledge
**project-memory** (`persist: project`)
- Understands this project's architecture and decisions
- Tracks why things are the way they are
- Answers questions with project-specific context
Both recommend `--backend sqlite+` for durable persistence.
## Design Principles
1. **Production-ready** — Tested, documented, handles edge cases
2. **Composable** — Can be imported via `use` in other programs
3. **User-scoped state** — Cross-project utilities use `persist: user`
4. **Minimal dependencies** — No external services required
5. **Clear contracts** — Well-defined inputs and outputs
6. **Incremental value** — Useful in simple mode, more powerful with depth