feat: Phase 3 — wire panel modules (heatmap, agent-board, dual-brain, LoRA, sovereignty, earth)
Some checks failed
CI / validate (pull_request) Failing after 12s
CI / auto-merge (pull_request) Has been skipped

- core/theme.js: export NEXUS with full NEXUS.theme.* properties used by all 6 panels
- core/ticker.js: add subscribe() convenience export so panels can self-register
- data/gitea.js: also write state.agentStatus, activeAgentCount, zoneIntensity, commits, commitHashes
- data/loaders.js: also write state.sovereignty
- data/bitcoin.js: also write state.blockHeight, lastBlockHeight, newBlockDetected, starPulseIntensity
- data/weather.js: also write state.weather
- app.js: import + init all 6 panel modules, bootstrap data polling, call globalTicker.tick()

Fixes #412
Refs #409

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Alexander Whitestone
2026-03-24 18:17:48 -04:00
parent c0a673038b
commit 2c0f7f7a16
7 changed files with 155 additions and 34 deletions

View File

@@ -1,6 +1,8 @@
// modules/data/loaders.js — Static file loaders (portals.json, sovereignty-status.json, SOUL.md)
// Writes to S: sovereigntyScore, sovereigntyLabel
// Writes to S: sovereigntyScore, sovereigntyLabel (legacy)
// Writes to state: sovereignty
import { S } from '../state.js';
import { state } from '../core/state.js';
// --- SOUL.md (cached) ---
let _soulMdCache = null;
@@ -37,6 +39,7 @@ export async function fetchSovereigntyStatus() {
S.sovereigntyScore = score;
S.sovereigntyLabel = label;
state.sovereignty = { score, label, assessment_type: assessmentType };
return { score, label, assessmentType };
} catch {