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>
80 lines
2.8 KiB
Markdown
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
|