Commit Graph
100 Commits
Author SHA1 Message Date
xuyue 9c6c8c6406 deps: add tree-sitter with Python and C grammars 2026-05-25 20:34:58 -06:00
xuyueandClaude Sonnet 4.6 2c65802778 docs: add AST checker implementation plan (9 tasks)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 09:12:50 -06:00
xuyueandClaude Sonnet 4.6 42549af346 docs: consolidate AST checker design spec into clean structure
Reorganize the spec from 6 incremental updates into a well-structured
document with numbered sections, consistent formatting, and no
redundancy.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 08:58:58 -06:00
xuyueandClaude Sonnet 4.6 7b4426b441 docs: enable AST check in contests, add contest impact details
Remove contest_id guard — AST check applies uniformly.
Add 7 contest-specific changes: update_contest_problem_status (5)
and _update_acm_contest_rank (2). Note: without the rank fix,
AST_CHECK_FAILED would incorrectly increment ACM error_number.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 08:53:20 -06:00
xuyueandClaude Sonnet 4.6 7878da48aa docs: contests skip AST check in Phase 1
Add contest behavior section: AST check is skipped when contest_id
is set. Contest AST support with enable_ast_check flag deferred to
Phase 2.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 08:49:15 -06:00
xuyueandClaude Sonnet 4.6 d60adc19ca docs: complete impact audit for AST checker
Add 10 more backend locations missed in first pass:
- problemset/views/oj.py, fix_problemset_progress command
- class_pk/views/oj.py (2 query filters)
- problem/views/oj.py (2 first-AC queries)
- problem/views/admin.py (2 TopACTrend aggregates)
- submission/views/admin.py (2 accepted_count aggregates)

