Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions demo/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"name": "Zeta Factory Dashboard",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Any",
"description": "Dashboard for tracking the Zeta autonomous software factory, including agent DORA metrics and PR queues.",
"description": "Dashboard for tracking the Zeta autonomous software plant, including agent activity metrics and PR queues.",
"url": "https://lucent-financial-group.github.io/Zeta/demo/index.html",
"author": {
"@type": "Organization",
Expand Down Expand Up @@ -600,13 +600,17 @@ <h1>Zeta Factory</h1>
<div class="panel" style="margin-bottom: 2rem;">
<div class="panel-header">
<svg class="icon" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"></path></svg>
<h2>DORA Metrics (24h)</h2>
<h2>Plant Metrics</h2>
</div>
<div class="stat-grid">
<div class="stat">
<div class="stat-label">PRs Merged</div>
<div class="stat-label">PRs Merged (24h)</div>
<div class="stat-value" id="merge-velocity">-</div>
</div>
<div class="stat">
<div class="stat-label">Current Pace (1h)</div>
<div class="stat-value" id="merge-velocity-1h">-</div>
</div>
<div class="stat">
<div class="stat-label">Avg Lead Time</div>
<div class="stat-value" id="lead-time">-</div>
Expand Down Expand Up @@ -889,6 +893,12 @@ <h2>Ferry-Relayed (Research)</h2>
const mergeEl = document.getElementById('merge-velocity');
mergeEl.className = `stat-value fade-in ${data.metrics.prs_merged_24h >= 10 ? 'good' : data.metrics.prs_merged_24h >= 3 ? '' : 'warn'}`;

// Current pace (1h) — surfaces whether the 24h number reflects current state
const pace1h = data.metrics.prs_merged_1h ?? 0;
animateValue('merge-velocity-1h', pace1h);
const paceEl = document.getElementById('merge-velocity-1h');
paceEl.className = `stat-value fade-in ${pace1h >= 2 ? 'good' : pace1h >= 1 ? '' : 'warn'}`;
Comment thread
AceHack marked this conversation as resolved.

const avg = data.metrics.avg_lead_time_minutes;
animateValue('lead-time', avg === null ? '-' : (avg < 60 ? `${avg}m` : `${(avg / 60).toFixed(1)}h`));
animateValue('open-prs', data.metrics.open_prs);
Expand Down Expand Up @@ -988,8 +998,10 @@ <h2>Ferry-Relayed (Research)</h2>

const now = Date.now();
const h24 = 24 * 60 * 60 * 1000;
const h1 = 60 * 60 * 1000;
const commits24h = commits.filter(c => (now - new Date(c.commit.author.date)) < h24);
const mergedToday = closedPRs.filter(pr => pr.merged_at && (now - new Date(pr.merged_at)) < h24);
const mergedLastHour = mergedToday.filter(pr => (now - new Date(pr.merged_at)) < h1);
Comment on lines 999 to +1004

// DORA: lead time
let avgLeadTime = '-';
Expand All @@ -1016,6 +1028,8 @@ <h2>Ferry-Relayed (Research)</h2>
animateValue('merge-velocity', mergedToday.length);
mergeEl.className = `stat-value fade-in ${mergedToday.length >= 10 ? 'good' : mergedToday.length >= 3 ? '' : 'warn'}`;

animateValue('merge-velocity-1h', mergedLastHour.length);

animateValue('lead-time', avgLeadTime);
animateValue('open-prs', openPRs.length);
animateValue('commits-24h', commits24h.length);
Expand Down
Loading
Loading