mirror of
https://github.com/lobehub/lobehub.git
synced 2026-09-20 04:56:13 +08:00
185d3c4858
* 🐛 fix(goal): lay manager plans out round by round The main Agent plan had no dependency field and every planned task was wired only to the problem node, so a multi-round Goal rendered as one flat row. Plans now accept dependsOn (existing task node IDs or earlier indexes in the same plan), written as depends_on edges after validating every reference; the terminal acceptance Task depends on the delivered leaf Tasks so it renders last. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * 🐛 fix(task): title a run handoff with its result, not a status The handoff title becomes the Goal finding title, and titles like 'Completed X' told the reader nothing about what was found. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * 🐛 fix(document): credit documents written by lh doc to the agent run Agents that write reports through lh doc create/edit never passed a tool runtime, so no document Work was registered and a Goal's deliverables stayed empty. The CLI now sends LOBEHUB_OPERATION_ID and the document router credits the write to the run's root operation when the operation is owned and running. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * 🐛 fix(goal): create the Goal acceptance node and its links atomically The acceptance node and its decomposes/depends_on edges were written in separate transactions. An interruption between them left the node detached for good, because no later tick comes back to link an existing node. They now commit in one transaction, so a failure rolls the node back and the next tick retries. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * ✨ feat(goal): show the final acceptance as a module awaiting sign-off The terminal Goal acceptance row only carried a small status chip, so the owner could not tell a delivery awaiting sign-off from one that failed, and the final report was out of reach. The row now states the acceptance itself (awaiting your acceptance / did not pass / in progress / accepted), previews the latest acceptance report under it (also under a gate opened on that acceptance), and opens the full report in the side panel. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * 🐛 fix(goal): show the final acceptance report only once the goal ran through The report view appeared on a final acceptance that was still lost, retrying or parked on a gate, next to a ledger of failed attempts. It now renders only when the acceptance task is resolved and its latest round passed (awaiting sign-off) or was accepted; every other state keeps the ordinary row. Drops the gate-attached report card and the copy for states that no longer render. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * 🐛 fix(goal): preview the acceptance task delivery when the round wrote no report A final acceptance judged by the verifier agent settles without a verify report, so a finished Goal showed only a placeholder. The preview now falls back to the document the acceptance task registered, then to its newest finding, and opens that in the side panel. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * 💄 feat(goal): replace the task list with the final acceptance document Once the goal's final acceptance finished and passed, nothing is left to advance, so the whole current-task list gives way to the acceptance document: its title, a content preview and the sign-off action, with the full text in the side panel. Until then the list is unchanged. The preview now carries the full report text, the document body, or the delivery finding. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * 🐛 fix(goal): preview the acceptance report, not the task delivery The final acceptance card replacing the task list previewed the acceptance Task's own delivery when no round wrote a report. That is the product being accepted, not the judgment the owner signs off on. Read the report the round wrote, else each check's verdict and reasoning from the latest round, and open that round's verify report in the Portal. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * 🐛 fix(goal): show the goal's final document in place of the task list The finished Goal replaced its task list with the acceptance report, while the owner opens a finished Goal to read what it produced. Show the newest document the work registered as a deliverable instead (preferring the work over the acceptance task), preview its content, and open the document itself in the Portal. Goals that left no document keep the list. Drops the report helpers and their now-unused copy. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>