Files
pikasTech-unidesk/docs/MDTODO/selfmedia-production-delivery.md
T
2026-07-15 10:53:22 +02:00

18 KiB
Raw Blame History

R1 [in_progress]

打通 selfmedia WebTerm 在 NC01 的纯自动生产交付:以 config/selfmedia.yaml 与 platform-infra owning YAML 为唯一真相,修复 GitHub→Gitea mirror→PaC/Tekton→GitOps/Argo 的自动触发与可见性,使合并 pikainc/selfmedia/master 后无需人工触发即可构建并发布;保留零 RBAC runtime、双 PVC、YAML-first Secret、NetworkPolicy、公网 IP 152.53.229.148:4317,禁止用手工 PipelineRun、Argo sync/refresh、rollout 或 cutover 代替自动链路,完成任务后将详细报告写入任务报告

R1.1 [in_progress]

以 YAML-first 为 selfmedia-nc01 增加仓库级 GitHub authority:使用独立 sourceRef 提供 pikainc/selfmedia 私有仓库 Contents Read 与 Webhooks Read/Write 权限,校验权限/Secret presence 与脱敏 fingerprint;不扩大全局 gh_token.txt、不向 Codex 下发、不手工触发 PaC,待凭据到位后仅观察 hook reconciler 与自动交付收敛,并将详细报告写入任务报告,完成任务后将详细报告写入任务报告

R1.2 [completed]

有界恢复 NC01 AgentRun manager 受控代理可见性:定位连续 agentrun-proxy-exec-failed,只允许检查并恢复既有 manager.baseUrl、lane service proxy 与授权 presence,不打印凭据,不修改 Artificer 主线源码,不新增安全围栏;恢复后用原始 agentrun events/logs 入口验证并写任务报告,完成任务后将详细报告写入任务报告

R1.3 [completed]

重新分发用户更新后的 SelfMedia 管理员凭据,并将 owning YAML、Secret sync/status、自动交付与公网鉴权验收最短路径沉淀到 unidesk-selfmedia skill;不得读取或输出凭据值,不得影响其他仓库 token 选择,完成任务后将详细报告写入任务报告

R2 [completed]

依据 UniDesk #2006 优化 selfmedia-nc01 PaC 流水线的 env reuse 与依赖缓存:由 owning YAML、lockfile 和 source artifact 生成环境身份,依赖不变时复用并披露 hit/miss 与阶段耗时,依赖变化时正确失效;通过正常 SELFMEDIA PR merge 自动交付验收,保持 commit-pinned artifact、GitOps/Argo、runtime health 和单一 source authority,完成任务后将详细报告写入任务报告

R3 [in_progress]

依据 UniDesk #2007 为 pikainc/selfmedia release 分支建立独立生产 PaC/GitOps 流水线:master 保持开发 consumerrelease 精确驱动独立生产 namespace、Pipeline、GitOps branch/Application、runtime/PVC/Secret 与 YAML-first 公网端口;禁止 branch follower、手工同步和共享可写状态,以正常 release PR merge 验收生产公网入口、登录、digest 与 health,完成任务后将详细报告写入任务报告

R3.1 [completed]

按用户最新要求将非选中 consumer 的全局配置一致性错误降级为结构化 non-blocking warning,避免开发 source-artifact/状态/交付被生产配置阻塞;当前选中 target/consumer 的字段、权限、ownership 与安全校验仍 fail-closed,并由定向测试证明两类边界,完成任务后将详细报告写入任务报告

R3.2 [completed]

依据 UniDesk #2052 修复 PaC 在 expectedRevision 与 observedRevision 完全相同时仍因 owning Git fetch 失败误判 relation=unknown:相同 revision 直接判定 exact,额外 fetch 失败仅输出 blocking=false warning,保持真实不一致和 mutation target 安全边界;用独立 worktree/PR 和定向 evaluator/source-artifact/CLI 验证收口,完成任务后将详细报告写入任务报告

