Let candidates choose a report improvement as the next practice focus

オープン
#580 コメント 3 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@Hsieh-HC がすでに取り組んでいます。

2026年11月4日 から。

  • #593 @Hsieh-HC による — オープン

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
74/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
javascript
領域
frontend

調査の方向性

Start by reading web/render.js::reportMarkup() and the practice-focus flow in web/problem-picker.js and web/app.js. Trace how a selected item can reach the lobby without changing the existing automatic Carry forward behavior or the separate sharing opt-in, then add browser regression coverage for both paths. Done means the exact item is selected, sharing remains unchecked, and the listed interview settings and downloadable Markdown report remain unchanged.

索引モデルが issue の本文から書いたものです。

説明

Problem

A report may recommend several different improvements, such as problem restatement and edge-case enumeration. When a candidate prepares another practice session or uses Try again, CodeTrial currently derives the practice focus from saved reports automatically. The candidate cannot explicitly choose which improvement item should become that focus.

Current behavior

The existing practice-focus flow was introduced as part of #38, including commit 26410f7 (Let a candidate share a practice focus).

I reviewed current main at revision 8f5ad5c.

  • web/render.js::reportMarkup() renders every improvementPlan item under Practice next, including its phase, drill, duration, success criterion, and self-review checks.
  • web/problem-picker.js::practiceFocus() derives one focus from saved reports. A weakness repeated across reports wins, while ties preserve the newer report and plan ordering.
  • The derived focus contains the weakness, drill, success criterion, and occurrence count. It does not change problem selection or become new assessment evidence.
  • web/app.js displays the derived focus in the lobby as Carry forward and lets the candidate explicitly choose whether to share it with Jim.
  • web/interview.js consumes the shared focus from session storage.
  • src/agent/prompts.rs allows the shared practice focus to guide at most one neutral follow-up. It does not change the problem, expected solution, rubric, score, or correctness decision.
  • The existing Try again action selects the previous problem and restores related interview settings, but it does not select a particular improvementPlan item from that report.

The existing path therefore supports carrying an automatically selected practice focus into another interview, but it does not let the candidate choose a specific improvement item from the report.

Desired outcome

Each improvement item in the web report has a Practice this action. Pressing it carries that specific improvement item into the lobby as the selected practice focus.
For example, if the candidate chooses an edge-case enumeration item, the existing practice-focus area could show:

Selected practice focus · Test
Drill: Enumerate boundary and edge cases before running tests.
Success: Identify the relevant boundary cases before execution.

The existing Share this focus with Jim checkbox remains below the selected focus and stays unchecked until the candidate explicitly opts in. If the candidate does not press Practice this, the current automatically derived Carry forward behavior remains unchanged.

Image

Proposed scope

  1. Add a Practice this action to each valid improvementPlan item in the web report.
  2. Carry the selected item's phase, weakness, drill, and success criterion into the lobby.
  3. Let the explicitly selected item take precedence over practiceFocus(reports) for that lobby session.
  4. Render the selected item in the existing practice-focus area above Share this focus with Jim.
  5. Keep sharing the focus with Jim as a separate explicit opt-in.

Acceptance criteria

  • Each valid Practice next item in the web report offers Practice this.
  • Pressing Practice this makes that exact improvement item the selected practice focus in the lobby.
  • The explicitly selected item takes precedence over the automatically derived recurring focus for that lobby session.
  • Share this focus with Jim remains unchecked after selecting an item.
  • If no improvement item is explicitly selected, the existing practiceFocus() behavior remains unchanged.
  • Selecting a practice focus does not change the selected problem, difficulty, session length, interview format, or editor settings.
  • The downloadable Markdown report remains unchanged.
  • Browser regression coverage verifies that Practice this carries the exact selected item into the lobby, leaves sharing with Jim unchecked, and preserves the existing automatic Carry forward behavior when no item is selected.
主要言語
Rust
スター
223
フォーク
148
平均マージ
1日 11時間
マージ済み PR(30日)
224

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

sysprog21/codetrial のほかの issue

sysprog21/codetrial の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。