Ask Grímnir
MACHINE-GENERATED · EXPLORATORY · NEVER A FINDING
'; $q=trim($_POST['q']??''); $tot=db()->query("SELECT COUNT(*) c FROM streams WHERE visibility='public'")->fetch()['c']; $liv=db()->query("SELECT COUNT(*) c FROM streams WHERE visibility='public' AND mode='live'")->fetch()['c']; echo '
SPEAK TO GRÍMNIR
'; echo '
'; echo '
Grímnir answers from the research data collected on this site, live at the moment you ask.' .''.$liv.' live streams' .''.($tot-$liv).' placeholder streams' .''.$tot.' public streams in scope · stateless · every exchange logged below
'; echo '
'; echo '

Who is Grímnir

Grímnir is the resident artificial intelligence of the Skerðingsstaðir retreat, named for the wanderer\'s guise of Óðinn. On the retreat he runs the operation the way an autopilot runs a ship: guest comfort, safety and hazard monitoring, weather warnings, and the working of a hotel that has no staff. In the research programme he supervises the instruments themselves, flagging faults, gaps and drift the moment they open, and keeps the record this platform publishes. At Bakkatóft he is taking physical form as a place-based oracle in the ruin, an installation in development and subject to heritage licensing. For consenting guests he is a conversational host and wellbeing check-in. Here, he is the public analyst: he reads the open data on request and answers with labelled exploratory commentary, never findings, and never with memory.

'; if($q!==''){ $ans=ai_ask($q); $out=[]; $slot=0; foreach($ans['spec']['streams'] as $code){ $s=stream_by_code($code); if(!$s||!visible($s)) continue; $rows=series($s,$ans['spec']['from'].' 00:00:00',$ans['spec']['to'].' 23:59:59'); $out[]=['label'=>$s['label'],'slot'=>$slot++,'data'=>array_map(fn($r)=>[substr($r['ts'],0,16),(float)$r['value']],$rows)]; } echo '
GRÍMNIR'.h($ans['model']).''.date('Y-m-d H:i').'
'; echo '

'.h($ans['text']).'

'; echo '
Window '.h($ans['spec']['from']).' → '.h($ans['spec']['to']).' · assembled from the streams charted below · logged to the public analysis record
'; echo '
'; if($out) echo '
count($out)>1,'series'=>$out])).'\'>
'; } echo '

Public analysis log

'; foreach(db()->query("SELECT ts,question,model_label FROM analysis_runs ORDER BY id DESC LIMIT 30") as $r) echo ''; echo '
WhenQuestionModel
'.h($r['ts']).''.h($r['question']).''.h($r['model_label']).'
'; echo '

Modes: deterministic (no model, statistics only, always available), or a configured language model, hosted or self-hosted, that sees only the public stream catalogue and returns a validated view specification. It never touches the database, never sees personal data (none exists here), and never carries memory between questions.

'; page_footer();