R3.3 [completed]

依据 SELFMEDIA #36 修复生产期次 prod-webterm-20260714174507 在 voice 阶段因 utterance-story-04-07 含 Kokoro/Misaki 无法发音字符而失败:读取真实文本与 phoneme 定位字符,在既有 TTS 归一化职责内做最小修复并增加定向测试;先用 step run voice 单步验证,release PR 正常自动交付后从 voice 续跑至 inspect,不重跑已成功阶段,再将同一修复回补 master 并完成公网产物验收,完成任务后将详细报告写入任务报告

R4 [in_progress]

依据用户最新要求为 SELFMEDIA 自动交付增加 120 秒端到端预算可见性并继续优化 env reuse:超过 owning YAML 阈值只输出 blocking=false、mutation=false 的结构化 warning 与 env reuse hint,不能阻断 PipelineRun、GitOps/Argo、runtime 或 health;针对当前 ENV_REUSE=hit 但 imageBuild 仍为 181-184 秒、端到端为 203-210 秒的事实,定位真实耗时并通过正常 master/release PR 自动交付将流水线优先压到 120 秒预算内,完成任务后将详细报告写入任务报告

R4.1 [completed]

依据 UniDesk #2064 在 owning YAML 声明 120 秒自动端到端预算;交付超过阈值时在 delivery-timing 与适用状态投影中输出 blocking=false、mutation=false 的 typed warning 和 env reuse 优化 hint,120 秒内不报警、时间证据不完整保持 partial,任何 warning 不得阻断业务滚动,完成任务后将详细报告写入任务报告

R4.2 [completed]

依据 UniDesk #2065 对 SELFMEDIA 已 ENV_REUSE=hit 但 imageBuild 181-184 秒的问题做目标侧阶段定位,优化依赖、模型/工具层和 BuildKit/cache 复用且保持身份变化正确失效;通过正常 master/release PR merge 验收端到端预算、digest、Argo/runtime health 与 exact verifier,完成任务后将详细报告写入任务报告

R5 [completed]

依据用户最新要求改进 SELFMEDIA 开发集群 Web 工厂:所有用户可见页面全量中文化;每一期和资源提供可刷新恢复的 RESTful 深链,切期时 URL、数据和加载状态严格同步并防止乱序响应覆盖;尽可能提供期次、文稿、来源、时间轴、文章、场景、图片、TTS、视频参数和单步重跑的手动编辑能力,与 WebTerm/CLI 共享同一 edition/resource 真相。全部只合并 master 并在测试集群验收,禁止发布 release、生产 namespace 或公网 4319,完成任务后将详细报告写入任务报告

R5.1 [completed]

依据 SELFMEDIA #41 将所有用户可见页面、按钮、状态、空态、错误、确认框、终端工具栏和辅助文本统一为中文;技术字段、命令和品牌名保留时补中文语义,建立可审计文案结构和静态/浏览器验证,保持紧凑工业风,只上线 master 测试集群,完成任务后将详细报告写入任务报告

R5.2 [completed]

依据 SELFMEDIA #40 为每一期和资源建立可复制、刷新恢复、前进后退一致的 RESTful 深链;切期/切资源时显示目标期次中文加载态,使用请求 identity/abort 防止乱序覆盖,无效深链显示中文 not-found,并在 master 测试集群完成快速切期和慢请求验证,完成任务后将详细报告写入任务报告

R5.3 [completed]

依据 SELFMEDIA #39 增强 Web 手动编辑工作台,首批覆盖期次元数据、选题、文稿、来源、时间轴、微信公众号文章、场景文本/图片/缩放、TTS 与视频参数;保存和冲突状态中文可见,复用同一 API/CLI source of truth,卡片独立运行按钮与确认框不变,只上线 master 测试集群,完成任务后将详细报告写入任务报告

R5.3.1 [completed]

