<!-- LLM-PathwayCurator/examples/demo/README.md -->
# Demo

This demo reproduces the **core LLM-PathwayCurator pipeline** on a tiny input.

## What it does
Running [`./run.sh`](./run.sh) generates:
**fgsea results → EvidenceTable → distill → modules → claim proposal → mechanical audit → decision-grade report**.

- No R required (this demo does **not** run fgsea itself; it consumes an fgsea results table).
- All acceptance decisions are mechanical (PASS/ABSTAIN/FAIL); the LLM is not needed.


## Run
From the repository root:

```bash
./examples/demo/run.sh
```

## Inputs
- [`inputs/fgsea_results.tsv`](inputs/fgsea_results.tsv) : tiny fgsea result table (must include `pathway` and `leadingEdge`)
- [`sample_card.json`](sample_card.json) : study context used for context-conditioned proposal

If `evidence_table.tsv` is not present, it will be generated from [`inputs/fgsea_results.tsv`](inputs/fgsea_results.tsv).

## Outputs
All outputs are written to:
- `out/demo/`: outputs generated by your local run
- [`expected/`](expected/): a precomputed snapshot so reviewers can inspect outputs without running the pipeline

### Key files:
- [`report.md`](expected/report.md) / [`report.jsonl`](expected/report.jsonl) : decision-grade records (final)
- [`audit_log.tsv`](expected/audit_log.tsv) : mechanical decisions with reason codes
- Intermediate TSVs (EvidenceTable / distilled / modules / proposed claims)

## Notes
This demo is intentionally small and deterministic (fixed seed) to facilitate reviewer reproducibility.
