合并master并保留双侧决策记录

合并 origin/master 的 UI 编辑器、GDD 审批与前端修复。

保留本分支 LLM Router、Direct 过程卡与私有路径相关实现和决策记录。

解决 decision-log 文档冲突,完整保留双方新增决策条目。
This commit is contained in:
2026-09-02 19:31:12 +08:00
39 changed files with 1824 additions and 97 deletions
@@ -410,7 +410,11 @@ export function GddApprovalCard({
const canDecide = Boolean(
pending && state.state === 'ready_for_approval' && !state.recoveryPending,
);
const decisionDisabled = !canDecide || decisionBusy || hydrateBusy;
// `hydrateBusy` only describes an in-flight background read. Once a card is rendered, the
// loaded projection remains the actionable snapshot until it explicitly reports
// `recoveryPending`; otherwise a refresh racing the first render can transiently disable an
// already-open dialog before the user has had a chance to submit it.
const decisionDisabled = !canDecide || decisionBusy;
const submitComment = () => {
// 方案 §18.2:`recoveryPending` 期间只允许重试同一 ID,不允许提交决定。触发按钮