依据 SELFMEDIA #45 建立期次资源编辑 REST API 与同路径 CLI:从同一期既有文件读取并通过 revision/If-Match、结构校验和原子写入保存,首批覆盖元数据、来源、文稿、微信 Markdown 与分镜;WebTerm CLI 复用同一 API,禁止任意路径写入、跨期次覆盖、第二状态库和 release/生产发布,完成任务后将详细报告写入任务报告

R5.3.2 [completed]

依据 SELFMEDIA #47 在 RESTful 期次/资源深链中加入紧凑工业风手动编辑工作台:消费 #45 的 revision/ETag API,覆盖元数据、来源、文稿、微信 Markdown、场景/分镜以及只读资源说明,中文显示 dirty/saving/saved/conflict/error,切期取消旧草稿并禁止跨期保存;保留卡片独立运行按钮与确认框,只上线 master 测试集群,完成任务后将详细报告写入任务报告

R5.3.3 [completed]

依据 SELFMEDIA #49 在现有 edition.yaml 权威资源中加入受结构校验的期次级配音、字幕和视频参数覆盖,由 REST API、CLI、Web 与 voice/subtitles/render 单步共享同一真相;缺省继承 config/tools.yaml,只允许 master 开发集群与公网 4317 验收,禁止 release、生产 namespace 和 4319,完成任务后将详细报告写入任务报告

R6 [completed]

依据 SELFMEDIA #52 重构 Web 导航加载与全局刷新:同一期切换资源仅加载目标资源,不让当前期次和生产信号链进入重新加载;切期继续显示大范围目标期加载并防乱序;增加 YAML-first 的全局手动刷新和默认 5 秒可选自动刷新,保留旧内容、避免重叠请求并保护 dirty/saving/conflict 草稿。先合并 master 并在 4317 验收,再通过 master 到 release 的正常 PR 自动滚动生产 4319,禁止手工 PipelineRun、Argo sync 或运行面 patch,完成任务后将详细报告写入任务报告

R6.1 [completed]

修复 SELFMEDIA #56:生产首次缓存未命中时 BuildKit 已推送镜像但收尾 context deadline exceeded;实现仅对该特定错误的一次有界重试,覆盖脚本测试,先走 master/4317 自动 PaC 验收,再走 release/4319,禁止手工补跑,完成任务后将详细报告写入任务报告

R7 [completed]

依据 SelfMedia #59 修复全局手动/周期增量刷新清空内嵌 WebTerm:终端配置、xterm 与 WebSocket 生命周期独立于业务投影刷新,只有 WebTerm 自身“刷新终端”按钮按 ../webterm 的临时行数 resize→真实行数 resize→本地 refresh 语义无损重绘;先在开发入口 4317 验证终端连接/历史不变,再通过 release PR 自动发布并在生产入口 4319 复测,完成任务后将详细报告写入任务报告

R8 [completed]

依据 SELFMEDIA #62 增加仓库自带的单命令 Web 验证入口:自动按锁文件准备根目录与 web 依赖,依次运行 Web 测试、生产构建和 git diff --check,输出紧凑阶段摘要、耗时、依赖复用状态与失败原因;在全新 worktree 首次调用和同 worktree 第二次调用中证明原有多步探测、安装和重复验证收敛为一次调用,不修改运行配置、不部署开发或生产环境,完成任务后将详细报告写入任务报告

R8.1 [completed]

依据 UniDesk #2113 在 unidesk-selfmedia skill 固化 SelfMedia Web 源码验证最短路径:通过 trans 在 NC01 目标 worktree 单次运行 bun run verify:web,替代依赖探测、安装、Web 测试、生产构建和差异格式检查的手工多步调用;明确该入口不替代浏览器、公网、鉴权、WebTerm 与 PaC/Argo 运行面验收,通过 skill quick_validate 并证明同类源码验证只需一次受控调用,完成任务后将详细报告写入任务报告

R9 [in_progress]

