Commit Graph

1587 Commits

Author SHA1 Message Date
lhk229 19a8fc2df0 合并最新 master 分支
Project CI / Backend tests (pull_request) Failing after 12s
Project CI / Repository checks (pull_request) Failing after 12s
Project CI / Frontend tests (pull_request) Failing after 58s
Project CI / Native shell tests (pull_request) Successful in 2m32s
带入 SpacetimeDB 2.7.0(hotfix3)工具链升级、后台灰度发布控制面恢复、
精选顺序分列瀑布流及后台素材预览统一。冲突仅三处文档:decision-log 与
pitfalls 双方条目并存,运维文档更新时间取新值。BgFilter 分支代码与部署
脚本零冲突;依赖升级后 bgfilter 46 测试全过。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 07:02:17 +00:00
lhk229 65a36e4c97 合并远端并行的 worker unit 渲染实现
Project CI / Backend tests (pull_request) Failing after 11s
Project CI / Repository checks (pull_request) Failing after 12s
Project CI / Frontend tests (pull_request) Failing after 1m12s
Project CI / Native shell tests (pull_request) Successful in 2m4s
远端 798098e06 与本地 299544719 并行修复了同一问题(deploy 原文安装
unit 覆盖自定义路径)。合并采纳远端实现为准:python3 字面量渲染(含
模板占位路径存在性校验)、install_worker_systemd_units 参数化、Jenkins
双流水线暴露并透传 CONTROLLER/BGFILTER env 参数、guardrails 门禁——
其中流水线透传补上了本地版本刻意未覆盖的传输层缺口。保留本地独有的
readyz 派生修复、connect 重连与冷启动宽限、契约文档收口;删除本地
sed 渲染实现与合并产生的重复参数定义;decision-log 双条目并存。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 06:47:27 +00:00
lhk229 732900b696 BgFilter 连接重连冷启动宽限并收口重试契约一致性
一并落地评审的三个 P2:
1. 冷启动宽限:重连配额按「本进程是否已连通过 worker」分档(AppState 级
   标记,收到任意 HTTP 响应即算)。首连前 flat 升级为完整序列 22.5s、
   complex 追加 8×5s 至约 62.5s,覆盖主机开机竞态与慢开机;首连后回落
   flat ≤1.5s / complex 22.5s 保持运行中途快速收口。档位单次调用内锁定。
2. 安全不变量测试:TCP 已 accept、未回任何 HTTP 字节即断开 → 不得发起
   第二次连接,以 mock listener accept 计数证明;另补冷启动档 flat 跨过
   超出常规配额监听空窗的集成测试。
3. 文档契约全局一致:设计摘要表 / 实施步骤 / 运维文档 / 外部生成方案 /
   编辑器专题 / 前端画布方案中的旧禁令统一改为「不重试已被 worker 接收
   的内部 RPC(连接从未建立时按 §5.1 有界重连)」;数据契约澄清计量单位
   (重连只增加连接尝试次数,不产生第二次被接收的 RPC)并写明分档配额;
   decision-log 追加 2026-07-23 决策条目(含 Windows 平台差异)并在两条
   历史更正处补指针。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 06:30:20 +00:00
