Administrative Console

Authorized proctors & appliance controllers only

{{ authError }}
CBT Console Autonomous Proctor
Operations
Access Control
Infrastructure
Candidate Portal Live
Universal Pacing: {{ (config.minExamTimeMinutes || 0) }}m - {{ (config.maxExamTimeMinutes || 0) }}m
Origin Target: {{ config.cbtOrigin || 'Internal' }}
Console / {{ activeTab === 'users' ? 'Access Control' : (activeTab === 'config' ? 'Infrastructure' : 'Operations') }} / {{ activeTab === 'users' ? 'Candidate Roster' : (activeTab === 'transcripts' ? 'Audit & Results' : activeTab) }}
🌐 Open Exam Portal
Total Enrolled
📋
{{ tasks.length }}
{{ pendingCount }} pending in queue
In Progress
⚡
{{ runningCount }}
{{ runningCount > 0 ? 'Agent active proctoring' : 'Standby / Ready' }}
Completed
✓
{{ completedTasks.length }}
{{ failedCount }} failed runs
Universal Pacing
⏱️
{{ (config.minExamTimeMinutes || 0) }}m to {{ (config.maxExamTimeMinutes || 0) }}m
Speed & dwell control

🚀 Candidate Task Scheduler

Enroll students, specify course codes & configure execution windows

{{ parsedCandidateCount }} candidate{{ parsedCandidateCount === 1 ? '' : 's' }} ready
Supports format: MATRIC, COURSE per line or target course below.

Task Queue {{ filteredTasks.length }}

{{ selectedTaskIds.length }} selected |
No matching candidate tasks found.
{{ task.matricNo }}
⏳ Pending Running ✓ Completed ✗ Failed
{{ task.course }} 🔑 {{ task.examCode || '1234' }} {{ task.mode === 'visible' ? '🖥️ Visible' : '🔒 Silent' }} ⏱️ {{ formatLiveDuration(task.startedAt) }} ⏱️ {{ task.timeSpent || task.duration }}
🎯 {{ task.score }}
{{ task.error }}
Showing {{ tasksStartIndex }} to {{ tasksEndIndex }} of {{ filteredTasks.length }} candidates

Daily Candidate Access Token (Current Operating Cycle)

Automated 24-hour token rotation policy for proctored candidate access and guest examinees.

Active Operating Date {{ dailyGuestToken.date || 'Today' }}
Current Access Token {{ dailyGuestToken.token || 'GENERATING...' }}
Sessions Started Today {{ dailyGuestToken.usageCount || 0 }}
Rotation Policy 24h Cycle (00:00 UTC)
Administrative Key Policy: The Master Admin PIN is fixed and permanent. It does not rotate automatically and can be modified in the tab.
API: /api/tokens/daily

👤 Enroll Candidate User Account

Create candidate access credentials with custom passcodes & course authorization

Candidates authenticate exclusively using their Access Token or direct 1-click exam link.
Format: MATRIC, COURSE or MATRIC, TOKEN, PASSCODE, COURSE. Tokens are auto-generated if omitted.

Authorized Candidate Directory

{{ users.length }} enrolled
# Candidate Matric Access Token (Token Gate) Full Name / Course Status Last Active Login Access Controls

No candidate accounts created yet.

Enroll candidates above to issue tokens and enforce access control on the exam portal.

{{ idx + 1 }} {{ u.username }}
{{ u.token || '—' }}
{{ u.fullName || '—' }}
{{ u.course || 'All Courses' }}
{{ u.status === 'active' ? 'Active' : 'Suspended' }}
{{ u.lastLogin || 'Never' }}
{{ u.tokenUsage }} session{{ u.tokenUsage > 1 ? 's' : '' }}

🧠 Live Cognitive Agent Telemetry

Real-time trace logs of AI element resolution, question solving, and page interactions

No telemetry records streamed yet. Start tasks to observe agent cognitive decisions.
[{{ log.time }}] [{{ log.tag || 'AGENT' }}] {{ log.message }}

🎓 Verified Transcripts & Gradebook {{ completedTasks.length }}

Audited completion records with zero-unanswered verification & exam duration logs

No transcripts available yet.
{{ t.matricNo }} ✓ Zero-Unanswered
{{ t.course }}
{{ t.score || '100%' }} ({{ t.grade }})
⏱️ {{ t.timeSpent || t.duration || '—' }} {{ t.completedAt ? new Date(t.completedAt).toLocaleTimeString() : 'Just now' }}
Showing {{ transcriptsStartIndex }} to {{ transcriptsEndIndex }} of {{ filteredTranscripts.length }} records

⚙️ System Engine & Universal Pacing Configuration

Configure CBT origin targets, AI cognitive model endpoints, and universal exam pacing

⏱️

Universal Exam Pacing Controls

Controls the duration the agent spends on each candidate exam. The agent paces clicks, reading dwell times, and question submissions so test completion matches real candidate behavior.

Agent will not finish before this time elapsed
Agent ensures submission before this deadline

⚡ Unified Appliance Bridge & Cloud Link {{ edgeStatus.edgeOnline ? '🟢 Pi Edge Online' : (configForm.edgeBridgeUrl ? '🟡 Edge Unreachable' : '🔵 Direct LAN Mode') }}

Enables cloud-hosted instances (fasttrackus.online) to relay exam sessions through an on-premise Raspberry Pi appliance.

When set on Cloud, requests to /exam-bridge relay directly through the Pi's physical Ethernet connection.
When set on the Pi appliance, it automatically registers heartbeats and syncs candidate rosters with the Cloud Hub.
{{ edgeTestResult.ok ? 'Bridge Active:' : 'Bridge Failed:' }} {{ edgeTestResult.message || edgeTestResult.error }} ({{ edgeTestResult.latencyMs }}ms)
Target examination origin URL or endpoint
🔒
Fixed permanent administrator token. Does NOT rotate daily — modify here anytime to protect portal access.
{{ toast.message }}