| event_payload |
{"ref":"refs/heads/main","befo {"ref":"refs/heads/main","before":"512495bfbdfe273b64932d586e99426d42c1bc42","after":"1a7c5f29eaf4aa40626df8e70173d624f758ccff","compare_url":"https://gitea.g-hi.com/luoanwu/image-generation/compare/512495bfbdfe273b64932d586e99426d42c1bc42...1a7c5f29eaf4aa40626df8e70173d624f758ccff","commits":[{"id":"1a7c5f29eaf4aa40626df8e70173d624f758ccff","message":"Merge branch 'main' into feat/uiux-workbench-20260909\n\n# Conflicts:\n#\treports/contract-consumers.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-security.latest.json\n#\treports/public-file-integration.latest.json\n#\treports/runtime-governance.latest.json\n#\treports/schema-sync.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/1a7c5f29eaf4aa40626df8e70173d624f758ccff","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T16:25:52-07:00","added":["docs/releases/2026-09-09-cost-creative1.md"],"removed":[],"modified":["CLAUDE.md","docs/releases/current.md"]},{"id":"d56a94d6c903cbfa4d0dbabcfd372a941ae8cd0e","message":"test: verify the image-creation UI/UX round with creative cost recording\n\nSeven gates and the dependency audit passed on the tree that merges\nmain (creative cost recording round, 3f6aec2e) into this branch, bound\nto sha256:ba22950d7b77cfccd6e5bc09bc0f103d7bccb7afe022f0f50a51e064c518f8e6; pnpm check passes. Heavy baseline rows re-marked. A pre-merge\nrun of the same gates on eff5a2ce also passed\n(acceptance-artifacts/uiux-workbench-2026-09-09/round3-premerge/).\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/d56a94d6c903cbfa4d0dbabcfd372a941ae8cd0e","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T16:24:32-07:00","added":[],"removed":[],"modified":["CLAUDE.md","reports/contract-consumers.latest.json","reports/dependency-audit.latest.json","reports/governance-docs.latest.json","reports/governance.latest.json","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/production-acceptance.latest.json","reports/production-security.latest.json","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/sidecar-tests.latest.json","reports/storyboard-director-guard.latest.json","reports/toolchain.latest.json","reports/ui-acceptance.latest.json","reports/validation-source.latest.json"]},{"id":"681df4d16f9a58a0b552961f5e3b354d2c392760","message":"Merge branch 'main' into feat/uiux-workbench-20260909\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/681df4d16f9a58a0b552961f5e3b354d2c392760","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T16:15:39-07:00","added":["apps/api-fastify/src/modules/creative-project/creative-model-invocations.ts","apps/api-fastify/src/modules/material-factory/model-invocation-context.ts","apps/api-fastify/src/modules/material-factory/storyboard-video-invocations.ts","apps/api-fastify/test/creative-model-cost.integration.test.ts","apps/api-fastify/test/storyboard-video-cost.integration.test.ts","apps/api-nestjs/src/creative-project/creative-model-invocations.ts","apps/api-nestjs/src/material-factory/model-invocation-context.ts","apps/api-nestjs/src/material-factory/storyboard-video-invocations.ts","apps/api-nestjs/test/creative-model-cost.integration.test.ts","apps/api-nestjs/test/storyboard-video-cost.integration.test.ts","docs/governance/log/2026-09-09-model-cost-creative.md","reports/model-cost-creative-2026-09-09/README.md","reports/model-cost-creative-2026-09-09/gate-results.jsonl"],"removed":[],"modified":["CLAUDE.md","apps/api-fastify/src/modules/creative-project/creative-project.service.ts","apps/api-fastify/src/modules/material-factory/material-factory.service.ts","apps/api-fastify/src/modules/material-factory/material-sidecar.client.ts","apps/api-fastify/src/modules/material-factory/model-connector.client.ts","apps/api-fastify/src/modules/material-production/material-production.service.ts","apps/api-fastify/test/model-connector.client.test.ts","apps/api-nestjs/src/creative-project/creative-project.service.ts","apps/api-nestjs/src/material-factory/material-factory.service.ts","apps/api-nestjs/src/material-factory/material-sidecar.client.ts","apps/api-nestjs/src/material-factory/model-connector.client.ts","apps/api-nestjs/src/material-production/material-production.service.ts","apps/api-nestjs/test/model-connector.client.test.ts","packages/contracts/src/material.ts","packages/contracts/src/model-price.test.ts","packages/contracts/src/model-price.ts","packages/contracts/src/production.ts","reports/admin-brands.desktop.png","reports/admin-brands.mobile.png","reports/admin-mobile.png","reports/content-detail.brief-desktop.png","reports/content-detail.images-desktop.png","reports/content-detail.output-desktop.png","reports/content-detail.output-mobile.png","reports/content-detail.plans-desktop.png","reports/content-detail.review-desktop.png","reports/contract-consumers.latest.json","reports/creative-history-hidden.desktop.png","reports/creative-history-restore.mobile.png","reports/creative-quality.desktop.png","reports/dependency-audit.latest.json","reports/director-workbench.desktop.png","reports/director-workbench.mobile.png","reports/governance-docs.latest.json","reports/governance.latest.json","reports/image-creation-1135.png","reports/image-creation-1440.png","reports/image-creation-390.png","reports/image-creation-768.png","reports/image-edit-1135.png","reports/image-edit-1440.png","reports/image-edit-390.png","reports/image-edit-768.png","reports/image-edit-mobile-form.png","reports/image-edit-result.png","reports/inference-acceptance.latest.json","reports/material-review-concurrency-guard.latest.json","reports/migrations.latest.json","reports/model-api-key-saved.png","reports/model-credential-error.desktop.png","reports/model-credential-error.mobile.png","reports/module-boundary.latest.json","reports/naming.latest.json","reports/order-concurrency-guard.latest.json","reports/prd-retry.mobile.png","reports/prd-review.desktop.png","reports/production-acceptance.latest.json","reports/production-delivery-released.desktop.png","reports/production-delivery-revoked.mobile.png","reports/production-pagination.desktop.png","reports/production-pagination.mobile.png","reports/production-review-preview.desktop.png","reports/production-security.latest.json","reports/production-single-tenant-create.desktop.png","reports/production-single-tenant-separation.desktop.png","reports/public-file-acceptance.latest.json","reports/public-file-integration.latest.json","reports/runtime-acceptance.latest.json","reports/runtime-governance.latest.json","reports/schema-sync.latest.json","reports/script-acceptance.latest.json","reports/script-generation-queue.png","reports/sidecar-tests.latest.json","reports/storyboard-asset-dialog.desktop.png","reports/storyboard-asset-dialog.mobile.png","reports/storyboard-director-guard.latest.json","reports/storyboard-frame-dialog.desktop.first.png","reports/storyboard-frame-dialog.desktop.last.png","reports/storyboard-frame-dialog.mobile.first.png","reports/storyboard-frame-dialog.mobile.last.png","reports/storyboard-frame-dialog.mobile.saved.png","reports/template-making.1135.png","reports/template-making.1280.png","reports/template-making.1440.png","reports/template-making.390.png","reports/template-making.768.png","reports/template-preview.edit.png","reports/template-preview.templates.png","reports/template-save-ready.APPLICATION.png","reports/template-save-ready.GENERAL.png","reports/template-save-ready.SCENE.png","reports/template-saved-master.APPLICATION.png","reports/template-saved-master.GENERAL.png","reports/template-saved-master.SCENE.png","reports/template-types.desktop.png","reports/template-types.mobile.png","reports/toolchain.latest.json","reports/ui-acceptance.desktop.png","reports/ui-acceptance.draft-import.png","reports/ui-acceptance.latest.json","reports/ui-acceptance.mobile.png","reports/ui-acceptance.production.png","reports/ux-edit.desktop.png","reports/ux-home.desktop.png","reports/ux-home.mobile.png","reports/ux-intake.desktop.png","reports/validation-source.latest.json","reports/video-batch-paused.mobile.png","reports/video-regenerate-2026-09-08/desktop.png","reports/video-regenerate-2026-09-08/mobile.png"]},{"id":"5d8b4f3f71d20fe89b1a02f35861d8d8218d3b3b","message":"docs: record the image-creation UI/UX round\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/5d8b4f3f71d20fe89b1a02f35861d8d8218d3b3b","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T16:09:08-07:00","added":["reports/uiux-workbench-2026-09-09/screens/after2-desktop-create.jpg","reports/uiux-workbench-2026-09-09/screens/after2-mobile-create.jpg","reports/uiux-workbench-2026-09-09/screens/before-desktop-create.jpg","reports/uiux-workbench-2026-09-09/screens/before-mobile-create.jpg"],"removed":["reports/uiux-workbench-2026-09-09/screens/after-desktop-create.jpg"],"modified":["docs/governance/log/2026-09-09-uiux-workbench.md","reports/uiux-workbench-2026-09-09/README.md"]},{"id":"eff5a2ce92dd6cf439fff105f966860b696b8f5d","message":"feat(web): tidy the image-creation page and the mobile context row\n\nRound two of the page-by-page UI/UX pass (图片创作):\n\n- Every visible text on the page is at least 12px; muted copy uses\n text-bark instead of text-stone / text-fog / ink-40..55 (CreateStudio,\n CreativeSupportSkills, model-catalog, RecoveryHint).\n- Model ids (wan2.7-image-pro, Qwen-Image-2512, ...) leave the visible\n UI: catalog cards, the online-model buttons, the prompt-model select,\n the results header and the \"改用 …\" recovery action show the catalog\n label only; the id moves into the control's title.\n- Mobile targets: creation-type, application-type, prompt chips, model\n cards, prompt-model select, brand-tone switch, seed, recommended\n aspect, \"查看设置\" and RecoveryHint actions are all at least 44px on\n small screens; the prompt-optimise button is 28px on desktop.\n- Sticky generate bar padding trimmed on mobile.\n- Shell: the mobile \"自由创作 / 生产任务\" switch moves into the context\n row next to \"全部入口\" instead of its own 48px band, so every creative\n page on a phone gains that space (test ids unchanged).\n\nCo-Authored-By: Claude Fable 5.1 \u003cnoreply@anthropic.com\u003e\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/eff5a2ce92dd6cf439fff105f966860b696b8f5d","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T16:08:15-07:00","added":[],"removed":[],"modified":["apps/web/src/components/material-factory/CreateStudio.tsx","apps/web/src/components/material-factory/CreativeSupportSkills.tsx","apps/web/src/components/material-factory/FactoryShell.tsx","apps/web/src/components/material-factory/factory-shell.module.css","apps/web/src/components/material-factory/model-catalog.tsx","apps/web/src/components/material-factory/ui.tsx"]}],"total_commits":0,"head_commit":{"id":"1a7c5f29eaf4aa40626df8e70173d624f758ccff","message":"Merge branch 'main' into feat/uiux-workbench-20260909\n\n# Conflicts:\n#\treports/contract-consumers.latest.json\n#\treports/governance-docs.latest.json\n#\treports/governance.latest.json\n#\treports/material-review-concurrency-guard.latest.json\n#\treports/migrations.latest.json\n#\treports/module-boundary.latest.json\n#\treports/naming.latest.json\n#\treports/order-concurrency-guard.latest.json\n#\treports/production-security.latest.json\n#\treports/public-file-integration.latest.json\n#\treports/runtime-governance.latest.json\n#\treports/schema-sync.latest.json\n#\treports/storyboard-director-guard.latest.json\n#\treports/toolchain.latest.json\n#\treports/validation-source.latest.json\n","url":"https://gitea.g-hi.com/luoanwu/image-generation/commit/1a7c5f29eaf4aa40626df8e70173d624f758ccff","author":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"committer":{"name":"juhailaoluo pro","email":"hillao@juhailaoluodeMacBook-Pro.local","username":""},"verification":null,"timestamp":"2026-09-09T16:25:52-07:00","added":["docs/releases/2026-09-09-cost-creative1.md"],"removed":[],"modified":["CLAUDE.md","docs/releases/current.md"]},"repository":{"id":57,"owner":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"law@g-hi.com","avatar_url":"https://gitea.g-hi.com/avatar/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":"image-generation","full_name":"luoanwu/image-generation","description":"","empty":false,"private":false,"fork":false,"template":false,"mirror":false,"size":826048,"language":"","languages_url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation/languages","html_url":"https://gitea.g-hi.com/luoanwu/image-generation","url":"https://gitea.g-hi.com/api/v1/repos/luoanwu/image-generation","link":"","ssh_url":"git@gitea.g-hi.com:luoanwu/image-generation.git","clone_url":"https://gitea.g-hi.com/luoanwu/image-generation.git","original_url":"","website":"","stars_count":0,"forks_count":0,"watchers_count":1,"branch_count":8,"open_issues_count":0,"open_pr_counter":1,"release_counter":0,"default_branch":"main","archived":false,"created_at":"2026-07-06T17:04:22+08:00","updated_at":"2026-09-10T07:20:09+08:00","archived_at":"1970-01-01T08:00:00+08:00","permissions":{"admin":true,"push":true,"pull":true},"has_code":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,"allow_manual_merge":false,"autodetect_manual_merge":false,"default_delete_branch_after_merge":false,"default_merge_style":"merge","default_allow_maintainer_edit":true,"avatar_url":"","internal":false,"mirror_interval":"","object_format_name":"sha1","mirror_updated":"0001-01-01T00:00:00Z","topics":[],"licenses":[]},"pusher":{"id":5,"login":"luoanwu","login_name":"","source_id":0,"full_name":"","email":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/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":"5+luoanwu@noreply.localhost","avatar_url":"https://gitea.g-hi.com/avatar/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"}}... |