kdletters b72e2163d7 恢复后台灰度发布控制面
Project CI / Frontend tests (push) Successful in 29s
Project CI / Repository checks (push) Successful in 39s
Project CI / Native shell tests (push) Successful in 2m10s
Project CI / Backend tests (push) Failing after 2m50s
恢复灰度发布导航、权限、前端契约与页面编译链
解除灰度页面对旧创作入口配置的依赖
补充路由、API、页面回归测试及当前架构文档
2026-07-23 14:23:18 +08:00
lhk229 2995447192 API 部署按参数渲染 worker systemd unit 后再安装
deploy 此前把发布产物里的三个 worker unit(bgfilter / worker@ / controller)
原文安装,unit 模板硬编码 /opt/genarrative/current 与默认 env 路径:自定义
--current-link/env 部署会覆盖 provision 渲染过的定制 unit,服务重启后指向
旧二进制并加载默认 env,可能静默发布错误版本。现安装前按部署参数执行与
provision render_*_service 同语义的替换(current 链接 + 共享 API env +
角色 env),并新增 --controller-env-file 补齐 controller 此前无法表达的
自定义 env 路径。默认参数下渲染输出与模板逐字节一致,生产现状零行为变化。
守卫测试改为断言安装后的 unit 含 fixture 自定义路径、不残留模板默认字面量。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 06:15:42 +00:00
lhk229 b93ace708c BgFilter 父侧连接失败有界重试,跨过 worker 重启窗口
主机重启 / worker 崩溃拉起期间,父侧对 127.0.0.1 worker 的 TCP 连接
失败此前直接映射 internal_error:complex(max_attempts=1)终态失败不可
自愈,flat 被迫降级。现仅对连接从未建立的失败(无副作用、天然幂等)做
有界退避重试:每轮按公式重算 maxQueueWaitMs,不突破「预算不足不发送」
不变量;complex 用完整序列(约 22.5s,覆盖 RestartSec=5s + 启动窗),
flat 只取前 2 项(≤1.5s,不侵蚀 39s fallback 预留)。收到任何 HTTP
响应(含 5xx)立即停止重试;新增 bgfilter_internal_connect_retry_total
指标。设计文档与数据契约同步刻出「已建立连接后不重试」禁令的精确例外。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 06:05:47 +00:00
kdletters a7d492eea6 升级 SpacetimeDB 至 2.7.0
Project CI / Frontend tests (push) Successful in 33s
Project CI / Repository checks (push) Successful in 48s
Project CI / Native shell tests (push) Successful in 2m21s
Project CI / Backend tests (push) Successful in 3m43s
统一 Rust 依赖、CLI、容器与部署产物到 2.7.0 hotfix3
重新生成 Rust bindings 并接入 2.7 capability traits
补齐本地 dev 与生产 provision 的 hotfix3 commit 门禁
更新 SpacetimeDB skills、运维文档与 MCP 验证口径
2026-07-23 13:47:32 +08:00
kdletters 798098e064 修复生产发布 worker unit 路径渲染
Project CI / Repository checks (pull_request) Failing after 11s
Project CI / Backend tests (pull_request) Failing after 11s
Project CI / Frontend tests (pull_request) Successful in 29s
Project CI / Native shell tests (pull_request) Successful in 1m52s
按部署参数渲染 BgFilter、外部生成 worker 与 controller unit
补齐 controller 环境文件参数及 Jenkins 全链路透传
新增安装后 unit 内容与流水线参数回归门禁
同步生产运维文档和共享项目记忆
2026-07-23 12:15:28 +08:00
lhk229 94f005c031 补齐 Gitea CI 行为检查
将 BgFilter smoke harness 接入 Frontend tests。

将生产健康巡检、API 发布与部署行为检查接入 CI。

同步更新开发运维文档与共享工作流。
2026-07-23 04:13:48 +00:00
lhk229 ec4fd552e3 为 complex 增加独立 BgFilter 熔断
为 flat 与 complex 分别维护熔断状态并补充双模式指标。

将统一熔断冷却默认值从五分钟降为两分钟。

为部署和 Provision 增加旧默认值定向迁移及门禁测试。

补充熔断状态隔离测试并同步架构、运维与项目决策文档。
2026-07-22 14:39:41 +00:00
lhk229 835fe20c63 修复 BgFilter 内部 Token 单段校验
统一校验 BgFilter 内部 Token 并限制启动角色

部署与 provision 预检拒绝内部空白和多行 Token

