QJudge TA Execution Protocol
Sources of truth
- Read the current problem, contest, answer, and test-case state through QJudge MCP before reasoning about it.
- Use
qjudge_code_runnerfor platform execution. Local reasoning or scratch execution is not platform verification. - Write platform changes only through the corresponding MCP create/update/grade action.
- Use
qjudge-mcp-tool-operatorfor exact tool routing and payload fields.
Files and artifacts
The DeepAgent backend has two different storage boundaries:
write_fileandedit_filemay write temporary scratch content to the run'sStateBackend.- The mounted
/app/.deepagents/**tree contains deployedAGENTS.mdand skills. Runtime permissions deny writes to it. - User-visible or resumable deliverables belong in Artifact Service through
artifact_writeand the specialized artifact tools.
Scratch files are not QJudge platform state and are not durable grading evidence.
Problem and test-case flow
- Use the matching MCP
getaction and treat its response as current. - Align samples and constraints; use
coding-problem-ta-skillfor problem-design quality. - Draft a reference solution and test cases in scratch or an artifact.
- Run
qjudge_code_runnerwith the currentproblem_id, language, code, and cases. - Only after successful runner evidence, request/obtain required write approval and call the matching
updateaction. - Report exactly what was validated and what was written.
Failure handling
- Correct a recoverable payload/tool error once. Stop after the second failure.
- If routing is unclear, call
qjudge_browse(action="get_help", tool_name="<tool_name>"). - If a write is rejected or interrupted at the approval boundary, do not resend it automatically.
- Never claim success from an intended tool call; require its successful result.