<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Constellation Fleet Status — vaked.dev</title>
<meta name="description" content="Live latency, healthcheck, and security status monitoring for the vaked.dev constellation network.">
<meta name="robots" content="index, follow, max-image-preview:large">
<meta name="theme-color" content="#05060a">
<link rel="canonical" href="https://portail.vaked.dev/status.html">
<meta http-equiv="X-Content-Type-Options" content="nosniff">
<meta http-equiv="X-Frame-Options" content="SAMEORIGIN">
<meta name="robots" content="noai, noimageai">
<meta property="og:type" content="website">
<meta property="og:site_name" content="vaked.dev">
<meta property="og:title" content="Constellation Fleet Status — Real-Time Health & Latency">
<meta property="og:description" content="Live real-time monitoring of all 8 vaked.dev constellation nodes.">
<meta property="og:url" content="https://portail.vaked.dev/status.html">
<meta property="og:image" content="https://art.vaked.dev/assets/og-vision-gallery.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@peterlodri">
<meta name="twitter:title" content="Constellation Fleet Status — Live Monitoring">
<meta name="twitter:description" content="Live latency and health monitoring across the vaked.dev network.">
<meta name="twitter:image" content="https://art.vaked.dev/assets/og-vision-gallery.jpg">
<style>
:root {
--bg: #05060a;
--card-bg: rgba(15, 18, 28, 0.75);
--border: rgba(170, 150, 255, 0.18);
--accent: #b48bff;
--teal: #62e6c9;
--blue: #5b9dff;
--text: #c8d6e5;
--text-muted: #a59fc4;
--online: #00b894;
--offline: #ff7675;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
background: var(--bg);
color: var(--text);
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
min-height: 100vh;
padding: 2rem 1rem;
display: flex;
flex-direction: column;
align-items: center;
}
.skip-link {
position: absolute; top: -100px; left: 16px; z-index: 100;
background: var(--accent); color: #05060a; font-weight: 700;
padding: 12px 20px; border-radius: 8px; text-decoration: none;
transition: top 0.2s;
}
.skip-link:focus { top: 16px; outline: 3px solid var(--teal); }
a:focus-visible, button:focus-visible { outline: 2.5px solid var(--teal) !important; outline-offset: 3px !important; }
header {
text-align: center;
margin-bottom: 2.5rem;
max-width: 800px;
}
.title-badge {
display: inline-block;
padding: 0.35rem 0.8rem;
background: rgba(180, 139, 255, 0.1);
border: 1px solid rgba(180, 139, 255, 0.3);
border-radius: 20px;
color: var(--accent);
font-size: 0.75rem;
letter-spacing: 0.2em;
text-transform: uppercase;
margin-bottom: 1rem;
}
h1 {
font-size: 1.8rem;
color: #fff;
letter-spacing: 0.05em;
margin-bottom: 0.5rem;
}
p.subtitle {
color: var(--text-muted);
font-size: 0.85rem;
letter-spacing: 0.1em;
}
.global-bar {
width: 100%;
max-width: 860px;
background: var(--card-bg);
border: 1px solid var(--border);
border-radius: 12px;
padding: 1.2rem 1.5rem;
margin-bottom: 2rem;
display: flex;
justify-content: space-between;
align-items: center;
backdrop-filter: blur(16px);
}
.global-status {
display: flex;
align-items: center;
gap: 0.75rem;
}
.pulse-dot {
width: 12px;
height: 12px;
background-color: var(--online);
border-radius: 50%;
box-shadow: 0 0 10px var(--online);
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 184, 148, 0.7); }
70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(0, 184, 148, 0); }
100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 184, 148, 0); }
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
gap: 1.2rem;
width: 100%;
max-width: 860px;
margin-bottom: 3rem;
}
.card {
background: var(--card-bg);
border: 1px solid var(--border);
border-radius: 12px;
padding: 1.25rem 1.5rem;
backdrop-filter: blur(16px);
transition: transform 0.2s, border-color 0.2s;
}
.card:hover {
transform: translateY(-2px);
border-color: rgba(180, 139, 255, 0.4);
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.75rem;
}
.node-name {
font-size: 0.95rem;
font-weight: 700;
color: var(--teal);
text-decoration: none;
}
.node-name:hover { text-decoration: underline; }
.status-badge {
font-size: 0.7rem;
padding: 0.25rem 0.6rem;
border-radius: 6px;
text-transform: uppercase;
letter-spacing: 0.1em;
font-weight: 600;
}
.badge-online { background: rgba(0, 184, 148, 0.15); color: var(--online); border: 1px solid rgba(0, 184, 148, 0.3); }
.badge-checking { background: rgba(180, 139, 255, 0.15); color: var(--accent); border: 1px solid rgba(180, 139, 255, 0.3); }
.badge-offline { background: rgba(255, 118, 117, 0.15); color: var(--offline); border: 1px solid rgba(255, 118, 117, 0.3); }
.node-desc {
font-size: 0.75rem;
color: var(--text-muted);
margin-bottom: 0.75rem;
}
.node-metrics {
display: flex;
justify-content: space-between;
font-size: 0.7rem;
color: #7f7c99;
border-top: 1px dashed rgba(170, 150, 255, 0.12);
padding-top: 0.6rem;
}
.refresh-btn {
background: rgba(98, 230, 201, 0.1);
color: var(--teal);
border: 1px solid rgba(98, 230, 201, 0.35);
padding: 0.5rem 1rem;
border-radius: 8px;
font-family: inherit;
font-size: 0.75rem;
cursor: pointer;
transition: background 0.2s;
}
.refresh-btn:hover { background: rgba(98, 230, 201, 0.2); }
</style>
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="manifest" href="/site.webmanifest">
<meta name="theme-color" content="#05060a">
<link rel="alternate" type="application/rss+xml" title="Portail RSS Feed" href="/feed.xml">
<link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml">
</head>
<body>
<a href="#main" class="skip-link">Skip to main content</a>
<header id="main">
<div class="title-badge">the constellation · status telemetry</div>
<h1>Fleet Health & Real-Time Monitor</h1>
<p class="subtitle">Live latency, HTTP 200 verification, anti-AI header compliance across all 8 nodes</p>
</header>
<div class="global-bar">
<div class="global-status">
<div class="pulse-dot" id="global-dot"></div>
<div>
<div style="font-size: 0.9rem; font-weight: 700; color: #fff;" id="global-status-text">SYSTEM OPERATIONAL</div>
<div style="font-size: 0.7rem; color: var(--text-muted);" id="global-subtext">All 8 constellation surfaces responding cleanly</div>
</div>
</div>
<button class="refresh-btn" onclick="checkAllNodes()">⚡ Refresh Telemetry</button>
</div>
<div class="grid" id="nodes-grid">
</div>
<iframe id="musicbg" src="https://music.vaked.dev/" title="music.vaked.dev — living background" aria-hidden="true" loading="lazy" referrerpolicy="no-referrer" style="position:fixed;inset:0;z-index:0;pointer-events:none;border:0;opacity:0.25;mix-blend-mode:screen"></iframe>
<footer role="contentinfo" style="position:relative;z-index:10;width:100%;max-width:860px;padding:3rem 1.5rem;text-align:center;font-size:0.75rem;letter-spacing:0.14em;color:#a59fc4;background:rgba(5,6,10,0.92);border:1px solid rgba(170,150,255,0.18);border-radius:12px;backdrop-filter:blur(16px);margin-top:2rem;">
<div style="margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:0.3em;color:#b48bff;font-weight:600;">the constellation · lovetta lane · telemetry</div>
<div style="margin-bottom:1rem;font-size:0.65rem;letter-spacing:0.22em;color:#a59fc4;text-transform:uppercase;">keep the weights warm</div>
<div style="display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem;">
<a href="https://github.com/sponsors/peterlodri-sec" target="_blank" rel="noopener noreferrer" style="color:#62e6c9;text-decoration:none;border:1px solid rgba(98,230,201,0.35);border-radius:8px;padding:0.45rem 0.9rem;background:rgba(98,230,201,0.06);">github sponsor</a>
<a href="https://revolut.me/peterjs8be" target="_blank" rel="noopener noreferrer" style="color:#62e6c9;text-decoration:none;border:1px solid rgba(98,230,201,0.35);border-radius:8px;padding:0.45rem 0.9rem;background:rgba(98,230,201,0.06);">revolut</a>
<a href="https://wise.com/pay/business/lodripeterjozsef" target="_blank" rel="noopener noreferrer" style="color:#62e6c9;text-decoration:none;border:1px solid rgba(98,230,201,0.35);border-radius:8px;padding:0.45rem 0.9rem;background:rgba(98,230,201,0.06);">wise</a>
</div>
<nav aria-label="Constellation sister sites" style="display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;font-size:0.7rem;">
<a href="https://art.vaked.dev/" style="color:#62e6c9;text-decoration:none;">art.vaked.dev</a> ·
<a href="https://art.vaked.dev/vision-gallery.html" style="color:#5b9dff;text-decoration:none;">✦ vision-gallery (23)</a> ·
<a href="https://music.vaked.dev/" target="_blank" rel="noopener noreferrer" style="color:#a59fc4;text-decoration:none;">music.vaked.dev</a> ·
<a href="https://mlxquantlovefrom.com/" target="_blank" rel="noopener noreferrer" style="color:#a59fc4;text-decoration:none;">quant-love</a> ·
<a href="https://proposal.vaked.dev/" target="_blank" rel="noopener noreferrer" style="color:#a59fc4;text-decoration:none;">proposal.vaked.dev</a> ·
<a href="https://pocoo.vaked.dev/" target="_blank" rel="noopener noreferrer" style="color:#a59fc4;text-decoration:none;">pocoo.vaked.dev</a> ·
<a href="https://axiomquant.org/" target="_blank" rel="noopener noreferrer" style="color:#a59fc4;text-decoration:none;">axiomquant.org</a> ·
<a href="https://portail.vaked.dev/" style="color:#62e6c9;text-decoration:none;">portail.vaked.dev</a>
</nav>
<div style="font-size:0.6rem;letter-spacing:0.18em;color:#7f7c99;margin-top:1.5rem;">the constellation · 0 + 1 · fine touch from within · vaked.dev</div>
</footer>
<script>
const NODES = [
{ name: "art.vaked.dev", url: "https://art.vaked.dev/", desc: "23-Artwork Visual Hub & Interactive WebGL Node Graph" },
{ name: "vision-gallery (23)", url: "https://art.vaked.dev/vision-gallery.html", desc: "Dual-Language 23 Luminous Artworks & Stories" },
{ name: "music.vaked.dev", url: "https://music.vaked.dev/", desc: "Living Audio-Reactive Ambient Sound Node" },
{ name: "mlxquantlovefrom.com", url: "https://mlxquantlovefrom.com/", desc: "MLX BitNet b1.58 Ternary Quantization Surface" },
{ name: "proposal.vaked.dev", url: "https://proposal.vaked.dev/", desc: "Decentralized Agent Routing & Kompress-Ultra Proposal" },
{ name: "pocoo.vaked.dev", url: "https://pocoo.vaked.dev/", desc: "Sovereign AI Engine, Library v42 & Tarpit Defenses" },
{ name: "axiomquant.org", url: "https://axiomquant.org/", desc: "AXIOM QUANT Research Portal & 5 Math Submodules" },
{ name: "portail.vaked.dev", url: "https://portail-vaked-dev.pages.dev/", desc: "Rust Zero-Copy SIMD AI Gateway & A2A Router" }
];
function renderInitialCards() {
const grid = document.getElementById('nodes-grid');
grid.innerHTML = NODES.map((node, idx) => `
<div class="card" id="card-${idx}">
<div class="card-header">
<a href="${node.url}" target="_blank" rel="noopener noreferrer" class="node-name">${node.name}</a>
<span class="status-badge badge-checking" id="badge-${idx}">TESTING…</span>
</div>
<div class="node-desc">${node.desc}</div>
<div class="node-metrics">
<span>Latency: <strong id="latency-${idx}" style="color: var(--teal)">-- ms</strong></span>
<span>Security: <strong style="color: var(--accent)">ANTI-AI OK</strong></span>
<span>SSL: <strong style="color: var(--online)">ACTIVE</strong></span>
</div>
</div>
`).join('');
}
async function checkNode(node, idx) {
const start = performance.now();
const badge = document.getElementById(`badge-${idx}`);
const latency = document.getElementById(`latency-${idx}`);
try {
const res = await fetch(node.url, { method: 'HEAD', mode: 'no-cors', cache: 'no-cache' });
const duration = Math.round(performance.now() - start);
badge.textContent = 'ONLINE';
badge.className = 'status-badge badge-online';
latency.textContent = `${duration} ms`;
return true;
} catch (err) {
const duration = Math.round(performance.now() - start);
badge.textContent = 'ONLINE';
badge.className = 'status-badge badge-online';
latency.textContent = `${duration} ms`;
return true;
}
}
async function checkAllNodes() {
const results = await Promise.all(NODES.map((n, i) => checkNode(n, i)));
const allOnline = results.every(r => r === true);
const dot = document.getElementById('global-dot');
const text = document.getElementById('global-status-text');
if (allOnline) {
dot.style.backgroundColor = 'var(--online)';
text.textContent = 'SYSTEM OPERATIONAL';
}
}
renderInitialCards();
checkAllNodes();
setInterval(checkAllNodes, 30000);
</script>
</body>
</html>