--- name: creative-architecture-decisions description: 为长期维护的桌面编辑器与创作软件设计或审查架构,确定核心、命令、持久数据、UI、脚本与扩展的边界。用于架构取舍与真实切片规划,不用于普通界面改色或自动搭建完整插件平台。 metadata: version: "1.0.0" --- # 创作软件架构决策 从产品约束选择结构。统一稳定身份、参数地址、编辑语义和持久契约,让 UI、CLI、脚本与 AI 成为应用能力的调用者;保留各专业领域的模型与高性能执行路径。 ## 先建立事实基线 读取项目自己的 AGENTS、产品说明、当前实现记录、依赖清单和相关代码。区分设计、代码存在、本机验证、发布版本;记录当前分支与未提交变化。缺失证据写成未知,不用架构图推导实现完成度。 确认目标用户、平台、数据寿命、工程规模、团队能力与关键体验。依真实需要选择一次性工具、长期应用、可扩展专业工具或多领域平台的复杂度;级别不是成熟度评分。已有命令/存储机制合适时保留,不因使用此 Skill 重建项目。 ## 决策与落地 1. 识别状态所有者:工程内容、会话/布局、偏好、缓存、设备资源、长任务和外部副作用分别归谁。只让耐久内容修改进入相应事务和撤销。 2. 分别绘制源码依赖与运行调用。纯模型/校验不依赖 UI、IO 或数据库;应用使用必要端口,具体适配由 Host 装配。允许直接的纯函数调用,不强迫每个类型增加接口。 3. 区分 query、preview、command/batch、job/proposal。提交前验证身份、类型、引用、权限与版本;数据库提交后才确认成功。已提交重试应返回原结果,未知结果先查询,不盲目重发。 4. 稳定最小语义,使用类型化领域结构。参数 metadata 描述类型、单位、范围与显示资源,但不能替代专业规则或授权。资源身份与物理路径、缓存和临时 URL 分开。 5. 有真实调用者时才设计公开扩展契约;分别记录兼容版本、可用能力、Host 授权与预算。插件声明不授予权限。脚本/AI 通过应用能力写入,不能获取数据库连接或任意 Host 权限。 6. 原生/Web UI 的共享范围由体验与实测决定。写清可保留的命令/语义和需要重写的组件、输入、停靠及偏好迁移。专业时间线/画布保留专用入口。 7. 文件、操作、API、扩展与求值版本分别管理。未知/未来数据采取保留、拒绝写入或只读等明确策略;迁移失败保护源数据。内部 ID 与本地化显示文本分开。 8. 只实现用户当前授权的最小真实闭环,用能触及提交、重开、取消或失败的验证证明边界;关键性能需要真实负载和明确环境。没有证据的优化写成待测。 涉及事务、脚本、实时路径或插件隔离时读 [故障与状态边界](references/failure-and-state.md)。需要 Cue 示例时才读 [Cue 有限原型案例](references/cue-case.md),先核实目标项目最新状态,不照搬示例技术栈。 ## 交付约定 重要决定记录:触发问题、状态所有者、调用者、选项、选择与代价、权限/故障范围、当前状态、通过条件、重审触发条件。按项目需要输出依赖图、调用图和当前/后续清单;图注明箭头含义和实现状态。 所有 Required 组件应有近期真实调用者;Deferred 写触发条件。不把外部协议适配、operation log 或进程隔离解释成自动获得协作、完整撤销、exactly-once 或全面安全。Skill 不增加提交、发布、部署、付费调用或访问用户工程的授权。