CodePilot
Interactive engineering fixtureSYNTHETIC FIXTURENO LIVE CREDENTIALS
← Back to overview
TASK · demo/customer-analytics · DEMO-001Add CSV export to the customer analytics page and cover edge cases.
Execution1/8
Final patch preview+16 / -1

Completed-run patch shown for reference. The selected step and verification status are tracked separately.

analytics/export.ts+13 -0
1@@@ existing export module1export function exportAsJson(rows: Record<string, unknown>[]): string {2  return JSON.stringify(rows, null, 2);3}4+ 5+function csvCell(value: unknown): string {6+  const raw = String(value ?? '');7+  const escaped = raw.replaceAll('"', '""');8+  return /[",\n]/.test(raw) ? '"' + escaped + '"' : escaped;9+}10+ 11+export function exportAsCsv(rows: Record<string, unknown>[]): string {12+  if (rows.length === 0) return '';13+  const headers = Object.keys(rows[0]);14+  const body = rows.map((row) => headers.map((h) => csvCell(row[h])).join(','));15+  return [headers.join(','), ...body].join('\n');16+}
Run outputEXECUTED
[repo.listFiles · repo.readFile] Inspect analytics surface
  Found analytics/page.tsx, analytics/export.ts, and two configured validation checks.

Selected scenario: CSV export. This public experience is a deterministic synthetic fixture. It mirrors CodePilot's real state vocabulary, tool boundaries, repair behavior, and verification evidence without accepting arbitrary repositories, commands, credentials, or network input from anonymous visitors. The full runtime is designed for a server with a Docker-capable sandbox; this page itself is safe to deploy as static frontend content.

CodePilot · Engineered by Malek El Badawi El NajjarPUBLIC FIXTURE · REAL RUNTIME MODEL