## ADDED Requirements > 来源说明:文中《中科兴皖需求 V0.3》及其章节引用为历史出处,原文已清理;以下既有 SHALL 要求继续有效,当前入口见根 `AGENTS.md` 与本工程标准。 ### Requirement: 仓库采用前后端分离的一体化门户形态 中科兴皖一体化门户 SHALL 以「Python 后端 + Web 管理端 + 小程序端」的形态组织代码与部署单元;业务域(细胞存储、中试、系统管理等)共享同一后端与租户模型,除非需求文档明确声明独立子系统。 #### Scenario: 新人识别工程边界 - **WHEN** 阅读仓库根目录说明或 OpenSpec `architecture-conventions` - **THEN** 文档 SHALL 指明后端入口、管理端入口、小程序工程目录及 API 前缀约定(与 `AGENTS.md` 一致) ### Requirement: 技术栈与需求文档 §3 对齐 系统 SHALL 使用 MySQL 5.7 作为关系型数据库;后端 SHALL 使用 Python 实现;Web 管理端 SHALL 基于 Vue 技术栈在精简后的管理端模板工程上扩展;小程序 SHALL 基于 uni-app、Vue 3 与 Vant 体系实现业务界面(与《中科兴皖需求 V0.3》§3 及当前 `miniprogram` 工程一致或可文档化迁移)。 #### Scenario: 技术选型评审 - **WHEN** 新增服务或子工程选型 - **THEN** 选型说明 SHALL 论证与上述栈的兼容性,或作为独立变更更新本 spec 与 `proposal.md` ### Requirement: 附件与对象存储 业务附件 SHALL 通过对象存储(如 MinIO)保存可访问 URL;多附件在同一字段内存储时 SHALL 使用英文逗号分隔多个 URL(与需求 §3 一致)。 #### Scenario: 上传列表回显 - **WHEN** 业务实体包含多个附件 - **THEN** 持久化字段 SHALL 为逗号分隔的 URL 字符串,且接口契约与前端解析逻辑一致 ### Requirement: 权威文档索引 实现类变更 SHALL 将根 `AGENTS.md`、`openspec/changes/zkxw-engineering-standards/specs/`、`docs/web-admin-ui-spec-fresh-mint.md`、`docs/web-admin-ui-pattern-index.md` 及 `docs/miniprogram-ui-spec-sanqiang.md` 视为架构与规范的索引入口;OpenSpec 变更 SHALL 在 `proposal.md` / `design.md` 中保持对上述路径的引用。 #### Scenario: UI 相关 PR 描述 - **WHEN** 提交涉及 Web 或小程序界面的 PR - **THEN** PR 或关联 OpenSpec SHALL 声明遵循的 UI 规范文档路径 ### Requirement: 运行凭据与 Agent 操作凭据分离 应用运行凭据 SHALL 继续由对应应用的 `.env`、配置文件或部署环境注入管理,包括数据库、Redis、MinIO、业务微信接口及应用签名或加密密钥。现有 `backend/.env`、`backend/.env.production`、`deploy/docker/.env` 等来源按实际环境使用,不为统一账号保存位置而迁移或复制其中的值。 工程根目录 `.local/secrets/access.json` SHALL 仅用于 Agent 操作账号,如服务器 SSH、GitHub/Gitea 仓库管理及 Figma 平台访问;它不是应用运行配置源,不接入业务代码或容器启动配置。可用的 MCP、OAuth、CLI 会话继续复用,不为填文件重复索要密码。应用排障按需读取原运行配置,不使用平台管理账号替换应用身份。 Agent 使用操作账号前 SHALL 核对当前工程、服务用途、环境和任务授权,只读取所需字段;服务器测试与生产账号分开。该文件不纳入 Git、镜像、交付包或更新器,目录权限为 `700`、文件为 `600`(macOS/Linux);不得在聊天、日志或工单回显真实值。worktree 缺文件时仅核对并复用同仓库主工作目录的已授权来源,不能跨工程搜集或自动回退生产。 #### Scenario: 应用数据库认证失败 - **WHEN** 后端连接数据库失败,而操作账号文件中有其他管理账号 - **THEN** 核对后端实际加载的环境配置及其账号,不把管理账号写入运行配置,也不改为读取操作账号文件。 #### Scenario: Agent 访问仓库或设计平台 - **WHEN** 已授权任务需要 Gitea、GitHub 或 Figma 身份认证 - **THEN** 优先复用可用工具会话;需要账号时从本工程操作账号来源按需读取,仅缺失或无效时补充,不改动应用运行配置。