Add 3 more frontend locations:
- SubmitCode.vue line 162: must set my_status=0 for AST_CHECK_FAILED
- ProblemInfo.vue: statistic_info chart auto-renders new status
- types.ts: SUBMISSION_RESULT union needs | 10

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 08:46:21 -06:00
xuyueandClaude Sonnet 4.6 cf29184503 docs: add comprehensive impact checklist to AST checker spec
Enumerate every location that checks JudgeStatus.ACCEPTED across
backend (dispatcher, account, comment, contest views) and frontend
(SubmitCode, SubmissionResult, api.ts). Key finding: user profile
status must store ACCEPTED(0) not AST_CHECK_FAILED(10) to keep
my_status green.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 08:44:11 -06:00
xuyueandClaude Sonnet 4.6 7ac9b8fe37 docs: add legacy data policy to AST checker spec
Existing submissions are not retroactively checked. AST re-check
for existing AC submissions deferred to Phase 2.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 08:40:44 -06:00
xuyueandClaude Sonnet 4.6 86f9644341 docs: update AST checker spec — post-judge flow, statistics, frontend conflicts
- AST check moves to AFTER judging (only on AC submissions)
- AST_CHECK_FAILED treated as AC for accepted_number and user profile
- statistic_info keeps separate count for drill-down visibility
- Status code changed to 10 (9 conflicts with frontend submitting)
- Added frontend impact analysis for SubmissionResult, WebSocket, problem list

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 08:38:42 -06:00
xuyueandClaude Sonnet 4.6 953b4dc851 docs: add AST checker design spec
Tree-sitter based code structure validation for submissions,
with per-problem per-language rule configuration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 08:31:25 -06:00
xuyue 2cd1e2701f fix 2026-05-24 23:43:18 -06:00
xuyue c1d2e960bd add all in duration 2026-05-24 23:11:53 -06:00
xuyue 4af186a1ab revert 2026-05-24 21:20:08 -06:00
xuyue 0213ab4a72 fix 2026-05-24 21:05:30 -06:00
xuyue 65c48437a9 fix 2026-05-24 20:44:02 -06:00
xuyue 5371b7daf1 fix temperature 2026-05-24 20:34:17 -06:00
xuyue 8a0bfb6b24 update 2026-05-21 19:52:37 -06:00
xuyue fdf4bb1ad9 fix 2026-05-21 19:30:22 -06:00
xuyue 083747c241 fix: use pk=None pattern for problem cloning, consistent with AddContestProblemAPI 2026-05-21 19:24:08 -06:00
xuyue 9c1b958444 feat: add contest clone API endpoint 2026-05-21 19:21:04 -06:00
xuyue c3ce76bc47 fix 2026-05-21 18:46:40 -06:00
xuyue 1d08b29255 fix 2026-05-21 01:55:46 -06:00
xuyue f5df51f7b2 fix problemset 2026-05-20 09:31:45 -06:00
xuyue 25e78b2fb2 update 2026-05-19 07:44:29 -06:00
xuyue a744baf4c9 fix 2026-05-17 07:31:05 -06:00
xuyue c9751c095f update 2026-05-11 04:32:49 -06:00
xuyue ee84a0abe3 update 2026-05-11 04:27:15 -06:00
xuyue 25bd43676e update 2026-05-11 00:55:01 -06:00
xuyue 128745f4f8 update yearly ac rate 2026-05-11 00:43:08 -06:00
xuyue 238adf441f fix: remove duplicate return statement in ProblemYearlyACRateAPI 2026-05-11 00:19:37 -06:00
xuyueandClaude Sonnet 4.6 74d5c7256d feat: add problem yearly AC rate API endpoint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 00:19:16 -06:00
xuyue ae783c3a89 docs: add problem yearly AC rate implementation plan 2026-05-11 00:17:02 -06:00
xuyue 1e7a3051c0 docs: add problem yearly AC rate feature design spec 2026-05-11 00:13:31 -06:00
xuyue e4e8b7759d update for django6 2026-05-09 05:57:30 -06:00
xuyue b297eb5475 update 2026-05-09 03:29:25 -06:00
xuyue cf856857df ai llm 2026-05-09 03:13:30 -06:00
xuyue c466dfd3c6 change enum 2026-05-09 02:30:47 -06:00
xuyue 78158471b2 update 2026-05-09 02:01:17 -06:00
xuyue 97a9269e2a fix 2026-05-09 01:38:24 -06:00
xuyue 0b01934180 fix 2026-05-08 23:59:03 -06:00
xuyue 91524fbd1c update 2026-05-08 21:19:58 -06:00
xuyue 031be90445 fix 2026-05-08 20:16:19 -06:00
xuyue 34f6a2e24a no thinking 2026-05-08 19:25:07 -06:00
xuyue b122c50780 update 2026-05-08 06:29:01 -06:00
xuyue c4b5664380 turn on debug 2026-05-08 04:23:18 -06:00
xuyue 47d6456ebc fix cache 2026-05-07 19:56:16 -06:00
xuyue fb18fdb369 fix 2026-05-07 08:42:56 -06:00
xuyue cfdb1511df fix 2026-05-07 08:30:52 -06:00
xuyue d6229da874 add actions 2026-05-07 08:29:50 -06:00
xuyue 996f4ae242 fix 2026-05-07 08:20:45 -06:00
xuyue 400c24416f fix 2026-05-07 08:02:42 -06:00
xuyue 3c3fce81db update 2026-05-07 07:53:00 -06:00
xuyue 7727d26566 fix 2026-05-07 07:37:11 -06:00
xuyue 2e49291d84 add username for ai analysis 2026-05-07 07:34:23 -06:00
xuyue df097dd610 fix flowchart 2026-05-07 06:09:13 -06:00
xuyue 923c27566c fix 2026-05-05 07:58:04 -06:00
xuyue 307cb8f6d8 fix mirror 2026-05-05 07:52:27 -06:00
xuyue 51d33380c6 use tuna 2026-05-05 07:48:41 -06:00
xuyue 5263d9acee add shell script 2026-05-05 07:45:23 -06:00
xuyue ae372b4ee1 fix pip 2026-05-05 07:43:25 -06:00
xuyue 0fd7dedea6 update deps 2026-05-05 07:23:59 -06:00
xuyue c0c5be9420 change to v4 flash 2026-04-27 06:32:06 -06:00
xuyue 9e10be4618 feat: migrate mcq answer from int to list 2026-04-24 01:58:53 -06:00
xuyue e2d566436f add index for models 2026-04-23 14:10:48 -06:00
xuyue 028ea6e5f9 fmt 2026-04-23 13:57:56 -06:00
xuyue 0c6de0babe add fills 2026-04-23 13:48:31 -06:00
xuyue 16b050c195 add test 2026-04-23 02:32:08 -06:00
xuyueandClaude Sonnet 4.6 bd9bd84f2d feat: add Exercise model and CRUD API for tutorial exercises
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 01:44:14 -06:00
xuyue c4ddfa6841 add flowchart 2026-04-12 06:00:39 -06:00
xuyue 94b618c2ac ai prompt 2026-04-11 02:15:06 -06:00
xuyue c31145f76e fix cache 2026-03-30 09:39:35 -06:00
xuyue 24ff67ec0c fix 2026-03-30 09:34:38 -06:00
xuyue a12a665fde update 2026-03-18 13:26:32 +08:00
xuyue 4330ddd338 update 2026-03-17 08:13:17 +08:00
xuyue ab62d7bff8 add end_time 2026-03-16 23:44:47 +08:00
xuyue 8a3a7e21cf refactor 2026-03-11 21:35:54 +08:00
xuyue 3763032a9a fix 2026-03-09 21:07:54 +08:00
xuyue 3cd944a7e1 fix 2026-03-08 21:37:46 +08:00
xuyue 6527d8bfe5 update 2026-03-08 21:31:00 +08:00
xuyue 889380c58e add teaching feature 2026-03-08 21:15:46 +08:00
xuyue 05d46295a0 add today 2026-03-02 19:40:33 +08:00
xuyue a32a8606fe add class username 2026-01-19 17:10:50 +08:00
xuyue 95fb8cf6e9 前端判断 2026-01-18 20:56:37 +08:00
xuyue 94be33c7a2 add login summary 2026-01-18 20:10:46 +08:00
xuyue ed40019a14 自动生成流程图 2026-01-05 10:23:02 +08:00
xuyue 7a0368227f 重构排名 2026-01-04 15:53:40 +08:00
xuyue 10d0d2e67a update 2026-01-04 13:26:10 +08:00
xuyue ea92a24f82 返回提交id 2026-01-04 10:32:02 +08:00
xuyue bcf24085f9 fix 2026-01-03 22:48:38 +08:00
xuyue 4bec76ab78 add class pk 2026-01-03 21:52:02 +08:00
xuyue 3b0beb851f fix 2025-12-29 22:49:19 +08:00
xuyue 905b84b858 fix 2025-12-29 22:41:56 +08:00
xuyue 9d1141bdd6 fix 2025-12-29 22:36:01 +08:00
xuyue 3cf03fc286 add endpoint for flowchart's detail 2025-12-29 22:24:15 +08:00
xuyue ab9fe71fb0 update 2025-12-29 20:19:32 +08:00
xuyue afde8dfc40 fix problemset list N+1 2025-12-26 17:11:35 +08:00
xuyue 72a2de50bf problemset filtered by completion 2025-12-23 20:56:54 +08:00
xuyue 3c408040ff update 2025-12-22 19:31:58 +08:00
xuyue 37e2599754 fix all problems 2025-12-22 19:21:40 +08:00
xuyue b1189e1a0b fix 2025-12-22 19:06:58 +08:00