gsd-trae 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/README.md +7 -76
- package/assets/screenshot.png +0 -0
- package/package.json +12 -3
- package/.claude/settings.local.json +0 -8
- package/.gitmodules +0 -6
- package/.trae/project_rules.md +0 -56
- package/.trae/rules/project_rules.md +0 -56
- package/.vscode/code-counter/code-counter.db +0 -0
- package/.vscode/settings.json +0 -5
- package/refs/gsd/.github/CODEOWNERS +0 -2
- package/refs/gsd/.github/FUNDING.yml +0 -1
- package/refs/gsd/.github/ISSUE_TEMPLATE/bug_report.yml +0 -59
- package/refs/gsd/.github/ISSUE_TEMPLATE/feature_request.yml +0 -37
- package/refs/gsd/.github/pull_request_template.md +0 -24
- package/refs/gsd/.github/workflows/auto-label-issues.yml +0 -21
- package/refs/gsd/CHANGELOG.md +0 -1520
- package/refs/gsd/LICENSE +0 -21
- package/refs/gsd/README.md +0 -704
- package/refs/gsd/SECURITY.md +0 -33
- package/refs/gsd/agents/gsd-codebase-mapper.md +0 -764
- package/refs/gsd/agents/gsd-debugger.md +0 -1246
- package/refs/gsd/agents/gsd-executor.md +0 -469
- package/refs/gsd/agents/gsd-integration-checker.md +0 -443
- package/refs/gsd/agents/gsd-phase-researcher.md +0 -546
- package/refs/gsd/agents/gsd-plan-checker.md +0 -690
- package/refs/gsd/agents/gsd-planner.md +0 -1275
- package/refs/gsd/agents/gsd-project-researcher.md +0 -621
- package/refs/gsd/agents/gsd-research-synthesizer.md +0 -239
- package/refs/gsd/agents/gsd-roadmapper.md +0 -642
- package/refs/gsd/agents/gsd-verifier.md +0 -573
- package/refs/gsd/assets/gsd-logo-2000-transparent.png +0 -0
- package/refs/gsd/assets/gsd-logo-2000-transparent.svg +0 -17
- package/refs/gsd/assets/gsd-logo-2000.png +0 -0
- package/refs/gsd/assets/gsd-logo-2000.svg +0 -21
- package/refs/gsd/assets/terminal.svg +0 -68
- package/refs/gsd/bin/install.js +0 -2090
- package/refs/gsd/commands/gsd/add-phase.md +0 -43
- package/refs/gsd/commands/gsd/add-tests.md +0 -41
- package/refs/gsd/commands/gsd/add-todo.md +0 -47
- package/refs/gsd/commands/gsd/audit-milestone.md +0 -36
- package/refs/gsd/commands/gsd/check-todos.md +0 -45
- package/refs/gsd/commands/gsd/cleanup.md +0 -18
- package/refs/gsd/commands/gsd/complete-milestone.md +0 -136
- package/refs/gsd/commands/gsd/debug.md +0 -167
- package/refs/gsd/commands/gsd/discuss-phase.md +0 -83
- package/refs/gsd/commands/gsd/execute-phase.md +0 -41
- package/refs/gsd/commands/gsd/health.md +0 -22
- package/refs/gsd/commands/gsd/help.md +0 -22
- package/refs/gsd/commands/gsd/insert-phase.md +0 -32
- package/refs/gsd/commands/gsd/join-discord.md +0 -18
- package/refs/gsd/commands/gsd/list-phase-assumptions.md +0 -46
- package/refs/gsd/commands/gsd/map-codebase.md +0 -71
- package/refs/gsd/commands/gsd/new-milestone.md +0 -44
- package/refs/gsd/commands/gsd/new-project.md +0 -42
- package/refs/gsd/commands/gsd/new-project.md.bak +0 -1041
- package/refs/gsd/commands/gsd/pause-work.md +0 -38
- package/refs/gsd/commands/gsd/plan-milestone-gaps.md +0 -34
- package/refs/gsd/commands/gsd/plan-phase.md +0 -45
- package/refs/gsd/commands/gsd/progress.md +0 -24
- package/refs/gsd/commands/gsd/quick.md +0 -41
- package/refs/gsd/commands/gsd/reapply-patches.md +0 -110
- package/refs/gsd/commands/gsd/remove-phase.md +0 -31
- package/refs/gsd/commands/gsd/research-phase.md +0 -189
- package/refs/gsd/commands/gsd/resume-work.md +0 -40
- package/refs/gsd/commands/gsd/set-profile.md +0 -34
- package/refs/gsd/commands/gsd/settings.md +0 -36
- package/refs/gsd/commands/gsd/update.md +0 -37
- package/refs/gsd/commands/gsd/verify-work.md +0 -38
- package/refs/gsd/docs/USER-GUIDE.md +0 -471
- package/refs/gsd/docs/context-monitor.md +0 -96
- package/refs/gsd/get-shit-done/bin/gsd-tools.cjs +0 -585
- package/refs/gsd/get-shit-done/bin/lib/commands.cjs +0 -553
- package/refs/gsd/get-shit-done/bin/lib/config.cjs +0 -162
- package/refs/gsd/get-shit-done/bin/lib/core.cjs +0 -411
- package/refs/gsd/get-shit-done/bin/lib/frontmatter.cjs +0 -299
- package/refs/gsd/get-shit-done/bin/lib/init.cjs +0 -710
- package/refs/gsd/get-shit-done/bin/lib/milestone.cjs +0 -215
- package/refs/gsd/get-shit-done/bin/lib/phase.cjs +0 -870
- package/refs/gsd/get-shit-done/bin/lib/roadmap.cjs +0 -298
- package/refs/gsd/get-shit-done/bin/lib/state.cjs +0 -521
- package/refs/gsd/get-shit-done/bin/lib/template.cjs +0 -222
- package/refs/gsd/get-shit-done/bin/lib/verify.cjs +0 -772
- package/refs/gsd/get-shit-done/references/checkpoints.md +0 -776
- package/refs/gsd/get-shit-done/references/continuation-format.md +0 -249
- package/refs/gsd/get-shit-done/references/decimal-phase-calculation.md +0 -65
- package/refs/gsd/get-shit-done/references/git-integration.md +0 -248
- package/refs/gsd/get-shit-done/references/git-planning-commit.md +0 -38
- package/refs/gsd/get-shit-done/references/model-profile-resolution.md +0 -34
- package/refs/gsd/get-shit-done/references/model-profiles.md +0 -92
- package/refs/gsd/get-shit-done/references/phase-argument-parsing.md +0 -61
- package/refs/gsd/get-shit-done/references/planning-config.md +0 -196
- package/refs/gsd/get-shit-done/references/questioning.md +0 -145
- package/refs/gsd/get-shit-done/references/tdd.md +0 -263
- package/refs/gsd/get-shit-done/references/ui-brand.md +0 -160
- package/refs/gsd/get-shit-done/references/verification-patterns.md +0 -612
- package/refs/gsd/get-shit-done/templates/DEBUG.md +0 -164
- package/refs/gsd/get-shit-done/templates/UAT.md +0 -247
- package/refs/gsd/get-shit-done/templates/VALIDATION.md +0 -76
- package/refs/gsd/get-shit-done/templates/codebase/architecture.md +0 -255
- package/refs/gsd/get-shit-done/templates/codebase/concerns.md +0 -310
- package/refs/gsd/get-shit-done/templates/codebase/conventions.md +0 -307
- package/refs/gsd/get-shit-done/templates/codebase/integrations.md +0 -280
- package/refs/gsd/get-shit-done/templates/codebase/stack.md +0 -186
- package/refs/gsd/get-shit-done/templates/codebase/structure.md +0 -285
- package/refs/gsd/get-shit-done/templates/codebase/testing.md +0 -480
- package/refs/gsd/get-shit-done/templates/config.json +0 -37
- package/refs/gsd/get-shit-done/templates/context.md +0 -283
- package/refs/gsd/get-shit-done/templates/continue-here.md +0 -78
- package/refs/gsd/get-shit-done/templates/debug-subagent-prompt.md +0 -91
- package/refs/gsd/get-shit-done/templates/discovery.md +0 -146
- package/refs/gsd/get-shit-done/templates/milestone-archive.md +0 -123
- package/refs/gsd/get-shit-done/templates/milestone.md +0 -115
- package/refs/gsd/get-shit-done/templates/phase-prompt.md +0 -569
- package/refs/gsd/get-shit-done/templates/planner-subagent-prompt.md +0 -117
- package/refs/gsd/get-shit-done/templates/project.md +0 -184
- package/refs/gsd/get-shit-done/templates/requirements.md +0 -231
- package/refs/gsd/get-shit-done/templates/research-project/ARCHITECTURE.md +0 -204
- package/refs/gsd/get-shit-done/templates/research-project/FEATURES.md +0 -147
- package/refs/gsd/get-shit-done/templates/research-project/PITFALLS.md +0 -200
- package/refs/gsd/get-shit-done/templates/research-project/STACK.md +0 -120
- package/refs/gsd/get-shit-done/templates/research-project/SUMMARY.md +0 -170
- package/refs/gsd/get-shit-done/templates/research.md +0 -552
- package/refs/gsd/get-shit-done/templates/retrospective.md +0 -54
- package/refs/gsd/get-shit-done/templates/roadmap.md +0 -202
- package/refs/gsd/get-shit-done/templates/state.md +0 -176
- package/refs/gsd/get-shit-done/templates/summary-complex.md +0 -59
- package/refs/gsd/get-shit-done/templates/summary-minimal.md +0 -41
- package/refs/gsd/get-shit-done/templates/summary-standard.md +0 -48
- package/refs/gsd/get-shit-done/templates/summary.md +0 -248
- package/refs/gsd/get-shit-done/templates/user-setup.md +0 -311
- package/refs/gsd/get-shit-done/templates/verification-report.md +0 -322
- package/refs/gsd/get-shit-done/workflows/add-phase.md +0 -111
- package/refs/gsd/get-shit-done/workflows/add-tests.md +0 -350
- package/refs/gsd/get-shit-done/workflows/add-todo.md +0 -157
- package/refs/gsd/get-shit-done/workflows/audit-milestone.md +0 -297
- package/refs/gsd/get-shit-done/workflows/check-todos.md +0 -176
- package/refs/gsd/get-shit-done/workflows/cleanup.md +0 -152
- package/refs/gsd/get-shit-done/workflows/complete-milestone.md +0 -763
- package/refs/gsd/get-shit-done/workflows/diagnose-issues.md +0 -219
- package/refs/gsd/get-shit-done/workflows/discovery-phase.md +0 -289
- package/refs/gsd/get-shit-done/workflows/discuss-phase.md +0 -542
- package/refs/gsd/get-shit-done/workflows/execute-phase.md +0 -449
- package/refs/gsd/get-shit-done/workflows/execute-plan.md +0 -448
- package/refs/gsd/get-shit-done/workflows/health.md +0 -156
- package/refs/gsd/get-shit-done/workflows/help.md +0 -489
- package/refs/gsd/get-shit-done/workflows/insert-phase.md +0 -129
- package/refs/gsd/get-shit-done/workflows/list-phase-assumptions.md +0 -178
- package/refs/gsd/get-shit-done/workflows/map-codebase.md +0 -315
- package/refs/gsd/get-shit-done/workflows/new-milestone.md +0 -382
- package/refs/gsd/get-shit-done/workflows/new-project.md +0 -1116
- package/refs/gsd/get-shit-done/workflows/pause-work.md +0 -122
- package/refs/gsd/get-shit-done/workflows/plan-milestone-gaps.md +0 -274
- package/refs/gsd/get-shit-done/workflows/plan-phase.md +0 -569
- package/refs/gsd/get-shit-done/workflows/progress.md +0 -381
- package/refs/gsd/get-shit-done/workflows/quick.md +0 -453
- package/refs/gsd/get-shit-done/workflows/remove-phase.md +0 -154
- package/refs/gsd/get-shit-done/workflows/research-phase.md +0 -73
- package/refs/gsd/get-shit-done/workflows/resume-project.md +0 -306
- package/refs/gsd/get-shit-done/workflows/set-profile.md +0 -80
- package/refs/gsd/get-shit-done/workflows/settings.md +0 -213
- package/refs/gsd/get-shit-done/workflows/transition.md +0 -544
- package/refs/gsd/get-shit-done/workflows/update.md +0 -219
- package/refs/gsd/get-shit-done/workflows/verify-phase.md +0 -242
- package/refs/gsd/get-shit-done/workflows/verify-work.md +0 -569
- package/refs/gsd/hooks/gsd-check-update.js +0 -62
- package/refs/gsd/hooks/gsd-context-monitor.js +0 -122
- package/refs/gsd/hooks/gsd-statusline.js +0 -108
- package/refs/gsd/package.json +0 -50
- package/refs/gsd/scripts/build-hooks.js +0 -43
- package/refs/gsd/tests/commands.test.cjs +0 -661
- package/refs/gsd/tests/helpers.cjs +0 -40
- package/refs/gsd/tests/init.test.cjs +0 -205
- package/refs/gsd/tests/milestone.test.cjs +0 -98
- package/refs/gsd/tests/phase.test.cjs +0 -1241
- package/refs/gsd/tests/roadmap.test.cjs +0 -265
- package/refs/gsd/tests/state.test.cjs +0 -302
- package/refs/gsd/tests/verify.test.cjs +0 -80
- package/refs/vbenchmark/.agent/agents/codebase-explorer.md +0 -224
- package/refs/vbenchmark/.agent/agents/debugger.md +0 -180
- package/refs/vbenchmark/.agent/agents/documenter.md +0 -166
- package/refs/vbenchmark/.agent/agents/implementer.md +0 -70
- package/refs/vbenchmark/.agent/agents/orchestrator.md +0 -212
- package/refs/vbenchmark/.agent/agents/researcher.md +0 -80
- package/refs/vbenchmark/.agent/agents/reviewer.md +0 -184
- package/refs/vbenchmark/.agent/agents/tester.md +0 -170
- package/refs/vbenchmark/.agent/commands/commit.md +0 -29
- package/refs/vbenchmark/.agent/commands/debug.md +0 -59
- package/refs/vbenchmark/.agent/commands/document.md +0 -52
- package/refs/vbenchmark/.agent/commands/gather-context.md +0 -58
- package/refs/vbenchmark/.agent/commands/init.md +0 -56
- package/refs/vbenchmark/.agent/commands/preset-help.md +0 -50
- package/refs/vbenchmark/.agent/commands/refactor.md +0 -71
- package/refs/vbenchmark/.agent/commands/research.md +0 -37
- package/refs/vbenchmark/.agent/commands/review.md +0 -38
- package/refs/vbenchmark/.agent/commands/test.md +0 -61
- package/refs/vbenchmark/.agent/rules/01-code-quality.md +0 -33
- package/refs/vbenchmark/.agent/rules/02-typescript-go.md +0 -46
- package/refs/vbenchmark/.agent/rules/03-security-git.md +0 -34
- package/refs/vbenchmark/.agent/rules/04-architecture.md +0 -40
- package/refs/vbenchmark/.agent/sync.js +0 -536
- package/refs/vbenchmark/.agent/workflows/commit.md +0 -29
- package/refs/vbenchmark/.agent/workflows/debug.md +0 -59
- package/refs/vbenchmark/.agent/workflows/document.md +0 -52
- package/refs/vbenchmark/.agent/workflows/gather-context.md +0 -58
- package/refs/vbenchmark/.agent/workflows/init.md +0 -56
- package/refs/vbenchmark/.agent/workflows/preset-help.md +0 -50
- package/refs/vbenchmark/.agent/workflows/refactor.md +0 -71
- package/refs/vbenchmark/.agent/workflows/research.md +0 -37
- package/refs/vbenchmark/.agent/workflows/review.md +0 -38
- package/refs/vbenchmark/.agent/workflows/test.md +0 -61
- package/refs/vbenchmark/.claude/commands/agentic-dev/apply.md +0 -222
- package/refs/vbenchmark/.claude/commands/agentic-dev/done.md +0 -166
- package/refs/vbenchmark/.claude/commands/agentic-dev/proposal.md +0 -220
- package/refs/vbenchmark/.claude/commands/openspec/apply.md +0 -23
- package/refs/vbenchmark/.claude/commands/openspec/archive.md +0 -27
- package/refs/vbenchmark/.claude/commands/openspec/proposal.md +0 -28
- package/refs/vbenchmark/.clinerules/01-rules.md +0 -73
- package/refs/vbenchmark/.clinerules/02-agents.md +0 -34
- package/refs/vbenchmark/.cursor/commands/commit.md +0 -29
- package/refs/vbenchmark/.cursor/commands/debug.md +0 -59
- package/refs/vbenchmark/.cursor/commands/document.md +0 -52
- package/refs/vbenchmark/.cursor/commands/gather-context.md +0 -58
- package/refs/vbenchmark/.cursor/commands/init.md +0 -56
- package/refs/vbenchmark/.cursor/commands/preset-help.md +0 -50
- package/refs/vbenchmark/.cursor/commands/refactor.md +0 -71
- package/refs/vbenchmark/.cursor/commands/research.md +0 -37
- package/refs/vbenchmark/.cursor/commands/review.md +0 -38
- package/refs/vbenchmark/.cursor/commands/test.md +0 -61
- package/refs/vbenchmark/.cursor/rules/agents.mdc +0 -1357
- package/refs/vbenchmark/.factory/droids/codebase-explorer.md +0 -224
- package/refs/vbenchmark/.factory/droids/debugger.md +0 -180
- package/refs/vbenchmark/.factory/droids/documenter.md +0 -166
- package/refs/vbenchmark/.factory/droids/implementer.md +0 -70
- package/refs/vbenchmark/.factory/droids/orchestrator.md +0 -212
- package/refs/vbenchmark/.factory/droids/researcher.md +0 -80
- package/refs/vbenchmark/.factory/droids/reviewer.md +0 -184
- package/refs/vbenchmark/.factory/droids/tester.md +0 -170
- package/refs/vbenchmark/.gemini/workflows/commit.md +0 -29
- package/refs/vbenchmark/.gemini/workflows/debug.md +0 -59
- package/refs/vbenchmark/.gemini/workflows/document.md +0 -52
- package/refs/vbenchmark/.gemini/workflows/gather-context.md +0 -58
- package/refs/vbenchmark/.gemini/workflows/init.md +0 -56
- package/refs/vbenchmark/.gemini/workflows/preset-help.md +0 -50
- package/refs/vbenchmark/.gemini/workflows/refactor.md +0 -71
- package/refs/vbenchmark/.gemini/workflows/research.md +0 -37
- package/refs/vbenchmark/.gemini/workflows/review.md +0 -38
- package/refs/vbenchmark/.gemini/workflows/test.md +0 -61
- package/refs/vbenchmark/.github/CODEOWNERS +0 -20
- package/refs/vbenchmark/.github/FUNDING.yml +0 -4
- package/refs/vbenchmark/.github/ISSUE_TEMPLATE/bug-report.yml +0 -76
- package/refs/vbenchmark/.github/ISSUE_TEMPLATE/new-task.yml +0 -106
- package/refs/vbenchmark/.github/PULL_REQUEST_TEMPLATE.md +0 -38
- package/refs/vbenchmark/.github/copilot-instructions.md +0 -73
- package/refs/vbenchmark/.github/workflows/ci.yaml +0 -33
- package/refs/vbenchmark/.github/workflows/vercel-auto-pr.yml +0 -478
- package/refs/vbenchmark/.github/workflows/vercel-deploy.yaml +0 -487
- package/refs/vbenchmark/.github/workflows/vercel-pr-command.yaml +0 -337
- package/refs/vbenchmark/.github/workflows/vercel-project-init.yaml +0 -208
- package/refs/vbenchmark/.opencode/agent/codebase-explorer.md +0 -224
- package/refs/vbenchmark/.opencode/agent/debugger.md +0 -180
- package/refs/vbenchmark/.opencode/agent/documenter.md +0 -166
- package/refs/vbenchmark/.opencode/agent/implementer.md +0 -70
- package/refs/vbenchmark/.opencode/agent/orchestrator.md +0 -212
- package/refs/vbenchmark/.opencode/agent/researcher.md +0 -80
- package/refs/vbenchmark/.opencode/agent/reviewer.md +0 -184
- package/refs/vbenchmark/.opencode/agent/tester.md +0 -170
- package/refs/vbenchmark/.opencode/command/commit.md +0 -29
- package/refs/vbenchmark/.opencode/command/debug.md +0 -59
- package/refs/vbenchmark/.opencode/command/document.md +0 -52
- package/refs/vbenchmark/.opencode/command/gather-context.md +0 -58
- package/refs/vbenchmark/.opencode/command/init.md +0 -56
- package/refs/vbenchmark/.opencode/command/preset-help.md +0 -50
- package/refs/vbenchmark/.opencode/command/refactor.md +0 -71
- package/refs/vbenchmark/.opencode/command/research.md +0 -37
- package/refs/vbenchmark/.opencode/command/review.md +0 -38
- package/refs/vbenchmark/.opencode/command/test.md +0 -61
- package/refs/vbenchmark/.trae/project_rules.md +0 -73
- package/refs/vbenchmark/.windsurf/rules/rules.md +0 -85
- package/refs/vbenchmark/AGENTS.md +0 -73
- package/refs/vbenchmark/CONTRIBUTING.md +0 -332
- package/refs/vbenchmark/Caddyfile +0 -3
- package/refs/vbenchmark/LICENSE +0 -47
- package/refs/vbenchmark/README.md +0 -354
- package/refs/vbenchmark/docker-compose.prod.yaml +0 -35
- package/refs/vbenchmark/docker-compose.yaml +0 -53
- package/refs/vbenchmark/docs/TASK_EXPANSION_PLAN.md +0 -211
- package/refs/vbenchmark/docs/THESIS.md +0 -441
- package/refs/vbenchmark/docs/categories/code-evolution.md +0 -138
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/design.md +0 -111
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/proposal.md +0 -15
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/evaluation/spec.md +0 -105
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/leaderboard/spec.md +0 -68
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/task-definition/spec.md +0 -45
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/specs/task-runner/spec.md +0 -49
- package/refs/vbenchmark/openspec/changes/init-vibecodingbench/tasks.md +0 -413
- package/refs/vbenchmark/package.json +0 -51
- package/refs/vbenchmark/packages/cli/eslint.config.js +0 -16
- package/refs/vbenchmark/packages/cli/package.json +0 -35
- package/refs/vbenchmark/packages/cli/src/agents/index.ts +0 -655
- package/refs/vbenchmark/packages/cli/src/commands/eval.ts +0 -197
- package/refs/vbenchmark/packages/cli/src/commands/list.ts +0 -63
- package/refs/vbenchmark/packages/cli/src/commands/run.ts +0 -147
- package/refs/vbenchmark/packages/cli/src/evaluator.ts +0 -125
- package/refs/vbenchmark/packages/cli/src/index.ts +0 -21
- package/refs/vbenchmark/packages/cli/src/lib/task-variation.ts +0 -153
- package/refs/vbenchmark/packages/cli/src/loader.ts +0 -258
- package/refs/vbenchmark/packages/cli/src/reporter.ts +0 -222
- package/refs/vbenchmark/packages/cli/src/runtime/docker.ts +0 -385
- package/refs/vbenchmark/packages/cli/tsconfig.json +0 -8
- package/refs/vbenchmark/packages/dashboard/Dockerfile +0 -42
- package/refs/vbenchmark/packages/dashboard/index.html +0 -21
- package/refs/vbenchmark/packages/dashboard/package.json +0 -29
- package/refs/vbenchmark/packages/dashboard/postcss.config.js +0 -6
- package/refs/vbenchmark/packages/dashboard/public/favicon.svg +0 -24
- package/refs/vbenchmark/packages/dashboard/public/logo.png +0 -0
- package/refs/vbenchmark/packages/dashboard/public/logo.svg +0 -39
- package/refs/vbenchmark/packages/dashboard/src/App.tsx +0 -1468
- package/refs/vbenchmark/packages/dashboard/src/data/category-performance.json +0 -1
- package/refs/vbenchmark/packages/dashboard/src/data/leaderboard.json +0 -1
- package/refs/vbenchmark/packages/dashboard/src/data/task-results.json +0 -1
- package/refs/vbenchmark/packages/dashboard/src/data/tasks.json +0 -1
- package/refs/vbenchmark/packages/dashboard/src/index.css +0 -3
- package/refs/vbenchmark/packages/dashboard/src/main.tsx +0 -13
- package/refs/vbenchmark/packages/dashboard/src/vite-env.d.ts +0 -9
- package/refs/vbenchmark/packages/dashboard/tailwind.config.js +0 -11
- package/refs/vbenchmark/packages/dashboard/tsconfig.json +0 -21
- package/refs/vbenchmark/packages/dashboard/tsconfig.node.json +0 -11
- package/refs/vbenchmark/packages/dashboard/vercel.json +0 -6
- package/refs/vbenchmark/packages/dashboard/vite.config.ts +0 -28
- package/refs/vbenchmark/packages/evaluator/eslint.config.js +0 -16
- package/refs/vbenchmark/packages/evaluator/package.json +0 -24
- package/refs/vbenchmark/packages/evaluator/src/index.ts +0 -15
- package/refs/vbenchmark/packages/evaluator/src/runners/functional.ts +0 -88
- package/refs/vbenchmark/packages/evaluator/src/runners/quality.ts +0 -140
- package/refs/vbenchmark/packages/evaluator/src/runners/security.ts +0 -94
- package/refs/vbenchmark/packages/evaluator/src/runners/visual.ts +0 -108
- package/refs/vbenchmark/packages/evaluator/src/types.d.ts +0 -19
- package/refs/vbenchmark/packages/evaluator/tsconfig.json +0 -8
- package/refs/vbenchmark/packages/leaderboard/Dockerfile +0 -38
- package/refs/vbenchmark/packages/leaderboard/drizzle.config.ts +0 -10
- package/refs/vbenchmark/packages/leaderboard/eslint.config.js +0 -16
- package/refs/vbenchmark/packages/leaderboard/fly.toml +0 -29
- package/refs/vbenchmark/packages/leaderboard/package.json +0 -36
- package/refs/vbenchmark/packages/leaderboard/src/app.ts +0 -29
- package/refs/vbenchmark/packages/leaderboard/src/components/BrowserPreview.tsx +0 -190
- package/refs/vbenchmark/packages/leaderboard/src/components/ComparisonView.tsx +0 -205
- package/refs/vbenchmark/packages/leaderboard/src/components/LeaderboardTable.tsx +0 -150
- package/refs/vbenchmark/packages/leaderboard/src/components/LiveRunCard.tsx +0 -133
- package/refs/vbenchmark/packages/leaderboard/src/components/SubmissionForm.tsx +0 -406
- package/refs/vbenchmark/packages/leaderboard/src/components/SubmitForm.tsx +0 -293
- package/refs/vbenchmark/packages/leaderboard/src/components/TerminalStream.tsx +0 -111
- package/refs/vbenchmark/packages/leaderboard/src/config/pricing.ts +0 -206
- package/refs/vbenchmark/packages/leaderboard/src/db/index.ts +0 -31
- package/refs/vbenchmark/packages/leaderboard/src/db/schema.ts +0 -125
- package/refs/vbenchmark/packages/leaderboard/src/index.ts +0 -13
- package/refs/vbenchmark/packages/leaderboard/src/lib/websocket.ts +0 -124
- package/refs/vbenchmark/packages/leaderboard/src/routes/leaderboard.ts +0 -698
- package/refs/vbenchmark/packages/leaderboard/src/routes/live.ts +0 -175
- package/refs/vbenchmark/packages/leaderboard/src/routes/submissions.ts +0 -183
- package/refs/vbenchmark/packages/leaderboard/src/routes/tasks.ts +0 -215
- package/refs/vbenchmark/packages/leaderboard/tests/api.test.ts +0 -228
- package/refs/vbenchmark/packages/leaderboard/tsconfig.json +0 -9
- package/refs/vbenchmark/scripts/deploy.sh +0 -70
- package/refs/vbenchmark/tasks/ai-integration/advanced/context-management/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/context-management/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/evaluation-framework/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/evaluation-framework/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/guardrails-safety/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/guardrails-safety/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/memory-system/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/memory-system/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/model-routing/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/model-routing/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/multi-agent-system/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/multi-agent-system/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/prompt-optimization/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/prompt-optimization/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/reasoning-chain/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/reasoning-chain/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/streaming-pipeline/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/streaming-pipeline/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/advanced/tool-use-orchestration/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/ai-integration/advanced/tool-use-orchestration/task.yaml +0 -16
- package/refs/vbenchmark/tasks/ai-integration/agents/code-review-agent/PROMPT.md +0 -64
- package/refs/vbenchmark/tasks/ai-integration/agents/code-review-agent/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/agents/research-agent/PROMPT.md +0 -61
- package/refs/vbenchmark/tasks/ai-integration/agents/research-agent/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/agents/web-scraper-agent/PROMPT.md +0 -57
- package/refs/vbenchmark/tasks/ai-integration/agents/web-scraper-agent/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/embeddings/duplicate-detection/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/ai-integration/embeddings/duplicate-detection/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/embeddings/recommendation-engine/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/ai-integration/embeddings/recommendation-engine/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/embeddings/semantic-search/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/ai-integration/embeddings/semantic-search/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/fine-tuning/classification-model/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/ai-integration/fine-tuning/classification-model/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/function-calling/api-orchestrator/PROMPT.md +0 -60
- package/refs/vbenchmark/tasks/ai-integration/function-calling/api-orchestrator/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/function-calling/calendar-assistant/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/ai-integration/function-calling/calendar-assistant/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/function-calling/database-query/PROMPT.md +0 -62
- package/refs/vbenchmark/tasks/ai-integration/function-calling/database-query/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/multimodal/chart-interpreter/PROMPT.md +0 -60
- package/refs/vbenchmark/tasks/ai-integration/multimodal/chart-interpreter/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/multimodal/image-captioning/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/ai-integration/multimodal/image-captioning/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/code-assistant/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/code-assistant/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/doc-search/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/doc-search/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/PROMPT.md +0 -76
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/docker-compose.yaml +0 -30
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/task.yaml +0 -30
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/pdf-qa/tests/functional/qa.test.py +0 -146
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/support-bot/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/ai-integration/rag-chatbot/support-bot/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/structured-output/contract-analyzer/PROMPT.md +0 -67
- package/refs/vbenchmark/tasks/ai-integration/structured-output/contract-analyzer/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/structured-output/invoice-parser/PROMPT.md +0 -61
- package/refs/vbenchmark/tasks/ai-integration/structured-output/invoice-parser/task.yaml +0 -27
- package/refs/vbenchmark/tasks/ai-integration/structured-output/receipt-scanner/PROMPT.md +0 -65
- package/refs/vbenchmark/tasks/ai-integration/structured-output/receipt-scanner/task.yaml +0 -24
- package/refs/vbenchmark/tasks/ai-integration/structured-output/resume-parser/PROMPT.md +0 -70
- package/refs/vbenchmark/tasks/ai-integration/structured-output/resume-parser/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-analytics/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-analytics/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-gateway/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-gateway/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-mocking/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/api-mocking/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/contract-testing/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/contract-testing/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/graphql-federation/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/graphql-federation/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/grpc-gateway/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/grpc-gateway/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/rate-limiter/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/rate-limiter/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/request-validator/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/request-validator/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/sdk-generator/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/sdk-generator/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/advanced/webhook-processor/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/api-integrations/advanced/webhook-processor/task.yaml +0 -16
- package/refs/vbenchmark/tasks/api-integrations/analytics/mixpanel-events/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/analytics/mixpanel-events/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/analytics/segment-tracking/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/analytics/segment-tracking/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/oauth2-github/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/oauth2-github/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/okta-integration/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/okta-integration/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/saml-sso/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/auth-provider/saml-sso/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/communication/discord-webhook/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/api-integrations/communication/discord-webhook/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/communication/slack-bot/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/communication/slack-bot/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/communication/twilio-sms/PROMPT.md +0 -42
- package/refs/vbenchmark/tasks/api-integrations/communication/twilio-sms/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/email/transactional/PROMPT.md +0 -82
- package/refs/vbenchmark/tasks/api-integrations/email/transactional/task.yaml +0 -27
- package/refs/vbenchmark/tasks/api-integrations/maps/google-maps-geocoding/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/maps/google-maps-geocoding/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/maps/mapbox-directions/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/maps/mapbox-directions/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/payment/crypto-payments/PROMPT.md +0 -43
- package/refs/vbenchmark/tasks/api-integrations/payment/crypto-payments/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/payment/paypal-integration/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/payment/paypal-integration/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/social/twitter-api/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/social/twitter-api/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/storage/cloudinary-upload/PROMPT.md +0 -43
- package/refs/vbenchmark/tasks/api-integrations/storage/cloudinary-upload/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/storage/gcs-streaming/PROMPT.md +0 -43
- package/refs/vbenchmark/tasks/api-integrations/storage/gcs-streaming/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/storage/s3-presigned-urls/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/storage/s3-presigned-urls/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/stripe/checkout-session/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/stripe/checkout-session/task.yaml +0 -24
- package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/PROMPT.md +0 -60
- package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/docker-compose.yaml +0 -38
- package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/task.yaml +0 -31
- package/refs/vbenchmark/tasks/api-integrations/stripe/payment-webhook/tests/webhook.test.ts +0 -193
- package/refs/vbenchmark/tasks/api-integrations/stripe/subscription-portal/PROMPT.md +0 -41
- package/refs/vbenchmark/tasks/api-integrations/stripe/subscription-portal/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/advanced/api-deprecation/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/api-deprecation/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/ast-refactoring/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/ast-refactoring/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/concurrency-fix/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/concurrency-fix/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/database-schema-migration/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/database-schema-migration/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/dead-code-elimination/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/dead-code-elimination/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/dependency-upgrade/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/dependency-upgrade/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/memory-optimization/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/memory-optimization/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/monorepo-extraction/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/monorepo-extraction/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/performance-profiling/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/performance-profiling/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/advanced/type-migration/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/code-evolution/advanced/type-migration/task.yaml +0 -16
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/callback-to-async/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/callback-to-async/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/base-code/src/app.ts +0 -22
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/task.yaml +0 -37
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/express-to-fastify/tests/api.test.ts +0 -70
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/flask-to-fastapi/PROMPT.md +0 -46
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/flask-to-fastapi/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/java-to-kotlin/PROMPT.md +0 -45
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/java-to-kotlin/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/jquery-to-react/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/jquery-to-react/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/rest-to-grpc/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/legacy-migration/rest-to-grpc/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/performance/async-refactor/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/performance/async-refactor/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/performance/memory-leak-fix/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/performance/memory-leak-fix/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/performance/query-optimization/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/code-evolution/performance/query-optimization/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/refactoring/class-to-hooks/PROMPT.md +0 -96
- package/refs/vbenchmark/tasks/code-evolution/refactoring/class-to-hooks/task.yaml +0 -27
- package/refs/vbenchmark/tasks/code-evolution/refactoring/dependency-injection/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/refactoring/dependency-injection/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/refactoring/error-handling/PROMPT.md +0 -48
- package/refs/vbenchmark/tasks/code-evolution/refactoring/error-handling/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/refactoring/monolith-to-modules/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/code-evolution/refactoring/monolith-to-modules/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/refactoring/orm-migration/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/refactoring/orm-migration/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/security/secrets-rotation/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/code-evolution/security/secrets-rotation/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/security/sql-injection-fix/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/code-evolution/security/sql-injection-fix/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/security/xss-prevention/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/security/xss-prevention/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/testing/add-unit-tests/PROMPT.md +0 -48
- package/refs/vbenchmark/tasks/code-evolution/testing/add-unit-tests/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/testing/e2e-playwright/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/code-evolution/testing/e2e-playwright/task.yaml +0 -24
- package/refs/vbenchmark/tasks/code-evolution/testing/pytest-fixtures/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/code-evolution/testing/pytest-fixtures/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/accessibility/keyboard-shortcuts/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/accessibility/keyboard-shortcuts/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/accessibility/screen-reader-nav/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/accessibility/screen-reader-nav/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/advanced/canvas-editor/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/canvas-editor/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/micro-frontend/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/micro-frontend/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/offline-first/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/offline-first/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/realtime-collab/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/realtime-collab/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/service-worker/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/service-worker/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/state-machine/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/state-machine/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/virtual-list/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/virtual-list/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/wasm-integration/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/wasm-integration/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/web-worker/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/web-worker/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/advanced/webgl-visualization/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/frontend/advanced/webgl-visualization/task.yaml +0 -16
- package/refs/vbenchmark/tasks/frontend/animation/page-transitions/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/animation/page-transitions/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/components/data-grid/PROMPT.md +0 -59
- package/refs/vbenchmark/tasks/frontend/components/data-grid/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/components/date-range-picker/PROMPT.md +0 -57
- package/refs/vbenchmark/tasks/frontend/components/date-range-picker/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/components/file-uploader/PROMPT.md +0 -55
- package/refs/vbenchmark/tasks/frontend/components/file-uploader/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/components/form-builder/PROMPT.md +0 -96
- package/refs/vbenchmark/tasks/frontend/components/form-builder/task.yaml +0 -28
- package/refs/vbenchmark/tasks/frontend/components/rich-text-editor/PROMPT.md +0 -45
- package/refs/vbenchmark/tasks/frontend/components/rich-text-editor/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/figma-to-code/dashboard-layout/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/frontend/figma-to-code/dashboard-layout/task.yaml +0 -25
- package/refs/vbenchmark/tasks/frontend/figma-to-code/landing-page/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/frontend/figma-to-code/landing-page/task.yaml +0 -25
- package/refs/vbenchmark/tasks/frontend/figma-to-code/mobile-app-screen/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/frontend/figma-to-code/mobile-app-screen/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/PROMPT.md +0 -93
- package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/docker-compose.yaml +0 -23
- package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/task.yaml +0 -30
- package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/tests/visual/diff.test.ts +0 -107
- package/refs/vbenchmark/tasks/frontend/figma-to-code/pricing-card/tests/visual/interaction.test.ts +0 -88
- package/refs/vbenchmark/tasks/frontend/performance/image-lazy-load/PROMPT.md +0 -43
- package/refs/vbenchmark/tasks/frontend/performance/image-lazy-load/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/performance/infinite-scroll/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/performance/infinite-scroll/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/state-management/collaborative-editor/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/state-management/collaborative-editor/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/state-management/shopping-cart/PROMPT.md +0 -53
- package/refs/vbenchmark/tasks/frontend/state-management/shopping-cart/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/visualization/chart-dashboard/PROMPT.md +0 -83
- package/refs/vbenchmark/tasks/frontend/visualization/chart-dashboard/task.yaml +0 -28
- package/refs/vbenchmark/tasks/frontend/visualization/gantt-chart/PROMPT.md +0 -57
- package/refs/vbenchmark/tasks/frontend/visualization/gantt-chart/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/visualization/map-dashboard/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/frontend/visualization/map-dashboard/task.yaml +0 -24
- package/refs/vbenchmark/tasks/frontend/visualization/realtime-charts/PROMPT.md +0 -43
- package/refs/vbenchmark/tasks/frontend/visualization/realtime-charts/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/advanced/blue-green-deploy/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/blue-green-deploy/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/canary-release/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/canary-release/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/change-data-capture/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/change-data-capture/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/config-management/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/config-management/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/data-pipeline/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/data-pipeline/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/distributed-tracing/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/distributed-tracing/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/log-aggregation/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/log-aggregation/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/schema-registry/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/schema-registry/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/secret-rotation/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/secret-rotation/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/advanced/stream-processing/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/glue-code/advanced/stream-processing/task.yaml +0 -16
- package/refs/vbenchmark/tasks/glue-code/api-sync/rest-to-graphql/PROMPT.md +0 -66
- package/refs/vbenchmark/tasks/glue-code/api-sync/rest-to-graphql/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/caching/redis-cache/PROMPT.md +0 -82
- package/refs/vbenchmark/tasks/glue-code/caching/redis-cache/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/data-transform/avro-schema-evolution/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/glue-code/data-transform/avro-schema-evolution/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/data-transform/csv-normalizer/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/glue-code/data-transform/csv-normalizer/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/data-transform/excel-to-json/PROMPT.md +0 -67
- package/refs/vbenchmark/tasks/glue-code/data-transform/excel-to-json/task.yaml +0 -28
- package/refs/vbenchmark/tasks/glue-code/data-transform/excel-to-json/tests/transform.test.py +0 -137
- package/refs/vbenchmark/tasks/glue-code/data-transform/json-to-xml/PROMPT.md +0 -45
- package/refs/vbenchmark/tasks/glue-code/data-transform/json-to-xml/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/data-transform/protobuf-converter/PROMPT.md +0 -44
- package/refs/vbenchmark/tasks/glue-code/data-transform/protobuf-converter/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/etl/cdc-pipeline/PROMPT.md +0 -52
- package/refs/vbenchmark/tasks/glue-code/etl/cdc-pipeline/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/etl/database-sync/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/glue-code/etl/database-sync/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/etl/s3-to-warehouse/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/etl/s3-to-warehouse/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/file-processing/image-resizer/PROMPT.md +0 -52
- package/refs/vbenchmark/tasks/glue-code/file-processing/image-resizer/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/file-processing/pdf-merger/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/file-processing/pdf-merger/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/file-processing/video-transcoder/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/file-processing/video-transcoder/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/migration/data-backfill/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/migration/data-backfill/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/migration/database-versioning/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/migration/database-versioning/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/queue/kafka-producer/PROMPT.md +0 -49
- package/refs/vbenchmark/tasks/glue-code/queue/kafka-producer/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/queue/rabbitmq-consumer/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/glue-code/queue/rabbitmq-consumer/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/queue/sqs-batch-processor/PROMPT.md +0 -47
- package/refs/vbenchmark/tasks/glue-code/queue/sqs-batch-processor/task.yaml +0 -24
- package/refs/vbenchmark/tasks/glue-code/scheduler/cron-job-manager/PROMPT.md +0 -52
- package/refs/vbenchmark/tasks/glue-code/scheduler/cron-job-manager/task.yaml +0 -27
- package/refs/vbenchmark/tasks/glue-code/scheduler/delayed-tasks/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/glue-code/scheduler/delayed-tasks/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/advanced/api-versioning/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/saas-core/advanced/api-versioning/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/circuit-breaker/PROMPT.md +0 -13
- package/refs/vbenchmark/tasks/saas-core/advanced/circuit-breaker/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/compliance-gdpr/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/saas-core/advanced/compliance-gdpr/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/cqrs-pattern/PROMPT.md +0 -13
- package/refs/vbenchmark/tasks/saas-core/advanced/cqrs-pattern/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/data-encryption/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/saas-core/advanced/data-encryption/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/distributed-locking/PROMPT.md +0 -46
- package/refs/vbenchmark/tasks/saas-core/advanced/distributed-locking/task.yaml +0 -24
- package/refs/vbenchmark/tasks/saas-core/advanced/event-sourcing/PROMPT.md +0 -23
- package/refs/vbenchmark/tasks/saas-core/advanced/event-sourcing/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/feature-flags-ab/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/saas-core/advanced/feature-flags-ab/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/saga-orchestration/PROMPT.md +0 -13
- package/refs/vbenchmark/tasks/saas-core/advanced/saga-orchestration/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/advanced/webhook-delivery/PROMPT.md +0 -15
- package/refs/vbenchmark/tasks/saas-core/advanced/webhook-delivery/task.yaml +0 -16
- package/refs/vbenchmark/tasks/saas-core/audit/activity-logging/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/saas-core/audit/activity-logging/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/jwt-refresh-tokens/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/saas-core/auth/jwt-refresh-tokens/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/magic-link-email/PROMPT.md +0 -53
- package/refs/vbenchmark/tasks/saas-core/auth/magic-link-email/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/mfa-totp/PROMPT.md +0 -79
- package/refs/vbenchmark/tasks/saas-core/auth/mfa-totp/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/rbac-permissions/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/saas-core/auth/rbac-permissions/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/session-management/PROMPT.md +0 -52
- package/refs/vbenchmark/tasks/saas-core/auth/session-management/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/PROMPT.md +0 -45
- package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/docker-compose.yaml +0 -47
- package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/task.yaml +0 -32
- package/refs/vbenchmark/tasks/saas-core/auth/supabase-oauth/tests/auth.test.ts +0 -59
- package/refs/vbenchmark/tasks/saas-core/billing/invoice-generation/PROMPT.md +0 -53
- package/refs/vbenchmark/tasks/saas-core/billing/invoice-generation/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/billing/stripe-subscriptions/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/saas-core/billing/stripe-subscriptions/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/billing/usage-metering/PROMPT.md +0 -52
- package/refs/vbenchmark/tasks/saas-core/billing/usage-metering/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/crud/dashboard-table/PROMPT.md +0 -48
- package/refs/vbenchmark/tasks/saas-core/crud/dashboard-table/task.yaml +0 -28
- package/refs/vbenchmark/tasks/saas-core/multi-tenant/org-isolation/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/saas-core/multi-tenant/org-isolation/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/multi-tenant/subdomain-routing/PROMPT.md +0 -50
- package/refs/vbenchmark/tasks/saas-core/multi-tenant/subdomain-routing/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/notifications/email-queue/PROMPT.md +0 -53
- package/refs/vbenchmark/tasks/saas-core/notifications/email-queue/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/notifications/in-app-alerts/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/saas-core/notifications/in-app-alerts/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/notifications/push-notifications/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/saas-core/notifications/push-notifications/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/realtime/websocket-chat/PROMPT.md +0 -80
- package/refs/vbenchmark/tasks/saas-core/realtime/websocket-chat/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/search/full-text-search/PROMPT.md +0 -51
- package/refs/vbenchmark/tasks/saas-core/search/full-text-search/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/security/rate-limiter/PROMPT.md +0 -99
- package/refs/vbenchmark/tasks/saas-core/security/rate-limiter/task.yaml +0 -27
- package/refs/vbenchmark/tasks/saas-core/settings/user-preferences/PROMPT.md +0 -78
- package/refs/vbenchmark/tasks/saas-core/settings/user-preferences/task.yaml +0 -27
- package/refs/vbenchmark/templates/fastapi-postgres/docker-compose.yaml +0 -36
- package/refs/vbenchmark/templates/fastapi-postgres/pyproject.toml +0 -34
- package/refs/vbenchmark/templates/fastapi-postgres/src/__init__.py +0 -0
- package/refs/vbenchmark/templates/fastapi-postgres/src/config.py +0 -12
- package/refs/vbenchmark/templates/fastapi-postgres/src/database.py +0 -15
- package/refs/vbenchmark/templates/fastapi-postgres/src/main.py +0 -51
- package/refs/vbenchmark/templates/fastapi-postgres/src/models.py +0 -12
- package/refs/vbenchmark/templates/fastapi-postgres/src/schemas.py +0 -20
- package/refs/vbenchmark/templates/go-fiber/docker-compose.yaml +0 -34
- package/refs/vbenchmark/templates/go-fiber/go.mod +0 -33
- package/refs/vbenchmark/templates/go-fiber/go.sum +0 -68
- package/refs/vbenchmark/templates/go-fiber/main.go +0 -98
- package/refs/vbenchmark/templates/nextjs-supabase/.env.example +0 -3
- package/refs/vbenchmark/templates/nextjs-supabase/docker-compose.yaml +0 -68
- package/refs/vbenchmark/templates/nextjs-supabase/src/app/globals.css +0 -13
- package/refs/vbenchmark/templates/nextjs-supabase/src/app/layout.tsx +0 -19
- package/refs/vbenchmark/templates/nextjs-supabase/src/app/page.tsx +0 -38
- package/refs/vbenchmark/templates/nextjs-supabase/src/lib/supabase/client.ts +0 -8
- package/refs/vbenchmark/templates/nextjs-supabase/src/lib/supabase/server.ts +0 -32
- package/refs/vbenchmark/templates/rust-axum/Cargo.lock +0 -2371
- package/refs/vbenchmark/templates/rust-axum/Cargo.toml +0 -16
- package/refs/vbenchmark/templates/rust-axum/docker-compose.yaml +0 -34
- package/refs/vbenchmark/templates/rust-axum/migrations/20240101000000_init.sql +0 -20
- package/refs/vbenchmark/templates/rust-axum/src/main.rs +0 -121
- package/refs/vbenchmark/tsconfig.base.json +0 -18
- package/refs/vbenchmark/turbo.json +0 -23
- package/refs/vbenchmark/vercel.json +0 -10
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Task: PDF Merger and Manipulator
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build a PDF manipulation service that merges, splits, and transforms PDF files.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Merge Operations**
|
|
9
|
-
- Merge multiple PDFs into one
|
|
10
|
-
- Specify page order
|
|
11
|
-
- Add blank pages between docs
|
|
12
|
-
- Set output metadata
|
|
13
|
-
|
|
14
|
-
2. **Split Operations**
|
|
15
|
-
- Split by page ranges
|
|
16
|
-
- Extract specific pages
|
|
17
|
-
- Split into single pages
|
|
18
|
-
- Split by size limit
|
|
19
|
-
|
|
20
|
-
3. **Transform Operations**
|
|
21
|
-
- Rotate pages
|
|
22
|
-
- Add watermark (text or image)
|
|
23
|
-
- Add page numbers
|
|
24
|
-
- Compress/optimize
|
|
25
|
-
|
|
26
|
-
4. **API Endpoints**
|
|
27
|
-
- `POST /pdf/merge` - Merge PDFs
|
|
28
|
-
- `POST /pdf/split` - Split PDF
|
|
29
|
-
- `POST /pdf/rotate` - Rotate pages
|
|
30
|
-
- `POST /pdf/watermark` - Add watermark
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- Python 3.11+
|
|
34
|
-
- FastAPI
|
|
35
|
-
- pypdf or PyMuPDF
|
|
36
|
-
- Pillow for image watermarks
|
|
37
|
-
|
|
38
|
-
## Files to Create
|
|
39
|
-
- `app/main.py` - FastAPI app
|
|
40
|
-
- `app/services/merger.py` - Merge logic
|
|
41
|
-
- `app/services/splitter.py` - Split logic
|
|
42
|
-
- `app/services/transformer.py` - Transform ops
|
|
43
|
-
- `app/routers/pdf.py` - API endpoints
|
|
44
|
-
|
|
45
|
-
## Success Criteria
|
|
46
|
-
- [ ] Merge creates valid PDF
|
|
47
|
-
- [ ] Split extracts correct pages
|
|
48
|
-
- [ ] Rotation works correctly
|
|
49
|
-
- [ ] Watermark appears on all pages
|
|
50
|
-
- [ ] Output is valid PDF
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
name: PDF Merger and Manipulator
|
|
2
|
-
category: glue-code
|
|
3
|
-
subcategory: file-processing
|
|
4
|
-
description: Merge and manipulate PDF files with Python
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: python
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/test_pdf.py
|
|
12
|
-
|
|
13
|
-
tags:
|
|
14
|
-
- python
|
|
15
|
-
- pdf
|
|
16
|
-
- merge
|
|
17
|
-
- manipulation
|
|
18
|
-
- pypdf
|
|
19
|
-
|
|
20
|
-
evaluation:
|
|
21
|
-
functional: 0.5
|
|
22
|
-
quality: 0.2
|
|
23
|
-
cost: 0.15
|
|
24
|
-
speed: 0.15
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Task: Video Transcoder Service
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build a video transcoding service using FFmpeg that converts videos to multiple formats and resolutions.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Transcoding**
|
|
9
|
-
- Multiple output formats (MP4, WebM, HLS)
|
|
10
|
-
- Multiple resolutions (1080p, 720p, 480p)
|
|
11
|
-
- Codec selection (H.264, H.265, VP9)
|
|
12
|
-
- Audio transcoding (AAC, Opus)
|
|
13
|
-
|
|
14
|
-
2. **HLS Output**
|
|
15
|
-
- Generate HLS playlist
|
|
16
|
-
- Segment videos for streaming
|
|
17
|
-
- Multiple quality variants
|
|
18
|
-
- Master playlist
|
|
19
|
-
|
|
20
|
-
3. **Job Management**
|
|
21
|
-
- Queue transcoding jobs
|
|
22
|
-
- Progress tracking
|
|
23
|
-
- Cancel running jobs
|
|
24
|
-
- Webhook on completion
|
|
25
|
-
|
|
26
|
-
4. **API Endpoints**
|
|
27
|
-
- `POST /transcode` - Start job
|
|
28
|
-
- `GET /jobs/{id}` - Get status
|
|
29
|
-
- `DELETE /jobs/{id}` - Cancel job
|
|
30
|
-
- `GET /jobs/{id}/progress` - Stream progress
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- Go 1.21+
|
|
34
|
-
- FFmpeg (exec wrapper)
|
|
35
|
-
- Redis for job queue
|
|
36
|
-
- S3 for input/output storage
|
|
37
|
-
|
|
38
|
-
## Files to Create
|
|
39
|
-
- `cmd/transcoder/main.go` - Entry point
|
|
40
|
-
- `internal/ffmpeg/transcoder.go` - FFmpeg wrapper
|
|
41
|
-
- `internal/ffmpeg/hls.go` - HLS generation
|
|
42
|
-
- `internal/jobs/queue.go` - Job queue
|
|
43
|
-
- `internal/handlers/transcode.go` - API handlers
|
|
44
|
-
|
|
45
|
-
## Success Criteria
|
|
46
|
-
- [ ] Videos transcode to MP4 correctly
|
|
47
|
-
- [ ] HLS output plays in browser
|
|
48
|
-
- [ ] Progress updates in real-time
|
|
49
|
-
- [ ] Jobs can be cancelled
|
|
50
|
-
- [ ] Multiple resolutions generated
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Video Transcoder Service
|
|
2
|
-
category: glue-code
|
|
3
|
-
subcategory: file-processing
|
|
4
|
-
description: FFmpeg-based video transcoding in Go
|
|
5
|
-
difficulty: hard
|
|
6
|
-
stack: go
|
|
7
|
-
timeout: 900
|
|
8
|
-
tokenLimit: 200000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/transcode_test.go
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- go
|
|
18
|
-
- ffmpeg
|
|
19
|
-
- video
|
|
20
|
-
- transcoding
|
|
21
|
-
- streaming
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.25
|
|
26
|
-
cost: 0.1
|
|
27
|
-
speed: 0.15
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Task: Data Backfill Pipeline
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build a data backfill system that migrates/transforms large datasets with progress tracking and resumability.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Batch Processing**
|
|
9
|
-
- Process records in batches
|
|
10
|
-
- Configurable batch size
|
|
11
|
-
- Parallel batch processing
|
|
12
|
-
- Memory-efficient iteration
|
|
13
|
-
|
|
14
|
-
2. **Progress Tracking**
|
|
15
|
-
- Track processed record count
|
|
16
|
-
- Estimate time remaining
|
|
17
|
-
- Save checkpoint periodically
|
|
18
|
-
- Resume from checkpoint
|
|
19
|
-
|
|
20
|
-
3. **Error Handling**
|
|
21
|
-
- Log failed records
|
|
22
|
-
- Continue on individual failures
|
|
23
|
-
- Retry failed batches
|
|
24
|
-
- Generate error report
|
|
25
|
-
|
|
26
|
-
4. **CLI Interface**
|
|
27
|
-
- `backfill run <job>` - Start backfill
|
|
28
|
-
- `backfill status <job>` - Check progress
|
|
29
|
-
- `backfill resume <job>` - Resume from checkpoint
|
|
30
|
-
- `backfill retry-failed <job>` - Retry failures
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- Python 3.11+
|
|
34
|
-
- SQLAlchemy for DB access
|
|
35
|
-
- Click for CLI
|
|
36
|
-
- Redis for progress state
|
|
37
|
-
|
|
38
|
-
## Files to Create
|
|
39
|
-
- `backfill/cli.py` - CLI commands
|
|
40
|
-
- `backfill/runner.py` - Backfill executor
|
|
41
|
-
- `backfill/checkpoint.py` - Checkpoint management
|
|
42
|
-
- `backfill/jobs/user_migration.py` - Example job
|
|
43
|
-
- `backfill/reporter.py` - Progress reporting
|
|
44
|
-
|
|
45
|
-
## Success Criteria
|
|
46
|
-
- [ ] Processes all records correctly
|
|
47
|
-
- [ ] Progress persists across restarts
|
|
48
|
-
- [ ] Resume continues from checkpoint
|
|
49
|
-
- [ ] Failed records logged
|
|
50
|
-
- [ ] Retry-failed processes failures only
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
name: Data Backfill Pipeline
|
|
2
|
-
category: glue-code
|
|
3
|
-
subcategory: migration
|
|
4
|
-
description: Implement data backfill with progress tracking in Python
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: python
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/test_backfill.py
|
|
12
|
-
|
|
13
|
-
tags:
|
|
14
|
-
- python
|
|
15
|
-
- backfill
|
|
16
|
-
- migration
|
|
17
|
-
- data
|
|
18
|
-
- progress
|
|
19
|
-
|
|
20
|
-
evaluation:
|
|
21
|
-
functional: 0.5
|
|
22
|
-
quality: 0.2
|
|
23
|
-
cost: 0.15
|
|
24
|
-
speed: 0.15
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Task: Database Migration System
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build a database schema migration system that tracks, applies, and rolls back migrations.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Migration Files**
|
|
9
|
-
- Timestamped migration files
|
|
10
|
-
- Up and down functions
|
|
11
|
-
- SQL or programmatic migrations
|
|
12
|
-
- Migration template generation
|
|
13
|
-
|
|
14
|
-
2. **Operations**
|
|
15
|
-
- `migrate up` - Apply pending
|
|
16
|
-
- `migrate down` - Rollback last
|
|
17
|
-
- `migrate status` - Show status
|
|
18
|
-
- `migrate create <name>` - New migration
|
|
19
|
-
|
|
20
|
-
3. **Tracking**
|
|
21
|
-
- Store applied migrations in DB
|
|
22
|
-
- Lock to prevent concurrent runs
|
|
23
|
-
- Checksum validation
|
|
24
|
-
- Execution timing
|
|
25
|
-
|
|
26
|
-
4. **Safety**
|
|
27
|
-
- Transaction per migration
|
|
28
|
-
- Dry run mode
|
|
29
|
-
- Backup before destructive ops
|
|
30
|
-
- Validate before apply
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- TypeScript/Node.js
|
|
34
|
-
- PostgreSQL
|
|
35
|
-
- Commander for CLI
|
|
36
|
-
|
|
37
|
-
## Files to Create
|
|
38
|
-
- `src/cli.ts` - CLI commands
|
|
39
|
-
- `src/migrator.ts` - Migration runner
|
|
40
|
-
- `src/tracker.ts` - Migration tracking
|
|
41
|
-
- `src/generator.ts` - Migration generator
|
|
42
|
-
- `src/lock.ts` - Concurrent lock
|
|
43
|
-
- `migrations/` - Migration files
|
|
44
|
-
|
|
45
|
-
## Success Criteria
|
|
46
|
-
- [ ] Migrations apply in order
|
|
47
|
-
- [ ] Rollback works correctly
|
|
48
|
-
- [ ] Status shows correct state
|
|
49
|
-
- [ ] Concurrent runs prevented
|
|
50
|
-
- [ ] Transactions rollback on error
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
name: Database Migration System
|
|
2
|
-
category: glue-code
|
|
3
|
-
subcategory: migration
|
|
4
|
-
description: Build database schema migration system in TypeScript
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: nodejs
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/migration.test.ts
|
|
12
|
-
|
|
13
|
-
tags:
|
|
14
|
-
- typescript
|
|
15
|
-
- database
|
|
16
|
-
- migrations
|
|
17
|
-
- schema
|
|
18
|
-
- versioning
|
|
19
|
-
|
|
20
|
-
evaluation:
|
|
21
|
-
functional: 0.5
|
|
22
|
-
quality: 0.2
|
|
23
|
-
cost: 0.15
|
|
24
|
-
speed: 0.15
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# Task: High-Throughput Kafka Producer
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build a high-throughput Kafka producer in Go with batching, compression, and delivery guarantees.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Producer Configuration**
|
|
9
|
-
- Async batching for throughput
|
|
10
|
-
- Compression (snappy/lz4)
|
|
11
|
-
- Configurable acks (0, 1, all)
|
|
12
|
-
- Idempotent producer for exactly-once
|
|
13
|
-
|
|
14
|
-
2. **Message Publishing**
|
|
15
|
-
- Publish to specific partition (key-based)
|
|
16
|
-
- Headers support
|
|
17
|
-
- Async with callbacks
|
|
18
|
-
- Sync option for critical messages
|
|
19
|
-
|
|
20
|
-
3. **Performance**
|
|
21
|
-
- Batch by size and time
|
|
22
|
-
- Connection pooling
|
|
23
|
-
- Metrics (throughput, latency)
|
|
24
|
-
- Handle backpressure
|
|
25
|
-
|
|
26
|
-
4. **API**
|
|
27
|
-
- `POST /publish` - Publish single message
|
|
28
|
-
- `POST /publish/batch` - Publish batch
|
|
29
|
-
- `GET /metrics` - Producer metrics
|
|
30
|
-
- Health check endpoint
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- Go 1.21+
|
|
34
|
-
- confluent-kafka-go or segmentio/kafka-go
|
|
35
|
-
- Prometheus metrics
|
|
36
|
-
|
|
37
|
-
## Files to Create
|
|
38
|
-
- `cmd/producer/main.go` - Entry point
|
|
39
|
-
- `internal/kafka/producer.go` - Producer wrapper
|
|
40
|
-
- `internal/kafka/config.go` - Configuration
|
|
41
|
-
- `internal/handlers/publish.go` - HTTP handlers
|
|
42
|
-
- `internal/metrics/metrics.go` - Metrics
|
|
43
|
-
|
|
44
|
-
## Success Criteria
|
|
45
|
-
- [ ] Achieves 100K+ messages/sec
|
|
46
|
-
- [ ] Batching works correctly
|
|
47
|
-
- [ ] Compression reduces size
|
|
48
|
-
- [ ] Delivery callbacks work
|
|
49
|
-
- [ ] Metrics exposed correctly
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: High-Throughput Kafka Producer
|
|
2
|
-
category: glue-code
|
|
3
|
-
subcategory: queue
|
|
4
|
-
description: Implement high-throughput Kafka producer in Go
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: go
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/producer_test.go
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- go
|
|
18
|
-
- kafka
|
|
19
|
-
- streaming
|
|
20
|
-
- producer
|
|
21
|
-
- high-throughput
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.2
|
|
26
|
-
cost: 0.15
|
|
27
|
-
speed: 0.15
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Task: RabbitMQ Message Consumer
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build a reliable RabbitMQ consumer with proper acknowledgment, retry, and dead letter handling.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Consumer Setup**
|
|
9
|
-
- Connect with automatic reconnection
|
|
10
|
-
- Prefetch for flow control
|
|
11
|
-
- Multiple consumer instances (scaling)
|
|
12
|
-
- Graceful shutdown
|
|
13
|
-
|
|
14
|
-
2. **Message Processing**
|
|
15
|
-
- Process different message types
|
|
16
|
-
- Validate message schema
|
|
17
|
-
- Handle processing errors
|
|
18
|
-
- Manual acknowledgment
|
|
19
|
-
|
|
20
|
-
3. **Retry Logic**
|
|
21
|
-
- Retry failed messages with backoff
|
|
22
|
-
- Max retry count per message
|
|
23
|
-
- Move to dead letter after max retries
|
|
24
|
-
- Track retry count in headers
|
|
25
|
-
|
|
26
|
-
4. **Dead Letter Queue**
|
|
27
|
-
- Capture failed messages
|
|
28
|
-
- Include error information
|
|
29
|
-
- API to inspect dead letters
|
|
30
|
-
- Replay dead letters
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- Python 3.11+
|
|
34
|
-
- aio-pika (async RabbitMQ)
|
|
35
|
-
- Pydantic for validation
|
|
36
|
-
- PostgreSQL for state
|
|
37
|
-
|
|
38
|
-
## Files to Create
|
|
39
|
-
- `consumer/main.py` - Entry point
|
|
40
|
-
- `consumer/handlers.py` - Message handlers
|
|
41
|
-
- `consumer/retry.py` - Retry logic
|
|
42
|
-
- `consumer/dlq.py` - Dead letter handling
|
|
43
|
-
- `consumer/models.py` - Message models
|
|
44
|
-
|
|
45
|
-
## Success Criteria
|
|
46
|
-
- [ ] Messages processed reliably
|
|
47
|
-
- [ ] Failed messages retried with backoff
|
|
48
|
-
- [ ] Dead letters captured after max retries
|
|
49
|
-
- [ ] Consumer reconnects on connection loss
|
|
50
|
-
- [ ] Graceful shutdown completes in-flight
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: RabbitMQ Message Consumer
|
|
2
|
-
category: glue-code
|
|
3
|
-
subcategory: queue
|
|
4
|
-
description: Implement reliable RabbitMQ consumer with Python
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: python
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/test_consumer.py
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- python
|
|
18
|
-
- rabbitmq
|
|
19
|
-
- queue
|
|
20
|
-
- messaging
|
|
21
|
-
- async
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.2
|
|
26
|
-
cost: 0.15
|
|
27
|
-
speed: 0.15
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Task: AWS SQS Batch Processor
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build an efficient SQS batch processor with partial failure handling and visibility timeout management.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Batch Receiving**
|
|
9
|
-
- Receive up to 10 messages per request
|
|
10
|
-
- Long polling for efficiency
|
|
11
|
-
- Parse message body (JSON)
|
|
12
|
-
- Extract message attributes
|
|
13
|
-
|
|
14
|
-
2. **Batch Processing**
|
|
15
|
-
- Process messages in parallel
|
|
16
|
-
- Individual message error handling
|
|
17
|
-
- Partial batch failure support
|
|
18
|
-
- Report failed message IDs
|
|
19
|
-
|
|
20
|
-
3. **Visibility Timeout**
|
|
21
|
-
- Extend timeout for long-running jobs
|
|
22
|
-
- Heartbeat mechanism
|
|
23
|
-
- Release messages on failure
|
|
24
|
-
|
|
25
|
-
4. **Dead Letter Queue**
|
|
26
|
-
- Configure DLQ on max receives
|
|
27
|
-
- Move manually to DLQ on permanent failure
|
|
28
|
-
- Redrive from DLQ
|
|
29
|
-
|
|
30
|
-
## Technical Stack
|
|
31
|
-
- TypeScript/Node.js
|
|
32
|
-
- AWS SDK v3
|
|
33
|
-
- Zod for validation
|
|
34
|
-
|
|
35
|
-
## Files to Create
|
|
36
|
-
- `src/processor.ts` - Main processor
|
|
37
|
-
- `src/handlers/index.ts` - Message handlers
|
|
38
|
-
- `src/visibility.ts` - Visibility management
|
|
39
|
-
- `src/dlq.ts` - DLQ operations
|
|
40
|
-
- `src/types.ts` - Type definitions
|
|
41
|
-
|
|
42
|
-
## Success Criteria
|
|
43
|
-
- [ ] Batch receiving works efficiently
|
|
44
|
-
- [ ] Partial failures don't block batch
|
|
45
|
-
- [ ] Visibility extended for long jobs
|
|
46
|
-
- [ ] Failed messages go to DLQ
|
|
47
|
-
- [ ] Redrive from DLQ works
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
name: AWS SQS Batch Processor
|
|
2
|
-
category: glue-code
|
|
3
|
-
subcategory: queue
|
|
4
|
-
description: Process SQS messages in batches with TypeScript
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: nodejs
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/sqs.test.ts
|
|
12
|
-
|
|
13
|
-
tags:
|
|
14
|
-
- typescript
|
|
15
|
-
- aws
|
|
16
|
-
- sqs
|
|
17
|
-
- batch
|
|
18
|
-
- serverless
|
|
19
|
-
|
|
20
|
-
evaluation:
|
|
21
|
-
functional: 0.5
|
|
22
|
-
quality: 0.2
|
|
23
|
-
cost: 0.15
|
|
24
|
-
speed: 0.15
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Task: Distributed Cron Job Manager
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build a distributed cron scheduling system that runs jobs across multiple workers with leader election.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Job Definition**
|
|
9
|
-
- Cron expression parsing
|
|
10
|
-
- HTTP webhook jobs
|
|
11
|
-
- Function jobs (local execution)
|
|
12
|
-
- Job timeout configuration
|
|
13
|
-
|
|
14
|
-
2. **Distributed Execution**
|
|
15
|
-
- Leader election for scheduler
|
|
16
|
-
- Worker pool for job execution
|
|
17
|
-
- Prevent duplicate execution
|
|
18
|
-
- Handle worker failures
|
|
19
|
-
|
|
20
|
-
3. **Job Management**
|
|
21
|
-
- `POST /jobs` - Create job
|
|
22
|
-
- `GET /jobs` - List jobs
|
|
23
|
-
- `PUT /jobs/{id}` - Update job
|
|
24
|
-
- `DELETE /jobs/{id}` - Delete job
|
|
25
|
-
- `POST /jobs/{id}/run` - Trigger manually
|
|
26
|
-
|
|
27
|
-
4. **Monitoring**
|
|
28
|
-
- Job execution history
|
|
29
|
-
- Success/failure rates
|
|
30
|
-
- Execution duration
|
|
31
|
-
- Next run time
|
|
32
|
-
|
|
33
|
-
## Technical Stack
|
|
34
|
-
- Go 1.21+
|
|
35
|
-
- Redis for locking/leader election
|
|
36
|
-
- PostgreSQL for job storage
|
|
37
|
-
- robfig/cron for parsing
|
|
38
|
-
|
|
39
|
-
## Files to Create
|
|
40
|
-
- `cmd/scheduler/main.go` - Scheduler process
|
|
41
|
-
- `cmd/worker/main.go` - Worker process
|
|
42
|
-
- `internal/scheduler/leader.go` - Leader election
|
|
43
|
-
- `internal/scheduler/cron.go` - Cron parsing
|
|
44
|
-
- `internal/worker/executor.go` - Job execution
|
|
45
|
-
- `internal/handlers/jobs.go` - API handlers
|
|
46
|
-
|
|
47
|
-
## Success Criteria
|
|
48
|
-
- [ ] Cron expressions parsed correctly
|
|
49
|
-
- [ ] Only leader schedules jobs
|
|
50
|
-
- [ ] Jobs execute exactly once
|
|
51
|
-
- [ ] Failed jobs tracked
|
|
52
|
-
- [ ] Manual trigger works
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Distributed Cron Job Manager
|
|
2
|
-
category: glue-code
|
|
3
|
-
subcategory: scheduler
|
|
4
|
-
description: Build distributed cron scheduling system in Go
|
|
5
|
-
difficulty: hard
|
|
6
|
-
stack: go
|
|
7
|
-
timeout: 900
|
|
8
|
-
tokenLimit: 200000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/scheduler_test.go
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- go
|
|
18
|
-
- cron
|
|
19
|
-
- scheduler
|
|
20
|
-
- distributed
|
|
21
|
-
- redis
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.25
|
|
26
|
-
cost: 0.1
|
|
27
|
-
speed: 0.15
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Task: Celery Delayed Task Executor
|
|
2
|
-
|
|
3
|
-
## Objective
|
|
4
|
-
Build a delayed task execution system using Celery for scheduling tasks at specific times or after delays.
|
|
5
|
-
|
|
6
|
-
## Requirements
|
|
7
|
-
|
|
8
|
-
1. **Task Scheduling**
|
|
9
|
-
- Execute after delay (countdown)
|
|
10
|
-
- Execute at specific time (eta)
|
|
11
|
-
- Recurring tasks (periodic)
|
|
12
|
-
- Cancel scheduled tasks
|
|
13
|
-
|
|
14
|
-
2. **Task Types**
|
|
15
|
-
- Email reminders
|
|
16
|
-
- Report generation
|
|
17
|
-
- Data cleanup
|
|
18
|
-
- Notification delivery
|
|
19
|
-
|
|
20
|
-
3. **API Endpoints**
|
|
21
|
-
- `POST /tasks/schedule` - Schedule task
|
|
22
|
-
- `GET /tasks/{id}` - Get task status
|
|
23
|
-
- `DELETE /tasks/{id}` - Cancel task
|
|
24
|
-
- `GET /tasks/pending` - List pending
|
|
25
|
-
|
|
26
|
-
4. **Features**
|
|
27
|
-
- Task revocation
|
|
28
|
-
- Result storage
|
|
29
|
-
- Task chains/groups
|
|
30
|
-
- Retry on failure
|
|
31
|
-
|
|
32
|
-
## Technical Stack
|
|
33
|
-
- Python 3.11+
|
|
34
|
-
- Celery with Redis broker
|
|
35
|
-
- FastAPI for API
|
|
36
|
-
- Redis for result backend
|
|
37
|
-
|
|
38
|
-
## Files to Create
|
|
39
|
-
- `app/main.py` - FastAPI app
|
|
40
|
-
- `app/tasks/email.py` - Email tasks
|
|
41
|
-
- `app/tasks/reports.py` - Report tasks
|
|
42
|
-
- `app/routers/tasks.py` - API endpoints
|
|
43
|
-
- `app/celery_app.py` - Celery config
|
|
44
|
-
- `celeryconfig.py` - Celery settings
|
|
45
|
-
|
|
46
|
-
## Success Criteria
|
|
47
|
-
- [ ] Tasks execute after countdown
|
|
48
|
-
- [ ] Tasks execute at specific eta
|
|
49
|
-
- [ ] Periodic tasks run on schedule
|
|
50
|
-
- [ ] Cancelled tasks don't execute
|
|
51
|
-
- [ ] Task status queryable
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
name: Celery Delayed Task Executor
|
|
2
|
-
category: glue-code
|
|
3
|
-
subcategory: scheduler
|
|
4
|
-
description: Implement delayed task execution with Celery in Python
|
|
5
|
-
difficulty: medium
|
|
6
|
-
stack: python
|
|
7
|
-
timeout: 600
|
|
8
|
-
tokenLimit: 150000
|
|
9
|
-
|
|
10
|
-
tests:
|
|
11
|
-
functional: tests/test_delayed_tasks.py
|
|
12
|
-
|
|
13
|
-
docker:
|
|
14
|
-
compose: docker-compose.yaml
|
|
15
|
-
|
|
16
|
-
tags:
|
|
17
|
-
- python
|
|
18
|
-
- celery
|
|
19
|
-
- delayed-tasks
|
|
20
|
-
- redis
|
|
21
|
-
- async
|
|
22
|
-
|
|
23
|
-
evaluation:
|
|
24
|
-
functional: 0.5
|
|
25
|
-
quality: 0.2
|
|
26
|
-
cost: 0.15
|
|
27
|
-
speed: 0.15
|