stemedb/uat/consumer-health/README.md
jordan 8f6506b70a feat: Aphoria scan modes + stemedb-ontology crate + consumer health UAT
Major additions:
- Staged scanning modes (working tree, staged, committed) with git integration
- Drift detection for baseline vs current state comparisons
- Hosted API handlers for policy CRUD operations via StemeDB API
- stemedb-ontology crate with domain definitions and medical extractors
- Consumer health vertical UAT scenarios (GLP-1, gastroparesis, etc.)
- Aphoria development skill documentation

Code organization:
- Split large files into focused modules to stay under 500-line limit
- Extracted config tests, episteme helpers/drift/aliases, API helpers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 21:57:33 -07:00

80 lines
2.8 KiB
Markdown

# Consumer Health UAT Scenarios
User Acceptance Testing for the Ontology Layer + Medical Vertical.
## Prerequisites
1. StemeDB running: `cargo run --bin stemedb-api`
2. Ontology crate built: `cargo build -p stemedb-ontology`
3. Pharma CLI available: `cargo build --bin steme-pharma`
## Scenario Overview
### GLP-1 Living Systematic Review Scenarios
| Scenario | File | Tests |
|----------|------|-------|
| Muscle Loss Contradiction | `glp1-muscle-loss-contradiction.md` | Skeptic Lens conflict detection |
| FDA Label Paradigm Shift | `glp1-fda-label-paradigm-shift.md` | Epoch supersession O(1) |
| Pre-print vs Peer Review | `glp1-preprint-vs-peer-review.md` | Multi-sig weighting |
| Semantic Decay | `glp1-semantic-decay.md` | 73-day half-life |
| Visual Anchoring | `glp1-visual-anchoring.md` | pHash validation |
### Consumer Health Intelligence Scenarios
| Scenario | File | Tests |
|----------|------|-------|
| Gastroparesis Multi-Source | `gastroparesis-multi-source.md` | Source-class hierarchy |
| Anecdotal Signal Precedence | `anecdotal-signal-precedence.md` | Cluster escalation |
| Guidance Change Propagation | `guidance-change-propagation.md` | "What changed since?" |
| Layered Consensus | `layered-consensus.md` | Per-tier positions |
| Time Travel Query | `time-travel-query.md` | as_of snapshot |
| Disagreement Dashboard | `disagreement-dashboard.md` | Resolved/Active/Emerging |
## Running Scenarios
Each scenario file contains:
1. **Scenario description** - What we're testing
2. **Test matrix** - Expected vs actual results
3. **Commands** - Exact curl/CLI commands to run
4. **Sign-off checklist** - Manual verification points
### Example Workflow
```bash
# 1. Start StemeDB
cargo run --bin stemedb-api &
# 2. Run a scenario
# Follow commands in glp1-muscle-loss-contradiction.md
# 3. Record results
# Update the test matrix with actual values
# 4. Archive results
cp glp1-muscle-loss-contradiction.md results/2024-XX-XX-muscle-loss.md
```
## Weekly Execution Schedule
| Week | Scenarios | Why |
|------|-----------|-----|
| 1 | (none) | Building domain definition |
| 2 | (none) | Building extractor |
| 3 | `glp1-muscle-loss-contradiction` | First conflict demo |
| 4 | `gastroparesis-multi-source`, `layered-consensus` | Source hierarchy |
| 5 | `glp1-fda-label-paradigm-shift` | Epochs |
| 6 | Full suite | Integration validation |
## Success Criteria
From **GLP-1 Living Review**:
- Query `muscle_sparing_effect` with Skeptic lens returns `conflict_score > 0.5`
- Epoch supersession invalidates assertions O(1), not O(N)
- Multi-sig: Lancet reviewer signature has higher weight
From **Consumer Health Intelligence**:
- Tier 0 (FDA) wins over 100x Tier 5 (Reddit) volume
- `lens=layered-consensus` returns per-tier positions
- Source-aware decay: NEJM 8mo old ~0.87 effective; Reddit 26mo old expired