Kronecker
8a01081cc9
feat(judge): compile once and run isolated points through helper factory
2026-10-09 04:12:22 +08:00
Kronecker
93fb41c608
feat(engine): judge immutable submissions through bounded execution ports
2026-10-09 03:34:04 +08:00
Kronecker
996dbc5144
feat(problems): publish immutable versions and fence artifact access
2026-10-09 01:51:13 +08:00
Kronecker
ff60136f8d
feat(identity): add bounded login and revocable sessions
2026-10-09 01:20:37 +08:00
Kronecker
f4bf218081
feat(database): add judging schema and separate write roles
2026-10-09 01:09:34 +08:00
Kronecker
df52446dac
feat(contracts): validate fenced judging jobs and bounded results
2026-10-09 00:43:17 +08:00
Kronecker
ea0bc2b578
feat(worker): inject engine port for authenticated sandbox execution
2026-10-08 17:28:26 +08:00
Kronecker
ee6371f269
feat(sandbox): enable verified ordinary execution entry
2026-10-08 17:00:13 +08:00
Kronecker
fc61e9d053
test(sandbox): verify repeated restart and failed capture lifecycle
2026-10-08 13:52:01 +08:00
Kronecker
32d94f3a66
feat(sandbox): recover service-owned tasks after supervisor restart
2026-10-08 13:46:02 +08:00
Kronecker
22cc427da9
test(sandbox): validate full isolation against live peer tasks
2026-10-08 10:27:32 +08:00
Kronecker
ddf1e0ca68
test(sandbox): verify complete user filesystem and descriptor boundaries
2026-10-08 10:12:49 +08:00
Kronecker
b5db44ba16
feat(sandbox): enforce trusted process event budgets and verify resource limits
2026-10-08 07:19:01 +08:00
Kronecker
057c02f39d
test(sandbox): verify complete native and compiler task workflows
2026-10-08 07:12:11 +08:00
Kronecker
f9789ea4c4
fix(sandbox): unwind every prepared owner before releasing resources
2026-10-08 04:49:02 +08:00
Kronecker
2e4d9d4ea2
feat(sandbox): supervise bounded root execution and final teardown
2026-10-08 04:38:08 +08:00
Kronecker
62b08fea5b
feat(sandbox): apply finite inherited resource limits before identity
2026-10-08 01:37:06 +08:00
Kronecker
4c7adda719
feat(sandbox): supervise aggregate CPU and monotonic wall budgets
2026-10-08 01:24:56 +08:00
Kronecker
cc6ee1bfa7
feat(sandbox): transport bounded stdio and close inherited user descriptors
2026-10-07 22:49:25 +08:00
Kronecker
89da9ffd9f
feat(sandbox): reap namespace descendants and cancel via init lifecycle
2026-10-07 22:28:13 +08:00
Kronecker
03eaab719e
feat(sandbox): restrict dangerous syscalls and verify GNU language profiles
2026-10-07 19:31:24 +08:00
Kronecker
9bb27f2e02
feat(sandbox): install profile seccomp with ABI and inheritance checks
2026-10-07 19:16:20 +08:00
Kronecker
46714bd9ea
feat(sandbox): lease task identities and drop initialization privileges
2026-10-07 18:22:58 +08:00
Kronecker
329c9222a3
feat(sandbox): bind readonly inputs through authenticated capabilities
2026-10-07 17:57:10 +08:00
Kronecker
9a2b1c071f
feat(sandbox): snapshot artifacts through bounded file capabilities
2026-10-07 16:19:05 +08:00
Kronecker
2b5e79dd39
feat(sandbox): restrict proc and devices in private roots
2026-10-07 13:21:37 +08:00
Kronecker
0f68eb5fb0
feat(sandbox): build private read-only roots with pivot_root
2026-10-07 10:02:21 +08:00
Kronecker
f22308080f
feat(sandbox): initialize isolated namespaces through gated helpers
2026-10-07 04:16:11 +08:00
Kronecker
1a91c2e0f6
feat(sandbox): gate target startup with verified task cgroups
2026-10-07 01:40:32 +08:00
Kronecker
605785edee
test(sandbox): allow launcher checks in independent VMs
2026-10-07 01:09:50 +08:00
Kronecker
08db00b56e
feat(sandbox): add bounded standalone launcher control
2026-10-06 22:04:29 +08:00
Kronecker
957135a112
feat(sandbox): enforce launcher lifecycle ordering
2026-10-06 11:02:55 +08:00
Kronecker
1f45266517
feat(sandbox): define runtime policy and preflight refusals
2026-10-06 03:58:19 +08:00
Kronecker
ee1f43a4cb
feat(sandbox): model execution outcomes and limit attribution
2026-10-06 01:00:04 +08:00
Kronecker
7ef77dfb34
feat(sandbox): validate bounded local execution specifications
2026-10-05 22:04:59 +08:00
Kronecker
8b8828d136
chore(merge): integrate workspace and frontend prototype
...
合并审阅 note(2026-10-05)
合并范围
- chore/workspace-bootstrap:b5b286c44f6a1456bef1db4ab904cecb92ff15a3。
- feat/frontend-pages:f108e88c47e6d604184d8a34dfd39be06762e159。
- 前端分支已包含工程骨架提交;一次合并保留两个分支的原有历史。
审阅结论
- 工程骨架与前端原型可以合入 main。
- 平台后端按业务域、Runtime、基础设施和后台进程划分;Rust 判题工程按契约、协调器、Worker、引擎和沙箱划分。
- 前端包含练习、比赛、训练、提交、账号和社区页面原型,以及独立入口的管理端;预览数据与未实现能力在界面中明确标记。
- 已修复编辑后立即刷新导致最后一段草稿丢失的问题(f108e88):页面隐藏、离开和 Vue scope 销毁时保存待写入内容,同时保留输入防抖和存储异常处理。
验证结果
- 本次完整 make check 通过:架构边界、Python/Rust 契约、Ruff、Rust fmt/clippy、前端 OpenAPI 类型、ESLint、Prettier、vue-tsc、生产构建及 Docker Compose 配置。
- Python 测试 7 项、Rust 集成测试 2 项、前端草稿回归测试 7 项全部通过。
- 前序浏览器验证覆盖桌面及移动布局、独立管理端入口、真实健康接口、编辑器 Worker;修复后已验证立即刷新可恢复最新草稿。
后续工作
- 编辑器页面生产 JS chunk 约 3,005.41 kB(gzip 785.90 kB),构建仍有包体告警,后续优化拆包和加载。
- 业务写入、认证和实际判题能力仍处于工程骨架阶段;沙箱继续拒绝未经验证隔离的执行。
2026-10-05 18:29:40 +08:00
Kronecker
f108e88c47
fix(frontend): save pending code drafts before page exit
2026-10-05 15:26:41 +08:00
Kronecker
8c3cca6fde
feat(frontend): isolate admin app with sidebar navigation
...
Build a separate admin entrypoint with its own router and sidebar layout.
Add preview sections for problems, contests, users, judge nodes and site settings.
Configure Vite to emit both public and admin HTML entries.
2026-10-05 01:50:07 +08:00
Kronecker
1443f00495
feat(frontend): add account and community page previews
...
Add profiles, discussions, team creation, authentication forms and the about page.
Validate preview forms and display the available platform health endpoint.
2026-10-05 01:50:02 +08:00
Kronecker
2ae3bfb6fb
feat(frontend): build homepage dashboard and interactive tag sphere
...
Present announcements, submission trends, recent problems, contests and solver rankings.
Arrange blue pill labels in a TagCanvas sphere with adaptive sizing, mouse-follow and drag modes.
Allow tag selection to filter the problem list and provide keyboard-accessible links.
2026-10-05 01:49:58 +08:00
Kronecker
5c7a45fe41
feat(frontend): add practice page previews and code workbench
...
Add problem filtering, trainings, contests, submission details and rankings.
Provide a split problem/editor layout with multilingual local drafts and self-test panels.
Run and submit actions show pending service integration.
2026-10-05 01:49:55 +08:00
Kronecker
9fa25189a2
feat(frontend): establish shared components and blue page layouts
...
Add reusable headings, panels, tables, charts, pagination and explicit preview fixtures.
Apply the shared blue theme, responsive top navigation and Chinese UI locale.
2026-10-05 01:48:53 +08:00
Kronecker
720c69a198
chore(frontend): configure UI dependencies and Vue linting
...
Pin icon components, Monaco Editor and TagCanvas modules in the lockfile.
Let TypeScript validate identifiers in Vue script setup.
2026-10-05 01:48:51 +08:00
Kronecker
b5b286c44f
chore(workspace): bootstrap platform, judge and frontend
2026-10-04 15:46:49 +08:00
Kronecker
ad35f52960
Initial commit
2026-09-23 14:10:43 +08:00