团队接入与部门运行时
实践 / 建议团队接入与部门 Linux 运行时
团队接入需要一张可执行卡片
下表为建议的最小接入卡,复用已有目录与平台配置;没有这些事实的工程先补事实。
| 项目 | 必填内容 | 接入验收 |
|---|---|---|
| 责任与范围 | 团队、服务、仓库/模块、业务责任人、代码维护者、值班人 | 一条问题能找到明确处理者 |
| 来源与流转 | Multica/PC 双入口、GitLab Issue 主引用、Multica Issue/topic 关联与字段写入方 | 重复事件不重复建单,摘要和过程可互查 |
| 知识与能力 | ai-wiki 主题、规则包、Skill 包、版本锁与例外 | 必需资料可达、冲突可解释 |
| 工程入口 | bootstrap、doctor、lint、test、verify 的适配与副作用 | 新 worktree 可准备并完成代表任务 |
| 项目可观测与操作 | Grafana 与结构化查询、debug/deploy 技能和指南、环境映射、验证与恢复 | 固定候选能在授权测试环境完成观察→诊断→处理→验证;未知和失败不会自动放行 |
| 验证资源 | 构建环境、服务环境、测试数据、设备、报告与超时 | 缺资源返回明确阻塞,不能伪装 PASS |
| 交付与接管 | MR 审核者、生产发布流程、停止条件、恢复记录 | Agent 中断后另一执行者能接续 |
研发任务统一使用 GitLab Issue SSOT,具体双入口与摘要/过程分工见前文。 原平台方案包含 TAPD 同步路径;若继续保留,把它作为外部关联入口,由原同步平台负责, 不另设一份与 GitLab 并列的当前研发合同,也不新增 Agent 的 TAPD 回写通道。 诸葛直连与网关接入并存时,为同一事件选定一个建单责任方,并映射跨来源 ID。
init / bootstrap / doctor 分工
init 盘点既有 AGENTS、ai-context、CI、技能和命令,生成接入差异;
bootstrap 按锁定版本准备工具、依赖、链接和隔离目录;
doctor 只读检查本次任务的能力是否 ready/blocked/unknown。
IDP/Egress 已有 bootstrap,本次没有发现统一的项目 init/doctor 根入口;后两者是建议补齐的契约。
建议 init 提供 plan/check/apply 模式,保留现有目录;bootstrap 可重复执行且不中断手工内容; doctor 区分命令存在、认证有效、目标可达和权限足够。 不需要数据库的纯逻辑任务,不因数据库缺失而阻塞;需要真实集成验证时则必须报告缺口。
已有虚机怎样承载自主运行
推荐共享控制面管理部门工作区,既有虚机承担 runtime/daemon;按现有部署形态适配。 每任务独立工作区和临时目录,安装内容可重建,证据和任务状态持久化在节点之外。 缓存按 OS、架构、工具链与锁文件分组;并发配额覆盖模型、CPU、内存、构建及共享测试资源。 先测量环境准备和排队成本,再决定预热池大小,不照搬 Stripe 的十秒启动指标。
生产只读诊断、代码修复、线下部署使用不同执行身份和受控凭据。 同一 VM 也须通过独立 OS 用户、容器或执行器隔离敏感能力;worktree 和提示词不是系统权限边界。 复用 Egress 的出站控制与审计,并为超预算、工具拒绝、节点重启保留可恢复状态。 不要把个人 bootstrap 中复制本机配置的行为直接搬到集中运行池。
不同岗位共享合同,运行资源各自适配
| 岗位/技术栈 | 主要输入与验收 | 运行适配 |
|---|---|---|
| 产品与业务 | 目标、验收标准、边界、例外、验收样例 | 确认语义和优先级,审批需求变更 |
| 前端 | 接口契约、交互、权限、关键用户旅程 | Node/浏览器、预览环境、可访问性锚点 |
| 后端 | 领域规则、错误语义、租户/事务/异步契约 | JVM/Go、测试数据库、依赖与服务环境 |
| Android | API 兼容、设备行为、生命周期 | Linux 可承载部分构建与模拟器;真实设备按任务调度 |
| iOS | 系统/设备矩阵、签名与发布验证 | Linux 负责编排,构建验证接专用 macOS runner;签名能力隔离 |
| QA | 独立验收、负向场景、测试数据与回归选择 | 可独立执行验证,不能只复述开发 Agent 的报告 |
| SRE / 运维 | SLO、采集覆盖、发布风险、恢复信号 | 只读取证、测试发布、生产人工操作分开 |
五个 Agent 是责任位置,不要求每个任务同时启动五个模型。 小改动可以合并准备步骤;高风险任务保持开发与验证的独立执行边界。
技术栈核对:以 Java 后台为主要落地对象
用户确认后台主要是 Java 体系。本轮进一步使用 code-search 的知识与源码 CLI,
核对公司规范、父 POM、PaaS/SFA、前端和移动端代表仓。
这是有证据的抽样,不是 500 个仓的语言占比统计;构建声明也不等于实际生产运行版本。
本地规范基于 ai-wiki 609d7f77;下列主要 Java/Web/Android 声明已用固定提交读取复核。
| 类别 | 核对结果 | 对接入与改造的影响 |
|---|---|---|
| Java 公共基础 | parent-pom 声明 Java 8、Spring 4.3.21、Dubbo 2.9.5、JUnit Jupiter 5.12.1 | 传统 Spring/Dubbo 工程需独立适配;不能把后台统一假设为 Boot 3 |
| Spring Boot 分支 | spring-cloud-parent 样本声明 Java 11、Boot 2.7.18、Cloud 2021.0.8 | 单列运行时与父 POM profile;Boot 3/jakarta 切换按兼容事件治理 |
| PaaS / metadata | AppFramework 为 Maven 多模块并继承公司父 POM;metadata 根 POM 声明 Java 8 | reactor、共享 API、数据层与服务层分开识别;不只按仓名判断制品兼容面 |
| SFA | 根 POM 声明 source/target/java.version 为 21,包含多个业务模块;测试有 Jupiter/Vintage/Spock 线索 | 为 Java 21 工程准备对应工具链;共享子模块仍逐个核验实际 release 与消费者 |
| Web 老工程 | vcrm 根 package 声明 Vue 2.6.12、TypeScript 4.7 范围、Webpack 4;公司老项目规范列 jQuery、Backbone、underscore | 保留 Vue 2 与内部组件/API 模式,先补回归和可观察性;不默认迁到 Vue 3/Vite |
| Android | fs-android 有 Gradle 构建、Kotlin plugin;固定提交声明 AGP 8.10.0,wrapper 索引显示 Gradle 8.13 | Android SDK、Gradle/JDK、构建 variant、设备矩阵单独锁定;区别于 Java 服务运行时 |
| iOS | FS.iOS 源码索引命中业务 Objective-C .m、Xcode 工程与 Podfile;规范覆盖 Objective-C/Swift |
保留既有混合语言边界,使用 macOS runner;不由局部工程配置推断全端最低系统版本 |
| HarmonyOS | fs-harmony 索引命中 oh-package.json5 与业务 .ets 源文件,规范已有独立目录 |
纳入 HarmonyOS/ArkTS 适配、SDK 和设备验收,不能直接复用 Android Java/XML 改法 |
Java 源码抽样还发现 Spring/RESTEasy、MyBatis support、Dubbo plugin 等依赖入口, 应按实际模块选择契约与集成测试。依赖声明只说明编译/装配线索,不直接证明运行时调用关系。 JUnit、Vintage、Spock、Surefire/Failsafe 等要核对实际启用的引擎、插件与 suite, 不能仅因 POM 有依赖就认定测试已执行。 Node/TypeScript/Python 等在平台和工具工程的实践可复用其纪律,不能代替主要 Java 业务的验证适配。
Java 接入卡要细到模块与制品
建议为每个相关 Maven 模块登记:GAV、packaging、父 POM/冻结列、构建 JDK、实际编译 release、 javax/jakarta 与 Spring 主版本、消费者最低 JDK、目标环境运行时、测试引擎与必需 profile。 doctor 校验这些字段与 effective POM、构建参数、实际制品是否一致;只看根 POM 不足以裁决。
公司 Java 规范明确:共享 client/sdk/api/support/starter 等公共包保持 Java 8 兼容,
用 JDK 21 构建不等于允许发布 Java 21 字节码;JDK profile 切测试参数也不改变这一要求。
因此不能直接判断 SFA 根 POM 的 21 声明违反规则,必须继续看各模块继承/覆盖、发布用途与产物;
对共享模块,除 class 主版本还要验证 JDK API 面及最低消费方加载/契约测试。
JDK 9+ 工具链可用 --release 8 约束语法、字节码和标准库 API;具体命令由项目适配确认。
Java 现代化优先顺序建议为:干净 reactor 构建 → 必需测试真实执行 → 共享制品兼容 → 数据库/事务/消息/异步的行为回归 → 父 POM 与依赖收敛 → 独立立项切换运行时栈。 多模块选测需包含被影响模块及必要上下游;API 变化扩大到消费者契约,不用单模块编译代替。 父 POM 升级先比较 effective POM、dependency tree 和插件行为,再小批验证。 现有自研 SNAPSHOT 记录解析后的制品摘要;按公司发布规范逐步收敛稳定版本, 不能仅凭源码 SHA 假定下一次解析到相同依赖,也不借普通业务 MR 全量清扫历史债务。
前端现代化同样以现有规则为基线:组件与 API 查询、国际化、相似页面、Vue 2 兼容和用户旅程。 如要迁 Vue 3 或新构建器,单独定义迁移合同、试点范围、性能/行为基线与回退方案。
本轮技术栈依据与覆盖边界
- Java 版本规范
- Maven JAR 规范
- Web 老项目协作规范
- 公共父 POM
- Boot 父 POM
- metadata Java 声明
- SFA Java 与测试属性
- vcrm 构建依赖
- Android 构建插件
- iOS 工程入口、HarmonyOS 工程入口
iOS/HarmonyOS 及部分辅助命中为 2026-11-06 的 Sourcebot 索引观察,未做全量清点或构建。 搜索结果存在截断,代码索引可能滞后;未命中不证明不存在。 指定 commit 的 grep 本轮返回空,已改用 read-file 对上述主要版本声明复核, 没有把空结果解释为仓库缺少对应能力。所有版本仅是样本事实,不是建议全公司统一升级到这些版本。
本节依据: IDP 命令、Egress 命令、IDP Multica 约定。