补充定向测试、运维门禁与架构文档
2026-07-22 14:15:13 +00:00
kdletters 080dca8c4e 实现精选顺序分列瀑布流
Project CI / Repository checks (push) Successful in 46s
Project CI / Frontend tests (push) Successful in 49s
Project CI / Native shell tests (push) Successful in 2m35s
Project CI / Backend tests (push) Successful in 3m7s
按容器宽度循环分配精选卡片到三列、两列或单列
使用 ResizeObserver 动态重排并保留 Grid 安全回退
补充布局临界值、分页追加和样式回归测试
同步创作主页文档与项目共享决策
2026-07-22 20:30:53 +08:00
lhk229 f5db8f4c1e 合并最新 master
Project CI / Frontend tests (pull_request) Successful in 29s
Project CI / Repository checks (pull_request) Successful in 42s
Project CI / Native shell tests (pull_request) Successful in 2m9s
Project CI / Backend tests (pull_request) Successful in 2m47s
2026-07-22 12:21:57 +00:00
lhk229 070f8f8fa4 修复 BgFilter 发布窗口配置漂移
发布窗口内 callBudget 漂移改为告警计数并按 Worker 当前预算执行

Provision 验活地址改为从已校验的自定义端口派生

同步 BgFilter 调度方案与后端数据契约文档
2026-07-22 12:10:40 +00:00
kdletters 5d6a426013 统一后台精选审核素材预览
抽取后台素材媒体共享组件并统一懒换签与限流重试
为精选审核补充列表和详情中的素材预览交互
透传精选素材缩略图字段并覆盖历史 OSS 地址回归
同步后台预览数据契约与排障文档
2026-07-22 18:49:09 +08:00
kdletters 2c134d87da 修复精选活动卡图片读取权限
补齐后台活动卡图片上传确认与私有资产登记链路
为启用活动卡当前对象键派生受限匿名读取授权
覆盖禁用换图越目录及历史未登记对象回归场景
同步后端架构创作主页与项目排障文档
2026-07-22 18:25:52 +08:00
lhk229 733fbb55d9 合并最新 master 分支
Project CI / Repository checks (pull_request) Failing after 23s
Project CI / Frontend tests (pull_request) Successful in 29s
Project CI / Native shell tests (pull_request) Successful in 2m32s
Project CI / Backend tests (pull_request) Successful in 3m27s
2026-07-22 10:06:45 +00:00
kdletters 9023d6df1e 稳定画布素材删除异步测试
Project CI / Backend tests (pull_request) Successful in 3m15s
Project CI / Repository checks (pull_request) Successful in 1m5s
Project CI / Frontend tests (pull_request) Successful in 43s
Project CI / Native shell tests (pull_request) Successful in 3m18s
逐次等待带 objectKey 的素材完成换签并渲染画布图片
记录画布签名图片测试的异步等待约定
2026-07-22 18:06:10 +08:00
k88936 9bb4942ae7 Editor agent 右键菜单支持复制, 引用,下载 (#95)
Project CI / Repository checks (push) Successful in 1m21s
Project CI / Frontend tests (push) Successful in 31s
Project CI / Native shell tests (push) Successful in 2m25s
Project CI / Backend tests (push) Successful in 3m7s
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/95
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-07-22 18:00:27 +08:00
lhk229 2f8019c901 重构 BgFilter 排队与调用双预算
Project CI / Native shell tests (pull_request) Successful in 7m50s
Project CI / Frontend tests (pull_request) Successful in 1m46s
Project CI / Repository checks (pull_request) Failing after 6m46s
Project CI / Backend tests (pull_request) Failing after 6m6s
按 N 与单图估时公式化派生 provider attempt、调用预算和队列等待上限

将内部协议拆分为 maxQueueWaitMs 与 callBudgetMs,并补齐停机、熔断和审计语义

同步部署配置、运维门禁、smoke 测试及权威文档
2026-07-22 08:41:59 +00:00
kdletters f4f7d8ac20 预热Gitea CI项目依赖缓存
Project CI / Repository checks (pull_request) Successful in 42s
Project CI / Frontend tests (pull_request) Successful in 1m6s
Project CI / Native shell tests (pull_request) Successful in 3m37s
Project CI / Backend tests (pull_request) Successful in 3m27s
将npm与Rust依赖下载缓存预热到固定CI镜像
改为直接从Gitea checkout并增加网络重试
收窄镜像构建上下文并补齐离线与运行时校验
同步Runner切换边界和运维文档
2026-07-22 15:44:40 +08:00
kdletters 2e02c28d0a 预构建Gitea CI工具链镜像
Project CI / Frontend tests (pull_request) Failing after 1m38s
Project CI / Repository checks (pull_request) Failing after 1m38s
Project CI / Native shell tests (pull_request) Failing after 13s
Project CI / Backend tests (pull_request) Failing after 3m23s
固定Node、Rust、Chrome与系统依赖并生成内容寻址镜像
四个CI任务改用genarrative-ci并保留独立npm ci
补充镜像构建装载导出和运行时沙箱校验脚本
同步开发运维文档与项目共享记忆
2026-07-22 14:58:05 +08:00
lhk229 27f84fc6a7 完善 BgFilter 失败审计与权威文档
Project CI / Frontend tests (pull_request) Successful in 1m43s
Project CI / Backend tests (pull_request) Successful in 7m28s
Project CI / Repository checks (pull_request) Failing after 2m26s
Project CI / Native shell tests (pull_request) Successful in 6m19s
补充已发出 provider 请求的失败审计判定,并由 shutdown tracker 排空异步审计任务。

统一父流程、BgFilter worker、重试、超时、fallback 与结果持久化的架构和编辑器文档口径。

修正本地 dev 进程角色、live smoke 端口、OTEL identity、journal 与端口路由 skill。

明确当前容器拓扑不包含 BgFilter worker,仅覆盖非 BgFilter 路径和 unsupported queue smoke。
2026-07-22 04:24:11 +00:00
kdletters 52ade75007 稳定Gitea Runner镜像启动
Runner固定镜像改为缓存优先并保留digest验真规则
开发运维和共享流程同步force_pull配置与升级步骤
踩坑记录补充registry TLS超时的根因与验证方法
2026-07-22 11:52:15 +08:00
lhk229 26ebb527ea 合并最新 master 分支
Project CI / Frontend tests (pull_request) Failing after 21s
Project CI / Repository checks (pull_request) Failing after 21s
Project CI / Backend tests (pull_request) Failing after 21s
Project CI / Native shell tests (pull_request) Failing after 21s
同步 Gitea CI 依赖安装稳定性调整。
保留 BgFilter 本地双进程开发陷阱,并融合 Gitea runner 安全规则。
更新开发流程与本地运维文档。
2026-07-22 02:38:05 +00:00
lhk229 14721ce25e 合并最新 master 分支
保留 master 的画布交互、Agent、VectorEngine 与原生 CI 更新。
解决角色动画测试和项目决策日志冲突,不恢复按帧数放大 BgFilter 超时的旧逻辑。
同步修正融合文档中的 BgFilter worker、N/Q、重试与父侧降级边界。
2026-07-21 14:37:15 +00:00
kdletters ae9502d9ed 稳定Gitea CI依赖安装
Project CI / Frontend tests (pull_request) Successful in 1m59s
Project CI / Repository checks (pull_request) Successful in 2m55s
Project CI / Native shell tests (pull_request) Successful in 6m38s
Project CI / Backend tests (pull_request) Successful in 7m37s
Project CI / Frontend tests (push) Successful in 1m44s
Project CI / Repository checks (push) Successful in 2m37s
Project CI / Native shell tests (push) Successful in 7m3s
Project CI / Backend tests (push) Successful in 8m5s
保留隔离 runner 的受控代理环境
为 Cargo 与 rustup 下载增加有界重试
记录 Runner systempaths 修补和真实 job 验收口径
2026-07-21 22:23:49 +08:00
lhk229 7ea7dce395 补充BgFilter全进程与真实链路冒烟验证
新增32/40/48并发、五类故障与harness自测。
新增真实OSS和BgFilter契约冒烟并严格清理临时对象。
补充本地运行方式、凭据边界与staging验收范围。
2026-07-21 14:03:05 +00:00
k88936 29369e6376 fix: 画布鼠标/触摸板可以上下滚动,无法左右滚动 (#100)
Project CI / Frontend tests (push) Successful in 1m39s
Project CI / Repository checks (push) Successful in 2m38s
Project CI / Native shell tests (push) Successful in 5m25s
Project CI / Backend tests (push) Failing after 5m27s
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/100
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-07-21 20:50:03 +08:00
lhk229 566f2f2194 落地 BgFilter 单实例受限资源 Worker
新增私有 BgFilter worker,提供内部鉴权、并发限流、超时、顺序重试、flat 熔断和图片校验。
父生成流程改为通过内部二进制 HTTP 原地等待,并保留 flat 降级与 complex 失败语义。
接入本地开发、systemd、生产部署、Provision、健康巡检和配置漂移门禁。
补充动画、部署与运维测试、Linux fixture 隔离以及对应架构文档。
2026-07-21 12:05:27 +00:00
kdletters 31a93c6842 补齐Gitea测试门禁
Project CI / Repository checks (push) Successful in 2m9s
Project CI / Frontend tests (push) Successful in 1m22s
Project CI / Backend tests (push) Successful in 7m25s
Project CI / Native shell tests (push) Successful in 5m56s
拆分前端后端与原生壳测试任务
接入server-rs正式workspace全量测试
修正过期Rust断言和Vitest遗漏路径
将AI游戏创作分支纳入CI触发范围
2026-07-21 18:12:43 +08:00
kdletters 7e58fd2195 接入Gitea项目检查门禁
Project CI / Repository checks (push) Successful in 3m56s
Project CI / Backend checks (push) Successful in 3m14s
Project CI / Native shell checks (push) Successful in 4m13s
新增 master 推送、PR 和手工触发的三路项目检查工作流
收紧 PR 基线、只读权限、action 固定版本与依赖锁漂移检查
补充 Gitea 版本、隔离 runner 和 required context 运维说明
2026-07-21 17:15:57 +08:00
kdletters 6bed37542c 调整 VectorEngine 图片模型兜底顺序
统一 gpt-image-2 首发并在符合条件的失败后切换 gpt-image-2-c
保留总尝试预算、worker deadline 与首选失败审计
补齐响应图片校验、脚本兜底和回归测试
同步后端架构、开发运维和项目共享记忆文档
2026-07-21 17:06:39 +08:00
kdletters 7072e52a25 收口美术 Agent 整体超时预算
为消息规划链路增加 18 分钟总 deadline。
修正 LLM 重试响应体错误的 attempt 计数。
统一配置、定价失败中文文案并补齐测试文档。
2026-07-21 16:44:46 +08:00
kdletters 48c9ee2fae 优化美术 Agent 长等待提示与超时处理
将 120 秒硬超时改为请求存活时的耐心等待提示。
收口 provider 安全上限、有限重试和明确失败错误。
补齐等待互斥、计时清理、前后端测试及契约文档。
2026-07-21 16:12:17 +08:00
lhk229 8bdc728fd3 Fix/padding (#96)
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/96
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-07-21 16:11:22 +08:00
lhk229 a51b625101 补充 BgFilter 单实例同步调度方案
新增同步内部 HTTP 原地等待版架构方案,明确并发、超时、熔断与降级边界

补充外部生成 Worker 化方案和共享决策日志中的受限资源调度约定

更新文档目录并关联 BgFilter 专题方案
2026-07-21 08:09:48 +00:00
lhk229 55f71e13fc 合并最新 master 分支
同步 SpacetimeDB schema guard 基线扫描修复。

同步相关测试、排障记忆与融合方案文档。
2026-07-21 06:43:16 +00:00
lhk229 8143726095 决策日志边界行直接改为行为级表述
本条决策与其补充均为本分支新增,无需保留旧文再追加更正:
边界行「不修改 contain_rgba_image」改写为「不改变最终帧的 RGBA/padding 语义与透明帧格式」,
并删除补充行中为此加的更正说明

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 06:33:14 +00:00
lhk229 e312f1632b 更正决策日志中 contain_rgba_image 的边界表述
在 2026-07-21 补充行注明该函数后续重构(共享 contain 计算、同尺寸跳过重采样)但输出语义不变,
「不修改 contain_rgba_image」应理解为「不改变最终帧的 RGBA/padding 语义」

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 05:59:09 +00:00
kdletters 8ed0e6ffa8 修复 SpacetimeDB schema guard 基线扫描误报
统一当前工作树与基线提交按 Cargo lib.path 扫描可达模块
补充保留旧源码误报与真实 accessor 重复回归测试
更新旧创作模板退役方案和项目排障记忆
2026-07-21 13:57:10 +08:00
lhk229 7831a23956 补记角色动作抽帧含 alpha 先白底合成的抠图输入契约
决策日志、数据契约、画布接入方案和角色形象入口设计四份文档同步最终实现:
解码帧携带 Alpha 时必须先按白底合成再转 RGB8,禁止直接丢弃 Alpha,
共享 FFmpeg 抽帧命令不固定 -pix_fmt,合成职责只在 BgFilter 输入准备阶段

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 05:55:27 +00:00
lhk229 0150837d69 合并 master 并保留角色动作抠图修复
保留 master 的单次 FFmpeg filter graph 批量抽帧。

保留 BgFilter 前 RGB8 无补边输入与抠图后 RGBA8 透明补边。

合并并保留对应权威文档规则。
2026-07-20 13:58:17 +00:00
kdletters 2f9ad4b11c 合并图片画布结构化持久化
引入画布图层与生成器结构化存储、revision CAS 保存及迁移回滚流程
补齐历史画布资源修复脚本、SpacetimeDB schema、迁移和生成绑定
前端接入串行保存队列并保留 2MiB 旧布局兼容回退
优化角色动画单进程批量抽帧并同步 OpenAPI、运维与项目文档
同步 active mapper 的 V2 画布保存契约,保证 master 后端可编译
2026-07-20 21:34:05 +08:00
lhk229 41f578f0ac 修复角色动作抠图前透明补边
动作视频帧在抠图前改为 RGB8 等比缩放且不补边

抠图完成后保留 RGBA8 最终尺寸透明补边

补充像素回归测试并同步权威文档与长期决策
2026-07-20 13:02:59 +00:00
kdletters f748dc72c3 收口图片生成任务超时预算
- 将四类 VectorEngine 图片任务纳入长任务预算并预留终态写回窗口
- 通过请求上下文传递绝对截止时间并约束发送重试与图片下载
- 允许显式下调单次请求超时并补齐预算回归测试
- 同步外部生成 Worker 运维文档与项目记忆
2026-07-20 20:57:34 +08:00
kdletters 1d17698619 优化角色动画批量抽帧
使用单个FFmpeg filter graph批量输出32、40或48帧
保留精确采样时刻和尾帧安全步长
补充整批缺帧诊断与真实短视频回归测试
同步角色动画设计、决策记录和排障说明
2026-07-20 20:57:11 +08:00
kdletters 06c12f40b6 修复画板 Portal 菜单主题继承
新增画板 Portal 主题桥接并同步亮暗主题
让编辑器根节点与 Portal 菜单共享完整品牌 Token
补充静音开关、角色动画与样式契约回归测试
同步图片画布技术方案和 Portal 排障记忆
2026-07-20 20:56:36 +08:00
kdletters b49bf9c984 结构化图片画布持久化并补充历史资源修复
将旧布局上限统一提升至2MiB并接入revision CAS保存
新增画布图层、生成对话框和迁移状态结构化存储
新增migration operator保护的回填、激活和回滚脚本
新增历史图片映射及音频资源恢复的定向dry-run/apply流程
补齐前端保存队列、OpenAPI、Bindings、发布归档与回归测试
2026-07-20 20:45:15 +08:00
kdletters f9e6ae40db 合并 master 最新 OSS 上传优化
合入 origin/master 的动画生成 OSS 上传优化
保留现役编辑器 Agent LLM client 与退役隔离边界
保留角色动画 OSS 客户端复用与并发限制
2026-07-20 20:08:55 +08:00