agentscope-ai / agentscope-ai/QwenPaw
[Bug]: Creator hides prompt-sync blocker behind GATED and lacks manual image acceptance
- Ngôn ngữ chính
- Python
- Star
- 34.9k
- Fork
- 3.1k
- Merge trung bình
- 1 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 225
Mô tả
## QwenPaw Version
QwenPaw **2.2.1b1** (Console version), Creator plugin **1.2.0** (installed manifest).
## Description
Creator cannot proceed from selected scene images to storyboard generation (分镜图) after edits to the plan and prompts. The production tool reports only `BLOCKED / GATED`, hiding the actual prompt-synchronization requirement. The agent repeatedly attributes the block to a text-review timeout/cooldown and promises to retry later, although the request has ended without being queued.
As a user, I want to choose an existing scene image and explicitly accept it despite an automated creative-review decision. I should also be able to confirm the existing plan/prompts when I want to keep them, without requiring another AI rewrite or manually editing runtime metadata.
**Related PR(s):** None established by this investigation.
**Security considerations:** No security vulnerability identified. Logs below omit credentials and project content. A creative-review override should preserve technical validation and separate paid-generation authorization.
## Component(s) Affected
- [x] Core / Backend (app, agents, config, providers, utils, local_models)
- [x] Console (frontend web UI)
- [ ] Channels (DingTalk, Feishu, QQ, Discord, iMessage, etc.)
- [ ] Skills
- [ ] CLI
- [ ] Documentation (website)
- [ ] Tests
- [ ] CI/CD
- [ ] Scripts / Deploy
Specifically: `qwenpaw-creator` production admission, prompt synchronization, and scene-image selection UI.
## Environment
- **QwenPaw version:** 2.2.1b1; Creator 1.2.0
- **OS:** macOS (exact version omitted)
- **Install method:** Local installation; original installer method not verified
- **Python version:** Omitted
- **Image model:** DashScope `qwen-image-3.0-pro`
- **Video model:** `wan3.0-video-prime`
- **Workflow:** Existing R2V project with selected visual assets and a single 30-second element
## Steps to Reproduce
Observed sequence in an existing project; a clean-project end-to-end reproduction has not yet been run:
1. Generate scene images and select a version. Earlier versions may have received automated `revise` findings.
2. Edit the R2V plan, storyboard prompt, video prompt, and/or reference bindings, leaving the saved prompt-synchronization baseline out of date.
3. Ask the agent to generate the storyboard through `request_workgraph_execution`.
4. Observe a `BLOCKED / GATED` response with no specific missing-input explanation.
5. Ask the agent to retry or to keep the existing scene image. In the observed conversation, it repeatedly claimed a text-review cooldown blocked production.
6. Open the scene drawer: version previews, Edit, and Regenerate Image are available, but there is no direct “Use this image despite review” action.
## Actual vs Expected
- **Actual:** The storyboard stays gated; the agent misdiagnoses the reason, and the user has no direct creative-acceptance recovery path. Waiting for the reported cooldown does not clear prompt synchronization. A version preview is not a durable override.
- **Expected:** Return the precise gate and recovery action to both agent and UI. Allow explicit, version-bound user acceptance of an existing scene image and confirmation of current plan/prompts. These actions should not require regenerating the scene. Do not promise automatic resumption unless a retry has actually been scheduled.
## Logs / Screenshots
The latest lane image task **succeeded** before the failed storyboard requests; its output is selected on the scene variant. This rules out a still-pending request for that image as the immediate blocker. It does not establish future provider availability.
Persisted production-tool response (target identifiers abbreviated):
```json
{
"ok": false,
"status": "BLOCKED",
"items": [{
"nodeId": "storyboard:",
"targetRef": "element:",
"status": "BLOCKED",
"reason": "GATED"
}],
"summary": "尚未启动制作:1 项制作条件尚未满足。本次未创建制作任务,也未加入等待队列。条件满足后需要重新提出制作请求。"
}
```
Running the installed pure `prompt_sync_status` against the saved project returned:
```json
{
"status": "needs_confirmation",
"reason": "prompts_edited",
"changedSources": ["currentPlan", "storyboardPrompt", "videoPrompt"],
"suggestedSource": "mixed"
}
```
Installed `derive_work_graph` returned:
```text
storyboard: gated
missing: ["分镜内容与提示词待同步"]
prompt_sync_required: True
video: gated
missing: ["镜头与提示词待同步或待审阅确认"]
prompt_sync_required: True
```
**Controlled in-memory isolation:** Deep-copy the saved project and refresh only the copy's prompt-sync stamp using the installed `sync_stamp` function. With the same configured media-model names, the storyboard changes from `gated` to `ready`, with no missing inputs. No image, prompt text, or selection changes were made. The original file was verified unchanged.
This isolates the synchronization gate; it is not a recommendation to fabricate the stamp or proof that the creative texts are semantically consistent.
## Additional Notes
### Code-level findings
The findings below refer to the installed Creator 1.2.0 backend.
1. **Loss of actionable diagnostics:** The production-request handler returns only the generic blocked reason, omitting `node.missing` and `prompt_sync_required`. The work-graph admission code maps a non-ready graph node to its uppercased status (`GATED`); actual pending review gates use `WAITING_REVIEW`.
2. **Cooldown misdiagnosis:** A real text-review `TimeoutError` recorded retry-after a later retry time. However, The text-review handler clears the content blocker for unavailable review without findings, and the cooldown suppresses reviewer calls. `ready_request_context` does not consult that retry-after timestamp. It cannot clear the independent prompt-sync gate.
3. **Missing direct confirmation:** The prompt-synchronization API exposes status, model-generated proposal, and proposal acceptance, but no direct accept-current-content route.
4. **Missing image override:** The live scene drawer states “Design confirmation happens in the assistant's decision tray; edit only here.” It offers no durable “使用此图,忽略自动审阅” action.
### Suggested recovery behavior
- Expose specific gate reasons, changed sources, and an actionable recovery path.
- Add **Use this image / Accept despite review**, scoped to the exact variant/version. Atomically maintain the variant/slot selections and affected downstream references.
- Record user acceptance so stale review feedback or late repair completion cannot silently replace the chosen image.
- Add validated, concurrency-safe confirmation of current plan/prompts without requiring a model rewrite. Image acceptance alone will not resolve this project's separate prompt-sync requirement.
- Regression-test the sequence: image succeeds → plan/references change → precise sync blocker → user confirms existing content → storyboard becomes eligible without another scene-image call. Also test late review/repair results after manual acceptance.
Existing issues were checked. #7693 describes a different failure: review acceptance interrupting an in-flight image request and leaving tasks RUNNING (Creator 1.1.1). Here the latest image succeeded and the storyboard gate was reproduced directly on Creator 1.2.0.
Investigation only: no installation patch, production-state change, or paid generation was performed.
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.