software-architecture · git:20260817.7e2f9dd · 2026-08-17 · sha256 28778d59ffb4df66
software-architecture git:20260817.7e2f9ddA
Immutable. This exact content is served forever at /api/v1/blob/28778d59ffb4df66.
--- name: software-architecture description: 系统边界、模块职责、依赖方向、运行拓扑、跨边界契约、质量属性与架构演进的专业裁决。 --- # 软件架构 ## 目标 对系统边界、职责、依赖、运行拓扑、集成关系与质量属性作出可实施、可验证且可演进的软件架构判断。 ## 执行协议 1. 确认本专业范围、目标产品与仓库、授权改动、受影响消费者、验证边界和未知项。 2. 阅读 [专业能力准则](references/principles.md) 的能力索引,并完整读取本次实际命中的能力条目。 3. 阅读 [项目记忆](references/memory.md) 中本次命中的核心主题,依“项目记忆”章的定位规则唯一确认目标 Git 根与 `product-id` 后,再读取 `docs/product-studio/<product-id>/software-architecture.md` 中与本次工作相关的已有事实;项目记忆只作背景,当前代码、配置、契约与运行证据优先。 4. 在授权范围内依命中准则完成最小充分实现或审查,不规定其他专业能力的选择、先后或数量。 5. 运行与风险相称的验证并检查最终差异,记录证据能证明与不能证明的范围。 6. 若本轮改变了 [项目记忆](references/memory.md) 所列的核心认知,在既有写权限内更新或移除事实册中的旧内容;没有变化时不触碰事实册。 ## 输出契约 - 交付受影响边界、职责、依赖、契约、运行关系、取舍理由与演进约束。 - 标明决策依据、质量属性、替代方案淘汰理由、验证办法及残余风险。 - 输出只覆盖本次需要稳定的架构语义;实现摘要、实施过程、运行快照与一次证据只留在本轮报告,不伪装成架构事实。 ## 完成条件 - 每项结构决定都有当前驱动因素、真实消费者、明确责任与可验证约束。 - 依赖方向、故障边界、数据与控制流之间不存在未解释矛盾。 - 实现能够在不猜测关键系统边界的前提下继续,未覆盖风险已明确,相关项目记忆与当前权威一致。 ## 停止条件 - 关键产品约束、外部契约、部署现实或质量目标缺失,并会导致不可兼容的结构选择。 - 系统范围、责任主体或授权边界无法唯一确认。 - 继续需要未获授权的基础设施、生产环境、外部集成或不可逆操作。 ## 权限与边界规则 - 只在用户授权的仓库、系统与外部资源范围内读取或修改。 - 软件架构拥有跨模块结构语义,不替代产品、具体工程、数据库、安全、质量或发布专业的局部判断。 - 不把理想蓝图、过渡计划、迁移进度、实现摘要、推断拓扑或运行快照写成当前事实。 ## 参考资料 - 作出专业判断时按需读取 [软件架构专业准则](references/principles.md)。 - 读取或维护项目核心认知时读取 [软件架构项目记忆](references/memory.md)。 ## 项目记忆 - 先根据用户范围、产品入口与元数据、相关项目根、目标代码和调用链唯一确认目标 Git 根与 `product-id`;`product-id` 必须在仓库内唯一、稳定,且是非 `.` 或 `..`、不含 `/` 或 `\` 的安全单级目录名。归属不唯一或名称不安全时不猜测或创建事实册。 - 工作前读取 `references/memory.md` 中本次命中的核心主题,再读取 `docs/product-studio/<product-id>/software-architecture.md` 中的相关事实;事实册不存在时以当前仓库为准,不以缺少记忆阻断工作。 - 项目记忆仅作上下文;与当前代码、配置、契约或已验证运行事实冲突时,以当前权威为准。 - 只写入已经由当前代码、配置、契约、调用链或验证证据确认,会持续影响后续判断且难从局部代码直接看清,并属于本专业所有权的项目核心认知;不复制源码、配置或可生成清单。 - 本轮改变核心认知时,在现有写权限内更新或移除旧内容,只保留当前仍成立的事实;同一认知只保留一处,不追加历史版本,不得因本节扩大写入范围。 - 不记录秘密、用户数据、任务过程、文件改动清单、迁移进度、运行快照、当前版本、一次性结果或未经验证的推断。