const $ = (selector) => document.querySelector(selector); function empty(message) { return `

${message}

`; } function safe(value) { const element = document.createElement('span'); element.textContent = value ?? ''; return element.innerHTML; } function render(snapshot) { const project = snapshot.project ?? snapshot.repository; $('#project-name').textContent = project?.name ?? project?.id ?? 'Not installed'; $('#project-commit').textContent = snapshot.repository?.head?.slice(0, 9) ?? '—'; $('#fleet-health').textContent = snapshot.mode === 'installed' ? (snapshot.doctor?.healthy ? 'Healthy' : 'Needs attention') : 'Not installed'; $('#context-state').textContent = snapshot.contextLocality?.measured ? 'Measured' : 'Unmeasured'; const agents = snapshot.agents ?? []; $('#agent-count').textContent = `${agents.length} ${agents.length === 1 ? 'identity' : 'identities'}`; $('#agent-list').innerHTML = agents.length ? agents.map((agent) => `
${safe(agent.title ?? agent.areaId)}${safe(agent.summary ?? `${agent.runtime ?? 'runtime'} · ${agent.state}`)}
${safe(agent.areaId)}
`).join('') : empty('Install an approved fleet to see persistent identities.'); const domains = snapshot.organization?.domains ?? []; $('#ownership-list').innerHTML = domains.length ? domains.map((domain) => `
${safe(domain.title ?? domain.id)}${safe((domain.owned_paths ?? []).join(', ') || 'No paths assigned')}
${safe((domain.neighbours ?? []).join(', ') || 'isolated')}
`).join('') : empty('No approved domain ownership graph.'); const worktrees = snapshot.worktrees ?? []; $('#recoverability-state').textContent = snapshot.mode === 'installed' ? (snapshot.recoverability?.level ?? 'Unknown') : 'Not installed'; $('#worktree-list').innerHTML = worktrees.length ? worktrees.map((worktree) => `
${safe(worktree.area)}${safe(worktree.branch)} · ${safe(worktree.path)}
${safe(`${worktree.ahead ?? 0} ahead / ${worktree.behind ?? 0} behind`)}
`).join('') : empty('No managed worktrees have been created.'); const tasks = (snapshot.backlog ?? []).filter((task) => !['completed', 'cancelled'].includes(task.state)); $('#task-count').textContent = `${tasks.length} active`; $('#task-list').innerHTML = tasks.length ? tasks.slice(0, 12).map((task) => `
${safe(task.title ?? task.id)}${safe(task.owner ?? 'unassigned')}
${safe(task.state)}
`).join('') : empty('No active tracked work.'); const changes = snapshot.fleetChanges ?? []; const pendingChanges = changes.filter((change) => !['active', 'rejected'].includes(change.state)); $('#change-count').textContent = `${pendingChanges.length} pending`; $('#change-list').innerHTML = changes.length ? changes.map((change) => `
${safe(change.title ?? change.domainId)}${safe(change.expectedBenefit ?? 'No expected benefit recorded')}
${safe(change.state)}
`).join('') : empty('No Fleet changes proposed. The current roster remains in force.'); const integrations = snapshot.integration ?? []; $('#integration-list').innerHTML = integrations.length ? integrations.map((item) => `
${safe(item.sourceArea)}${safe(item.sourceCommit?.slice(0, 9))}
${safe(item.state)}
`).join('') : empty('No commits waiting to land.'); const deliveries = snapshot.deliveries ?? []; $('#delivery-list').innerHTML = deliveries.length ? deliveries.map((item) => `
${safe(item.label)}${safe(item.sourceArea)} · ${safe(item.commit?.slice(0, 9))}
${safe(item.state)}
`).join('') : empty('No delivery records. Integration does not imply deployment.'); const receipts = snapshot.checks?.receipts ?? []; $('#check-list').innerHTML = receipts.length ? receipts.map((receipt) => `
${safe(receipt.checkId)}${safe(receipt.areaId)} · ${safe(receipt.commit?.slice(0, 9))}
${safe(receipt.result)}
`).join('') : empty('No exact-commit check receipts.'); const holders = snapshot.resources?.holders ?? []; const waiters = snapshot.resources?.waiters ?? []; $('#resource-list').innerHTML = holders.length || waiters.length ? [...holders.map((item) => `
${safe(item.resourceId)}${safe(item.areaId)} holds
`), ...waiters.map((item) => `
${safe(item.resourceId)}${safe(item.areaId)} waits
`)].join('') : empty('All configured resources are available.'); const schedules = snapshot.schedules ?? []; $('#schedule-list').innerHTML = schedules.length ? schedules.map((schedule) => `
${safe(schedule.id)}${safe(schedule.owner)} · ${safe(schedule.lifetime)}
${safe(schedule.behavior)}
`).join('') : empty('No schedules configured.'); const providers = snapshot.providers ?? {}; const runtimeProviders = providers.runtimes ?? []; const deliveryProviders = providers.delivery ?? {}; const configured = snapshot.mode === 'installed'; $('#provider-list').innerHTML = [ `
Forge${safe(configured ? `${providers.forge?.provider ?? 'none'} · ${providers.forge?.status ?? 'unknown'}` : 'not configured')}
`, ...runtimeProviders.map((runtime) => `
${safe(runtime.name)}runtime configured
`), `
Release${safe(configured ? (deliveryProviders.release?.provider ?? 'none') : 'not configured')}
`, `
Deployment${safe(configured ? (deliveryProviders.deployment?.provider ?? 'none') : 'not configured')}
`, ].join(''); const messages = snapshot.messages?.recent ?? []; $('#message-count').textContent = `${snapshot.messages?.unacknowledged ?? 0} unacknowledged`; $('#message-list').innerHTML = messages.length ? messages.map((message) => `

${safe(message.sender)} to ${safe(message.recipient)}${safe((message.acknowledgedBy ?? []).length ? `Acknowledged by ${(message.acknowledgedBy ?? []).join(', ')}` : 'Unacknowledged')}

${safe(message.body)}
`).join('') : empty('No durable messages yet.'); const decisions = snapshot.decisions?.content ?? ''; $('#decision-list').innerHTML = decisions.trim() ? `

${safe(decisions)}

` : empty('No tracked decisions.'); const locality = snapshot.contextLocality; $('#context-detail').innerHTML = locality?.measured ? locality.samples.map((sample) => `
${safe(sample.areaId)}${safe(String(sample.cacheRead ?? 0))} cached tokens
`).join('') : `

${safe(locality?.reason ?? 'Runtime usage reporting is not available.')}

TORCH will compare cache activity with verified outcomes, not token count alone.`; } async function refresh() { $('#console-error').hidden = true; try { const response = await fetch('/api/snapshot', { cache: 'no-store' }); const snapshot = await response.json(); if (!response.ok) throw new Error(snapshot.message ?? snapshot.error); render(snapshot); } catch (error) { $('#console-error').textContent = `Snapshot unavailable: ${error.message}`; $('#console-error').hidden = false; } } $('#refresh-console')?.addEventListener('click', refresh); refresh();