# REPORT_SITE.md — A-WEB OSINT Evidence Map

## Purpose

This folder contains the public Cloudflare Pages report for the `rigged-election` OSINT workspace. The site presents the current investigation as a responsive evidence dashboard: overview, claims, source index, timeline, methodology, and graph visualization.

The report must stay neutral: it shows documented relationships, allegations, confidence, and open questions. It must not turn weak leads into conclusions.

## Location

- Source data root: `/Users/velobot/rigged-election`
- Site generator: `/Users/velobot/rigged-election/report-site/scripts/build_report_site.py`
- Built static site: `/Users/velobot/rigged-election/report-site/dist`
- Graph JSON generated for the site: `/Users/velobot/rigged-election/report-site/dist/data/graph.json`

## Pages

- `index.html` — high-level status, metrics, latest investigation log
- `graph.html` — interactive SVG graph from `graph/nodes.csv` and `graph/edges.csv`
- `claims.html` — rendered claim files from `claims/*.md`
- `timeline.html` — rendered `timeline/verified-events.md`
- `sources.html` — rendered `sources/source-index.md`
- `methodology.html` — rendered `GUIDE.md` and `methods/osint-methodology.md`

## Source files used by the generator

- `GUIDE.md`
- `STATE.md`
- `methods/osint-methodology.md`
- `sources/source-index.md`
- `timeline/verified-events.md`
- `claims/*.md`
- `graph/nodes.csv`
- `graph/edges.csv`

## Update workflow

From the project root:

```bash
cd /Users/velobot/rigged-election
python3 graph/scripts/validate_graph.py
python3 report-site/scripts/build_report_site.py
```

If `graph/nodes.csv` or `graph/edges.csv` changed, also rebuild KuzuDB:

```bash
. .venv/bin/activate
python graph/scripts/import_graph.py
python graph/scripts/query_graph.py
```

Then redeploy:

```bash
cd /Users/velobot/rigged-election
npx wrangler pages deploy report-site/dist --project-name aweb-osint-evidence-map
```

## Design notes

- Aesthetic: dark forensic dossier / editorial archive.
- Fonts: Newsreader + Fragment Mono via Google Fonts.
- Graph: dependency-free vanilla SVG force layout in `assets/app.js`.
- Responsive breakpoints are in `assets/styles.css`.

## Evidence rules for future updates

- Strong claims require primary or near-primary sources.
- Use `MENTIONED_WITH` / `ALLEGED_BY` for weak leads.
- Use `SIGNED_MOU_WITH`, `FUNDED`, `IMPLEMENTED_BY` only when directly supported.
- Always separate:
  1. A-WEB involvement
  2. vendor/technology involvement
  3. election-integrity controversy
  4. procedural vulnerability
  5. actual manipulation evidence

## Current deployment

- Cloudflare Pages project: `aweb-osint-evidence-map`
- Production URL: https://aweb-osint-evidence-map.pages.dev
- Deployment aliases: inspect with `npx wrangler pages deployment list --project-name aweb-osint-evidence-map`
- First deployed: 2026-05-02 01:24 KST
