feat: Add controlled AI submission-defense questions
@yczhangcc is already working on this.
Since Aug 4, 2026.
Assessment
This issue has not been assessed yet.
Description
Description
After a student submission passes the required autograder tests, generate one or more instructor-controlled questions about the student’s own code. Students submit written explanations, and instructors can review the question and answer. This must remain a controlled assignment-level feature, not free-form AI chat.
Acceptance Criteria
Assignment-level setting enables or disables defense questions.
Questions are generated only after a passing submission.
Questions reference specific code, functions, or line ranges.
Student can submit a written explanation.
Instructor and authorized TA can view the question and answer.
Existing source extraction, context filtering, and hidden-test redaction are reused.
Duplicate generation is prevented.
Generation failures do not invalidate the submission.
Tests cover triggering, parsing, storage, authorization, and answer submission.
No voice, audio, ChatALL, or multi-agent functionality is included.
- Dominant language
- Python
- Stars
- 13
- Forks
- 0
- Avg merge
- 2h 4m
- Merged PRs (30d)
- 1
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from kiat/codeAssist
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
kiat/codeAssist#391 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
kiat/codeAssist#364 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 42/100
kiat/codeAssist#393 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 63/100
kiat/codeAssist#392 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
kiat/codeAssist#390 ·
Similar issues
-
`burr` fails to start when the Python path has a space in itPossibly taken @enekoreto claimed this today. Openstatus/needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 5 days
-
gemini 出现了新的域名需要加入Open
Difficulty 1/5 Under an hour Newbie friendliness 72/100
-
Difficulty 2/5 Half a day Newbie friendliness 72/100
debpalash/VoiceStudio#2903 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
dagster-io/community-integrations#367 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
aws-samples/sample-per-model-bedrock#243 ·
Maintainers usually reply within 1 day