Phase 1 delivers the complete durability and storage layer:
- WAL with crash recovery: Append-only journal with BLAKE3 checksums,
fsync guarantees, and proper seek-to-EOF on reopen
- Storage engine: sled-backed KVStore with scan_prefix for range queries
- Content-addressed storage: H:{hash}, V:{hash}, E:{hash} key patterns
- Ingestor: Background worker tailing WAL, writing to KV with 8-byte
aligned record headers for rkyv zero-copy deserialization
- Comprehensive tests: 31 tests covering crash recovery, round-trips,
and multi-cycle durability
New crates: stemedb-wal, stemedb-storage, stemedb-ingest
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
The Gardener (TrustRank Back-Propagation)
Quick Ref: Background worker that penalizes agents when corrections are made
The Problem
Agents are stateless. When an agent makes a mistake (uses requests instead of axios), you correct it. But the agent doesn't "learn"—it might make the same mistake next session.
Current training uses "Golden Trajectories" (perfect examples). Mistakes are discarded, so agents never learn "don't do X because it fails."
The Solution
The Gardener is a background worker that:
- Detects when a user correction supersedes an agent assertion
- Calculates the "delta" (how wrong the agent was)
- Back-propagates the error to the agent's TrustRank
struct GardenerJob {
pub agent_id: AgentId,
pub topic: String, // e.g., "http_libraries"
pub prediction: Value, // What agent said
pub ground_truth: Value, // What was correct
pub delta: f32, // How wrong (0.0 to -1.0)
}
// Example:
// Agent asserted "requests" (confidence 0.8)
// User asserted "axios" (confidence 1.0)
// Gardener calculates: delta = -0.3
// Agent's TrustRank for topic "http_libraries" drops by 0.15
Effects
Next time this agent predicts an HTTP library:
- Its confidence is mathematically penalized
- It's forced to look for external verification
- Or the system routes to a different agent with higher TrustRank
Resurrection Mechanics
When a constraint is queried and used successfully:
last_verifiedupdates to NOW()- Confidence decay resets
- Assertion stays in "hot path"
When NOT used in 6 months:
- Confidence decays toward 0
- Moves to "cold store"
- Still queryable for audit
Related
- Negative Constraints - What gets stored
- Lens::Constraints - How it's retrieved
- use-cases/agile-agent-team.md - Full workflow