ed243594d2
Wave 3 (Task 6-3-01): /build/[competencyId] rewritten as a real build surface —
variant statement + starter files in a live namespace sandbox, workspace file tree +
editor with save, Run/Test buttons executing bounded commands in-sandbox with
read-only TerminalFrame output (CUT-2), live TelemetryStatus pulse, Lab feedback over
the live trace, honest 503-busy/403-429-denied states with retry.
Wave 4 (Task 6-4-01): /defend/[competencyId] rewritten — DefenseSession: start ->
examiner question -> typed answers (mic capture w/ MediaRecorder consent + denied
fallback; browser-SR first-class per CUT-1) -> finish -> verdict + integrity signals
-> Grade My Work renders real rubric bars from the trace digest. Dead mock components
disposed (oral-defense-interface, assessor-results-panel, proctor-banner — G-5 class).
Wave 5 (Task 6-5-01): test_e2e_credential_flow — REAL uvicorn + REAL namespaces:
variant -> sandbox -> in-sandbox exec -> trace -> grade (seed stamped) -> coaching ->
defense -> verdict -> proctor; corpus-fixture scan of all payloads. E2E caught a real
bug: the sandboxes API dropped task_id (every HTTP-created sandbox was capture-less)
— fixed. README E2E + manual browser pass documented.
pnpm build 4/4; typecheck FULL TURBO; backend suite 397 green; ruff clean.
---ci---
phase: 6
milestone: v0.3
status: execute
requirements: {covered: [REQ-3-007, REQ-3-008], partial: []}
---/ci---
20 lines
644 B
TypeScript
20 lines
644 B
TypeScript
'use client';
|
|
|
|
import { AgentStreamPanel } from './agent-stream-panel';
|
|
|
|
/**
|
|
* Lab feedback panel over the LIVE trace (REQ-3-007).
|
|
*
|
|
* v0.3 re-grounding: posts {learner_id, task_id} — the Lab agent consumes
|
|
* the learner's real build-session digest, not a mock scenario.
|
|
*/
|
|
export function LabFeedbackPanel({ learnerId, taskId }: { learnerId: string; taskId: string }) {
|
|
return (
|
|
<AgentStreamPanel
|
|
title="Lab — in-flow feedback"
|
|
endpoint="/v1/lab/feedback"
|
|
body={{ learner_id: learnerId, task_id: taskId }}
|
|
emptyHint="Run a command or a test, then ask Lab for feedback on your live session."
|
|
/>
|
|
);
|
|
} |