# ⚡ KNELPerfHub — content for performance.knownelement.com > The Grav site at > [performance.knownelement.com](https://performance.knownelement.com) > **pulls its pages from this repo**. Publishers push; the site never runs > foreign tooling. ![license](https://img.shields.io/badge/license-AGPLv3-blue) ## Flow ```mermaid flowchart LR S[📡 scrapers/collectors
KNELPerf + SITER-Solar tooling] --> P[📝 grav-publish.sh
renders pages, git push] P --> R[📦 this repo] -->|host-side git pull every 5 min
no container execs| G[🌐 Grav
cache.check=file] ``` - Publishing = commit markdown to this repo (bash only; house rules). - The Cloudron VPS runs a systemd timer that `git pull`s this repo into the Grav pages dir (public repo → plain HTTPS, no deploy keys). - Grav's `cache.check.method: file` picks changes up automatically — the app container executes nothing but its own PHP. ## Layout - `01.home/` — site landing page - `performance/` — auto-published dashboard (ERCOT risk, arbitrage verdict, baseline index) + reports - `02.typography/` — theme demo (from the Grav skeleton; removable) Work tracking: [Redmine #826](https://projects.knownelement.com/issues/826) > **Docs live on Discourse — this repo is the executable source of truth.** ## 🔓 Transparency policy (org standard) The site and this repo are **public read-only** — ultra-open and transparent by default. The one carve-out: **revenue and expense detail is private (LLC members only)** and is never published here. Practically: - Public: performance/audit data, benchmarks, risk intelligence, architecture and decision reports. - Never published: SITER-Solar financials (project cost, billing history, ROI detail), KillBill revenue data, contract rates. - `grav-publish.sh` publishes from an explicit whitelist only — anything new must be added deliberately, not swept in by default. - The Grav local admin account is disabled; publishing is exclusively git-based through this repo.