依据 UniDesk #2132 在 D518 部署先进中文语音推理服务并接入 SELFMEDIA 开发集群:先在 D518 临时目录以 Docker GPU smoke 验证 Qwen3-TTS 0.6B CustomVoice,成功后由 owning YAML 和受控 CLI 固化 D518 推理容器、NC01 FRPS、D518 FRPC、Secret sourceRef 与公网直连端口,再扩展 SelfMedia 远程 TTS 引擎并通过正常 master 自动交付在 4317 完成 voice 单步 smoke;禁止修改 release、生产 namespace/4319、手工长期运维或引入 Caddy,完成任务后将详细报告写入任务报告

R9.1 [completed]

依据 UniDesk #2133 由 Artificer 经 trans 在 D518 /tmp 完成 Qwen3-TTS 0.6B CustomVoice Docker GPU smoke:锁定官方上游 ref、镜像/构建、低显存参数和 health/speech API,以固定中文技术资讯文本验证首次与热调用、WAV 解码、实时率和峰值显存;成功后清理临时容器并留下可接力证据,失败则在一次官方低显存参数尝试后停止且不无界更换模型,完成任务后将详细报告写入任务报告

R9.1.1 [completed]

依据 UniDesk #2148 在 Qwen3-TTS 因 Torch/TorchAudio ABI 不兼容停止后,由 Artificer 经 trans 在 D518 /tmp 验证下一候选 CosyVoice3 0.5B:锁定官方 source/model ref 和 Apache-2.0 许可,使用稳定匹配的 Torch/TorchAudio Docker GPU 组合与本地自有或开源生成的中文参考 WAV,提供 health/speech API并以固定技术资讯文本完成 WAV、实时率和峰值显存 smoke;成功后为 R9.4 提供正式模型身份,失败则记录首个确定阻塞并停止无界试错,完成任务后将详细报告写入任务报告

R9.2 [in_progress]

依据 SELFMEDIA #65 由 Artificer 为 voice 单步增加 YAML 显式选择的 remote-openai-speech 自托管引擎:基础地址只从 YAML 声明的环境变量读取,模型、音色、指令、语速和引擎进入缓存身份,cache miss 调用 /v1/audio/speech 并原子写入 WAV,保留现有分段、edition 覆盖、FFmpeg 语速/响度和 timeline,禁止硬编码公网端口或静默回退 Kokoro,完成任务后将详细报告写入任务报告

R9.3 [in_progress]

依据 SELFMEDIA #66 由 Artificer 为 SelfMediaDeployment renderer 增加通用 runtime.environment 与 networkPolicy.allowedTcpEndpoints:严格校验并把普通业务环境变量投影到 backend,按 CIDR 和 TCP ports 为被 blockedCidrs 排除的地址生成精确 egress 例外,默认空配置保持现有语义;禁止删除网络隔离、放开全端口、硬编码 D518/语音服务或修改生产配置,完成任务后将详细报告写入任务报告

R9.3.1 [in_progress]

依据 SELFMEDIA #69 将部署校验从全仓唯一 PipelineRun 断言改为按 owning target/环境独立验证:参数化解析开发与生产 PaC 制品,保留缺失、重复、错误归属的真实失败,但不得让合法多环境配置互相阻塞;用一个多环境 smoke 证明通用合同后完成本改进,且不得触碰或阻塞 R9 语音运行面,完成任务后将详细报告写入任务报告

R9.4 [in_progress]

依据 UniDesk #2139 将 D518 先进语音推理与 NC01 直连 FRP 固化为 YAML-first 受控服务:owning YAML 声明 Docker GPU 服务、模型/source ref、持久缓存、NC01 FRPS、D518 FRPC、Secret sourceRef、端口和 health/speech smokeCLI 提供 plan、secret init、apply、status、logs、validate;可在 R9.1 下载期间完成代码和渲染,但必须等 GPU HTTP/WAV smoke 成功后才允许正式 apply,且不触碰 release、生产 namespace、4319 或 Caddy,完成任务后将详细报告写入任务报告