name: wyrd description: Hypothesis validation and closed-loop learning user-invocable: true disable-model-invocation: true allowed-tools: - Read - Write - Glob
Wyrd
Hypothesis validation and closed-loop learning.
"What will be is what survives the test."
Usage
/wyrd # Show current confidence state
/wyrd calibrate # Recalculate from rejection history
/wyrd test hypothesis.md # Validate hypothesis against codebase
/wyrd learn # Extract patterns from recent rejections
Philosophy
Wyrd (Old English: fate, destiny) reveals truth through testing.
- Fate emerges through testing — Truth is revealed, not assumed
- Rejection is data — Each "no" teaches the system
- Confidence calibrates — Predictions improve with feedback
- Reality anchors claims — Validate against real code and tests
Workflow: Show State (/wyrd)
- Read
grimoires/rune/wyrd.md - Display confidence calibration table:
## Wyrd State | Effect | Base | Adjustment | Current | |--------|------|------------|---------| | Financial | 0.90 | -0.05 | 0.85 | | Destructive | 0.90 | 0.00 | 0.90 | | Standard | 0.85 | +0.05 | 0.90 | | Local | 0.95 | 0.00 | 0.95 | ### Learning Metrics - Total hypotheses: 47 - Validation rate: 78% - Rejections this sprint: 2 - Show active hypotheses if any
- Show recent pattern influences
Workflow: Calibrate (/wyrd calibrate)
- Read
grimoires/rune/rejections.md - Count rejections by effect type with decay:
- Full weight: 0-7 days
- Half weight: 8-30 days
- Quarter weight: 31-90 days
- Zero weight: 90+ days
- Calculate adjustment factors:
- -0.05 per weighted rejection
- Cap at -0.30
- Update
grimoires/rune/wyrd.md
Workflow: Learn (/wyrd learn)
- Read recent entries from
grimoires/rune/rejections.md - Detect patterns (3+ similar rejections):
- Same effect type
- Same change direction (e.g., timing reduction)
- Promote detected patterns to
grimoires/rune/patterns.md - Optionally create Sigil taste entries:
Pattern detected: 3 timing reductions for Financial effect Average adjustment: 800ms → 520ms Create taste entry? [y/n]
Confidence Formula
confidence = base_confidence + taste_adjustment + rejection_adjustment
Where:
- base_confidence: Effect-specific default
- Financial: 0.90
- Destructive: 0.90
- Standard: 0.85
- Local: 0.95
- taste_adjustment: +0.05 per Tier 2+ taste match
- rejection_adjustment:
- -0.05 per similar rejection in last 30 days
- -0.10 if same component rejected before
- Cap at -0.30
Integration with Other Constructs
| Construct | Wyrd's Role |
|---|---|
| Sigil | Wyrd feeds rejection learnings → Sigil records as taste |
| Glyph | Wyrd provides confidence → Glyph shows in hypothesis |
| Rigor | Wyrd invokes Rigor during self-validation phase |
Rules Loaded
Core Rules
rules/wyrd/00-wyrd-core.md- Philosophyrules/wyrd/01-wyrd-hypothesis.md- Hypothesis formatrules/wyrd/02-wyrd-learning.md- Learning protocol
Confidence & Calibration
rules/wyrd/03-wyrd-confidence.md- Confidence calculationrules/wyrd/08-wyrd-recalibration.md- Recalibration protocol
Rejection & Learning
rules/wyrd/04-wyrd-rejection-capture.md- Explicit rejection handlingrules/wyrd/05-wyrd-file-modification.md- Implicit edit detectionrules/wyrd/06-wyrd-change-analysis.md- Physics change analysisrules/wyrd/07-wyrd-pattern-detection.md- Pattern detection algorithm
State Files
| File | Purpose |
|---|---|
grimoires/rune/wyrd.md |
Current confidence state |
grimoires/rune/rejections.md |
Rejection history (append-only) |
grimoires/rune/patterns.md |
Extracted patterns |
Learning Pipeline
User Rejection ("n") ──┐
├──→ rejections.md ──→ Pattern Detection ──→ Tier Promotion
User Edit (implicit) ──┘
│
↓
3+ similar rejections
│
↓
patterns.md → taste.md (Tier 2)
File Modification Monitoring
After Glyph generates a file:
- Start 30-minute monitoring window
- Detect physics-relevant changes via git diff
- Prompt: "Record as taste? [y/n]"
- Log to rejections.md (implicit_edit type)
- Check for pattern detection