Treat silent interview communication as unassessed

DA
14h ago
+414-64

Summary

Prevent reports from assigning a communication score when no candidate speech was captured.

The report generator now uses the recorded candidate-turn count. Silent sessions require a null communication score and no communication strengths, while the browser displays the result as Not assessed.

Testing

  • added regression coverage for silent and spoken sessions
  • verified HTML and Markdown rendering
  • browser tests, ESLint, Prettier, cargo fmt --check, and git diff --check pass

Closes #123.


Summary by cubic

Stops reports from assigning a communication score when the candidate never spoke. The report generator now uses a trusted server-derived candidate-turn count; silent sessions require a null communicationScore, empty communication strengths, and display "Not assessed" in HTML and Markdown reports, while coding assessment is unchanged. Code edits and test runs are never treated as spoken responses.

  • Report schema 4 makes communicationScore nullable and allows zero communication strengths.
  • Interview contract bundle bumps to 40 (report prompt 24, schema 4).
  • Adds regression coverage for silent and spoken sessions across prompt, validation, and rendering.