Skip to content

SiteRelEnby/fjortoft

Repository files navigation

Fjortoft

Polls the GCP 2.0 live data API (configurable interval, default 5 min) and exposes the current Network Coherence value — plus a faithful recreation of the corru.observer GAD mechanic — via HTTP endpoints compatible with Prometheus and old gcpdot.com consumers.

The Name

In corru.observer, a fjortoft box is a device that in-universe can be used to measure GAD, which affects certain game mechanics. See also the transcripts.

Background

The Global Consciousness Project (GCP) operates a worldwide network of hardware random number generators ("eggs"). Statistically, random numbers should be uniformly distributed. When the network shows unusual correlation — more coherent or less coherent than chance would predict — the deviation is measured and exposed as a live metric. The current project home is gcp2.net, led by the HeartMath Institute; background is also on Wikipedia and the Institute of Noetic Sciences. The old project homepages could be found at global-mind.org (archived) and gcpdot.com (archived, see below).

GAD (Global Ambient Dissonance) is a game mechanic in corru.observer by corru.works. It appears in the system management menu as an integer from -2 to 2 and affects rendering of Mindspike thoughtspaces — low GAD causes graphical degradation and opens normally-inaccessible paths; high GAD lowers music pitch in certain areas. The game originally fetched a live value from gcpdot.com to drive this mechanic; since gcpdot.com is defunct, so is the mechanic.

Fjortoft reconstructs GAD from gcp2.net's netvar metric by maintaining a local 24H sliding window and computing a percentile, which maps directly to the original GAD thresholds. See TECHNICAL.md for details on the API, the math, and the backfill strategy.


Add Fjortoft to your server

Click here to add Fjortoft

Source: github.com/SiteRelEnby/fjortoft

Requires a server admin to approve. Commands available after install:

  • /gad — current GAD level with raw state
  • /fjortoft-gad — alias for /gad
  • /gcpstatus — full network coherence detail
  • /fjortoft-graph — 24H chart (raw state + GAD level); optional timezone parameter accepts IANA names e.g. America/New_York, Europe/London (default: UTC)
  • /fjortoft-status — bot and poller health

Running

python3 gcp_poller.py          # listens on :9101
python3 gcp_poller.py 8080     # custom port
python3 gcp_poller.py --version

Poller: no dependencies beyond the Python 3.12+ standard library.

Discord bot: requires discord.py. The /fjortoft-graph command additionally requires matplotlib. Install via:

pip install "fjortoft[discord]"   # discord.py + matplotlib

Startup: fetches color zones once (cached to zones_cache.json on subsequent runs), optionally backfills the 24H window from Prometheus or the GCP history API, then runs an initial poll. All API calls go through Cloudflare — set BACKFILL_DELAY if you're restarting frequently during development. See .env.example for all config options.


Endpoints

GET /status

Full JSON snapshot:

{
  "version": "0.1.0",
  "netvar": 94.05,
  "percentile": 62.3,
  "raw_state": 0.6230000,
  "gad": 0,
  "gad_estimated": false,
  "gad_description": "coherent",
  "label": "Normal",
  "color": "#e200e2",
  "updated_at": 1775710364.5,
  "window_size": 287,
  "window_oldest": 1775624000.0,
  "stale": false,
  "poll_count": 7,
  "poll_errors": 0
}

GET /metrics

Prometheus text format (pull model). Metrics exposed:

Metric Type Description
gcp_network_coherence_netvar gauge Raw netvar value
gcp_network_coherence_percentile gauge Percentile within past 24H (0–100)
gcp_network_coherence_raw_state gauge Normalized coherence (0–1), equivalent to old gcpdot p-value
gcp_network_coherence_gad gauge GAD level (-2 to 2)
gcp_network_coherence_gad_estimated gauge 1 if GAD is from a partial window (still backfilling)
gcp_network_coherence_window_entries gauge Number of data points in the 24H sliding window
gcp_network_coherence_stale gauge 1 if last poll > 2× interval ago
gcp_network_coherence_last_updated_seconds gauge Unix timestamp of last poll
gcp_network_coherence_poll_total counter Successful polls since start
gcp_network_coherence_poll_errors_total counter Failed polls since start
gcp_network_coherence_info gauge Labels: label, color, gad_description

Prometheus scrape config:

scrape_configs:
  - job_name: gcp_coherence
    static_configs:
      - targets: ['localhost:9101']
    scrape_interval: 60s   # no point scraping faster than POLL_INTERVAL (default 5 min)

GET /dot

Bare uppercase hex color string (e.g. E200E2). Drop-in replacement for the old gcpdot.com/gcpindex.php?small=1 response format that the quartzjer gist and similar consumers expected. Returns gray (CDCDCD) when data is stale.

GET /dot.svg

SVG colored circle in the current zone color. Embeddable directly as an image — scales to any size via CSS or the width attribute:

<img src="https://your-instance/dot.svg" width="64">

Hovering shows a tooltip with the current GAD level, description, raw state, and zone label. Returns a gray circle with a stale indicator tooltip when data is unavailable.

GET /history[?n=288]

Last N readings from the 24H sliding window as JSON. Each entry includes timestamp, netvar, percentile, raw_state, and gad. Default N is 288 (24H at 5-min intervals); max 1440.


Grafana dashboard

Grafana dashboard

Import grafana_dashboard.json from this repo. You'll be prompted to select your Prometheus datasource on import. The dashboard includes:

  • Current netvar (gauge panel with gcp2.net color zones)
  • Current GAD level (stat panel, color-coded -2 to 2)
  • Current percentile and raw state (gauges, 0–100 and 0–1)
  • Stale data indicator
  • 24H netvar time series with zone threshold bands
  • 24H GAD time series

References

About

GCP network coherence poller + corru.observer GAD Discord bot + GAD/GCP Grafana dashboard

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages