| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"19ddaec82232d4d9951ad2e09192cee246fc7639","after":"b648dd7be05490cb3a2fc8c3a2fde4616e02f55f","compare_url":"https://gitea.g-hi.com/luoanwu/autodance-2.0/compare/19ddaec82232d4d9951ad2e09192cee246fc7639...b648dd7be05490cb3a2fc8c3a2fde4616e02f55f","commits":[{"id":"b648dd7be05490cb3a2fc8c3a2fde4616e02f55f","message":"chore: major infrastructure hardening and frontend decoupling v2.2\n\nKey improvements:\n- Database: Refactored Prisma Schema with Cascade deletes, Store relations, and unique constraints.\n- Frontend: Decoupled App.tsx logic using custom hooks (useSongs, useChartData) and enhanced A11y.\n- DevOps: Implemented GitHub Actions CI/CD pipeline for automated testing.\n- Testing: Stabilized E2E scripts with jq and better error handling.\n","url":"https://gitea.g-hi.com/luoanwu/autodance-2.0/commit/b648dd7be05490cb3a2fc8c3a2fde4616e02f55f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-02T15:05:37+08:00","added":[".github/workflows/test.yml","packages/web-editor/src/components/ErrorBoundary.tsx","packages/web-editor/src/components/GeneratorView/StepIndicator.tsx","packages/web-editor/src/components/GeneratorView/index.tsx","packages/web-editor/src/components/GeneratorView/steps/Step1Song.tsx","packages/web-editor/src/components/GeneratorView/steps/Step2Audio.tsx","packages/web-editor/src/components/GeneratorView/steps/Step3Lyrics.tsx","packages/web-editor/src/components/GeneratorView/steps/Step4Config.tsx","packages/web-editor/src/components/GeneratorView/steps/Step5Generate.tsx","packages/web-editor/src/components/ui/index.tsx","packages/web-editor/src/hooks/useChartData.ts","packages/web-editor/src/hooks/useSongs.ts","packages/web-editor/src/types/index.ts"],"removed":["packages/web-editor/src/components/GeneratorView.tsx"],"modified":["packages/web-editor/src/App.tsx","packages/web-editor/src/components/ChartPlayer.tsx","packages/web-editor/vite.config.ts","scripts/atomic-e2e.sh","services/chart-engine/src/beam-search.ts","services/chart-engine/src/chart-generator.ts","services/chart-engine/src/hype-planner.ts","services/chart-engine/src/index.ts","services/chart-engine/src/rule-engine.ts","services/chart-engine/src/window-inserter.ts","services/chart-engine/tests/hype-planner.test.ts","services/validate-service/src/validator.ts","services/validate-service/tests/validator-extended.test.ts","shared/database/prisma/schema.prisma"]}],"total_commits":0,"head_commit":{"id":"b648dd7be05490cb3a2fc8c3a2fde4616e02f55f","message":"chore: major infrastructure hardening and frontend decoupling v2.2\n\nKey improvements:\n- Database: Refactored Prisma Schema with Cascade deletes, Store relations, and unique constraints.\n- Frontend: Decoupled App.tsx logic using custom hooks (useSongs, useChartData) and enhanced A11y.\n- DevOps: Implemented GitHub Actions CI/CD pipeline for automated testing.\n- Testing: Stabilized E2E scripts with jq and better error handling.\n","url":"https://gitea.g-hi.com/luoanwu/autodance-2.0/commit/b648dd7be05490cb3a2fc8c3a2fde4616e02f55f","author":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"committer":{"name":"laoluojuhai","email":"laoluojuhai@users.noreply.github.com","username":""},"verification":null,"timestamp":"2026-03-02T15:05:37+08:00","added":[".github/workflows/test.yml","packages/web-editor/src/components/ErrorBoundary.tsx","packages/web-editor/src/components/GeneratorView/StepIndicator.tsx","packages/web-editor/src/components/GeneratorView/index.tsx","packages/web-editor/src/components/GeneratorView/steps/Step1Song.tsx","packages/web-editor/src/components/GeneratorView/steps/Step2Audio.tsx","packages/web-editor/src/components/GeneratorView/steps/Step3Lyrics.tsx","packages/web-editor/src/components/GeneratorView/steps/Step4Config.tsx","packages/web-editor/src/components/GeneratorView/steps/Step5Generate.tsx","packages/web-editor/src/components/ui/index.tsx","packages/web-editor/src/hooks/useChartData.ts","packages/web-editor/src/hooks/useSongs.ts","packages/web-editor/src/types/index.ts"],"removed":["packages/web-editor/src/components/GeneratorView.tsx"],"modified":["packages/web-editor/src/App.tsx","packages/web-editor/src/components/ChartPlayer.tsx","packages/web-editor/vite.config.ts","scripts/atomic-e2e.sh","services/chart-engine/src/beam-search.ts","services/chart-engine/src/chart-generator.ts","services/chart-engine/src/hype-planner.ts","services/chart-engine/src/index.ts","services/chart-engine/src/rule-engine.ts","services/chart-engine/src/window-inserter.ts","services/chart-engine/tests/hype-planner.test.ts","services/validate-service/src/validator.ts","services/validate-service/tests/validator-extended.test.ts","shared/database/prisma/schema.prisma"]},"repository":{"id":15,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"name":"autodance-2.0","full_name":"luoanwu/autodance-2.0","description":"","empty":false,"private":false,"fork":false,"template":false,"parent":null,"mirror":false,"size":64662,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/autodance-2.0/languages","html_url":"https://gitea.g-hi.com/luoanwu/autodance-2.0","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/autodance-2.0","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/autodance-2.0.git","clone_url":"https://gitea.g-hi.com/luoanwu/autodance-2.0.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"open_issues_count":0,"open_pr_counter":0,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-03-01T19:21:51+08:00","updated_at":"2026-03-02T14:40:57+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_issues":true,"internal_tracker":{"enable_time_tracker":true,"allow_only_contributors_to_track_time":true,"enable_issue_dependencies":true},"has_wiki":true,"has_pull_requests":true,"has_projects":true,"projects_mode":"all","has_releases":true,"has_packages":true,"has_actions":true,"ignore_whitespace_conflicts":false,"allow_merge_commits":true,"allow_rebase":true,"allow_rebase_explicit":true,"allow_squash_merge":true,"allow_fast_forward_only_merge":true,"allow_rebase_update":true,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":false,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","repo_transfer":null},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"},"sender":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatars/627574a890388a2aadc80ab38d22f3a0","html_url":"https://gitea.g-hi.com/luoanwu","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-01-30T16:28:30+08:00","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"luoanwu"}}... |