@media (max-width: 600px) { #gate-msg { margin-bottom: 2px !important; } #gate-notice { margin-top: 4px !important; } #gate-notice > div { margin-bottom: 6px !important; font-size: 11px !important; line-height: 1.3 !important; } #gate-notice button { font-size: 11px !important; padding: 5px 10px !important; margin-top: 3px !important; border-radius: 4px !important; } } @media (max-width: 600px) { #hdr { top: 6px !important; left: 0 !important; width: 100vw !important; max-width: 100vw !important; text-align: left !important; padding: 10px 8px 0 8px !important; box-sizing: border-box !important; } #hdr h1, #gate-hdr h1 { font-size: 15px !important; line-height: 1.18 !important; white-space: normal !important; text-align: left !important; max-width: 98vw !important; overflow-wrap: break-word !important; word-break: break-word !important; font-family: 'IBM Plex Sans', sans-serif !important; font-weight: 600 !important; color: #d8e0ec !important; letter-spacing: .01em !important; margin: 0 !important; } .hsub, #gate-hdr .gsub { font-size: 12px !important; margin-top: 2px !important; text-align: left !important; line-height: 1.25 !important; max-width: 98vw !important; overflow-wrap: break-word !important; word-break: break-word !important; font-family: 'IBM Plex Sans', sans-serif !important; font-weight: 300 !important; color: #7a8898 !important; } .hauth, #gate-hdr .gauth { font-size: 10.5px !important; margin-top: 3px !important; text-align: left !important; max-width: 98vw !important; overflow-wrap: break-word !important; word-break: break-word !important; font-family: 'IBM Plex Mono', monospace !important; letter-spacing: .10em !important; color: #6f879f !important; text-transform: uppercase !important; } } // --- DEBUG: Test SVG fetch from Supabase --- window.testSupabaseSVG = async function() { const testSvgUrl = 'https://ayaaaiuxswbuezwoztcg.supabase.co/storage/v1/object/public/PaP/assets/geometry.svg'; try { const resp = await fetch(testSvgUrl); if (!resp.ok) { console.error('DEBUG: SVG fetch failed', testSvgUrl, resp.status); alert('DEBUG: SVG fetch failed: ' + resp.status); return; } const svgText = await resp.text(); console.log('DEBUG: SVG text:', svgText.slice(0, 200)); // Try to parse as image const img = new window.Image(); img.src = testSvgUrl; img.onload = function() { console.log('DEBUG: SVG image loaded successfully'); alert('DEBUG: SVG image loaded successfully'); }; img.onerror = function(e) { console.error('DEBUG: SVG image load error', e); alert('DEBUG: SVG image load error'); }; } catch (e) { console.error('DEBUG: SVG fetch error', e); alert('DEBUG: SVG fetch error: ' + e); } }; Performative Predictions

The Performativity of Algorithmic Prediction

A causal-mechanistic conceptualization of performativity as a socio-technical dynamic
Enter PIN
This project is under construction.
If you're interested in contributing, you can request a PIN or authorization by email.

The Performativity of Algorithmic Prediction

A causal-mechanistic conceptualization of performativity as a socio-technical dynamic

TABLE OF CONTENTS


NODES

PATHS

DISPLAY SETTINGS


Mode
Spiral Layer
Labels OFF ON
Flows OFF ON

View
Spiral
Top
Timeline

Zoom
30

Focus

Layers
1
t₀

Institution
Bank

Motion OFF ON
Info OFF ON
Saved
#chapter-nav{ display:flex; align-items:center; gap:5px; justify-content:center; margin: 0 auto 18px auto; width:100%; max-width:700px; }
Name

Timeline