@antprofuse/saddle-workflow 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +54 -0
- package/package.json +14 -0
- package/references/changes.md +33 -0
- package/references/ownership.md +33 -0
package/SKILL.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: saddle-workflow
|
|
3
|
+
description: 盘点或推进 Islands 项目从 Spec、adapt、设计、测试到实现的交接,确定工程决策归属、影响范围和各阶段 Skill。用于跨阶段协调或规则变更;不替代业务设计、平台研发或生产发布决策。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Saddle Workflow
|
|
7
|
+
|
|
8
|
+
本 Skill 拥有跨阶段工程规则与责任路由,不拥有各阶段业务答案。执行具体阶段时完整读取对应 Skill;不把工作流维护当作修改所有消费者的授权。
|
|
9
|
+
|
|
10
|
+
## Skill 消费规则
|
|
11
|
+
|
|
12
|
+
所有 Skill 间引用使用 npm 官方 registry 的 `@latest`,禁止写死依赖 Skill 版本。进入任务时查询并安装所需包的 latest,完整读实际包的 SKILL.md 及任务所需参考;不要只看包名或沿用上下文记忆。可在仓库外独立工具目录安装:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npm install --prefix <工具目录> --no-save --package-lock=false @antprofuse/saddle-islands-design@latest --registry https://registry.npmjs.org/
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
示例占位路径须替换,包名按阶段选择。记录实际解析版本、摘要和本轮使用组合用于复现;这不是在 Skill、业务契约或用户起手模板中固定版本。一次协作批次先对齐同一组实际版本,不在运行途中自动漂移。后续任务重新解析 latest;发现更新或不兼容时重新评估受影响产物,不默认旧产物失效或自动升级产品运行时。
|
|
19
|
+
|
|
20
|
+
未发布包、安装失败、包间规则冲突须明确反馈;不得悄悄使用草稿或同仓库旧目录冒充 latest。Skill 自身 package.version、格式版本及历史证据版本不是依赖钉死。不得自动改用户模板。维护、提交、推送、发布分别依授权。
|
|
21
|
+
|
|
22
|
+
## 阶段路由
|
|
23
|
+
|
|
24
|
+
完整读取[阶段与决策归属](references/ownership.md),按任务选择:
|
|
25
|
+
|
|
26
|
+
| 工作 | npm Skill 或权威来源 |
|
|
27
|
+
| --- | --- |
|
|
28
|
+
| Spec 理念、原型及测试责任 | Islands 当前官方指南及公开工具,不捏造 npm Skill 名称 |
|
|
29
|
+
| 实体承载、入口、逻辑依赖及额外外部能力适配 | `@antprofuse/saddle-islands-adapt@latest` |
|
|
30
|
+
| 后端契约、DB、共享外部协议设计 | `@antprofuse/saddle-islands-design@latest` |
|
|
31
|
+
| 前端黑盒验收建设 | `@antprofuse/saddle-minifish-test@latest` |
|
|
32
|
+
| 后端黑盒验收建设 | `@antprofuse/saddle-backend-test@latest` |
|
|
33
|
+
| 小程序产品实现 | `@antprofuse/saddle-minifish@latest` |
|
|
34
|
+
| 后端项目实现 | `@antprofuse/saddle-backend@latest`,另读 `@antprofuse/saddle-skill@latest` 的技术合同 |
|
|
35
|
+
| ProfuseContract 业务组件实现 | `@antprofuse/saddle-profusecontract@latest` |
|
|
36
|
+
| 真实联调、上线与运维 | 先确认宿主、环境、授权及验收/回退条件;当前没有已定完整发布 Skill |
|
|
37
|
+
|
|
38
|
+
路由是职责设计,不证明包已发布;发布状态以 npm 核验为准。框架、平台和 Islands 指南保持原有权威;本体系补工程协作而不重复定义运行时 API。
|
|
39
|
+
|
|
40
|
+
## 决策落地
|
|
41
|
+
|
|
42
|
+
每项决策先明确唯一规则归属、依据、影响产物、必须同步的 Skill、检查方式、未决部分和迁移权限。按[变更流程](references/changes.md)形成一次可追溯交接。讨论记录放协作仓库;可执行规范落规则所有者,消费者只引用并落实其本阶段义务,避免多处独立定义。
|
|
43
|
+
|
|
44
|
+
已确认的一对一主入口脉络必须保留:后端契约 → 唯一前端请求入口 → 唯一后端注册入口。页面/场景可多对一,内部辅助模块可拆分或共享,不增加重复协议实现。
|
|
45
|
+
|
|
46
|
+
具体大小写、派生命名与新格式尚未批准时,执行已有正式契约与现行设计规则,不能用提案静默改名。后续统一命名规范归本 Skill,design 分配身份,各实现 Skill 消费,测试检查关联;Saddle 不负责项目命名策略。
|
|
47
|
+
|
|
48
|
+
## 完成判定
|
|
49
|
+
|
|
50
|
+
交接必须区分输入自洽、设计完备、测试设施可运行、Mock 黑盒通过、真实联调通过和生产可发布。不得以数量、编译或某单层通过代替下一层。未决事项具体标出影响边界,已确认且独立的部分可并行,不要求无关真实下游先实现。
|
|
51
|
+
|
|
52
|
+
用户授权范围外的仓库、源码、外部服务不修改。推送前按当前权限核对实际远端到候选提交的完整 diff 文件树,不能只看 merge 单亲差异。报告/截图/日志在仓库外本地散文件,不打包、不进源码历史。
|
|
53
|
+
|
|
54
|
+
本项目当前授权:只有 Spec 仓库 push 前须用户 review diff;Topics 和自有 Skill 源码可及时提交/push,不需逐次审批。此为当前项目授权,不自动扩大到其他用户项目;使用者以各自最新明确授权为准。npm 发布仍需明确发布授权。
|
package/package.json
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@antprofuse/saddle-workflow",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "盘点或推进 Islands 项目从 Spec、adapt、设计、测试到实现的交接,确定工程决策归属、影响范围和各阶段 Skill。用于跨阶段协调或规则变更;不替代业务设计、平台研发或生产发布决策。",
|
|
5
|
+
"license": "MIT OR Apache-2.0",
|
|
6
|
+
"files": [
|
|
7
|
+
"SKILL.md",
|
|
8
|
+
"references"
|
|
9
|
+
],
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public",
|
|
12
|
+
"registry": "https://registry.npmjs.org/"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# 决策和变更闭环
|
|
2
|
+
|
|
3
|
+
## 决策记录最小内容
|
|
4
|
+
|
|
5
|
+
在用户指定协作位置记录,而非塞进 code 交付目录:
|
|
6
|
+
|
|
7
|
+
- 决策身份/主题、已确认内容、依据与待确认内容。
|
|
8
|
+
- 唯一规则所有者及对应 Skill/reference。
|
|
9
|
+
- 消费者 Skill 和具体产物范围;不受影响者可给出理由,不盲目全改。
|
|
10
|
+
- 变更前后差异、兼容性和授权范围。
|
|
11
|
+
- 静态/设施/业务黑盒/真实联调各自的验证及未完成项。
|
|
12
|
+
|
|
13
|
+
历史决策不删除;取代关系明确,不让两个现行规则并存。未批准提案不能当实现输入;发生冲突时返回最早拥有该语义的阶段。
|
|
14
|
+
|
|
15
|
+
## 示例:一个外部结果增加已确认字段
|
|
16
|
+
|
|
17
|
+
adapt 定义字段语义和获得方式 → design 定义 proto 传输与必要后端结果 → 后端测试补外呼返回、投影断言 → backend 消费 → profusecontract 在获授权且真实映射明确时实现。若页面不消费,则前端契约/测试不必为了“全链路更新”加字段。
|
|
18
|
+
|
|
19
|
+
## 示例:契约标识或命名规则改变
|
|
20
|
+
|
|
21
|
+
workflow 维护命名规则 → design 校验/分配身份 → minifish 唯一请求入口和 backend 唯一注册入口同步 → 两类测试及覆盖关联更新。是否改变 wire 必须单独判断,不能把文件重命名等同兼容,也不能把纯文件迁移宣称为新业务。运行时无冲突无需改 Saddle。
|
|
22
|
+
|
|
23
|
+
## 示例:测试库启动失败
|
|
24
|
+
|
|
25
|
+
backend-test 负责公开配置、DDL、映射及实例校验;backend 提供真实制品。按证据区分设施、产品和框架问题,不修改业务查询来迎合测试。框架问题提交具体公开入口复现,由 Saddle 维护;不将测试环境的一个数值固定到通用业务设计。
|
|
26
|
+
|
|
27
|
+
## 跨 Skill 冲突与上线顺序
|
|
28
|
+
|
|
29
|
+
先修改规则所有者,再更新实际受影响消费者;校验引用、示例、模板和检查器的一致性。不为消除冲突擅自改变业务输入。
|
|
30
|
+
|
|
31
|
+
所有引用保持 @latest。涉及互相依赖的新包时,先发布被依赖包并核验,再发布消费者;同一协作批次解析并共享实际版本清单。发布尚未全部完成不能通知下游“已可用”。最新包之间若冲突,暂停受影响边界并反馈,不偷偷回退版本或使用未发布本地草稿替代。
|
|
32
|
+
|
|
33
|
+
Skill 发布不自动升级现有业务交付;业务迁移仍需独立范围、diff 和验收。提交权限不等于 push 权限,push 权限不等于 npm 发布权限。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# 阶段与决策归属
|
|
2
|
+
|
|
3
|
+
| 规则或交付 | 唯一归属 | 必须通知/检查的消费者 |
|
|
4
|
+
| --- | --- | --- |
|
|
5
|
+
| 业务实体、规则、Prototype、原始测试责任 | Spec / Islands 负责人 | adapt;design;两类测试 |
|
|
6
|
+
| 本地/静态/外部承载、身份、扩展字段、真实入口适配 | adapt | design;相关测试;实现 |
|
|
7
|
+
| Dependency 和额外外部能力的字段及适配语义 | adapt | design 的外部协议;backend;profusecontract;后端测试 |
|
|
8
|
+
| 前后端请求/响应、结果变体、错误和来源覆盖 | design/backend-contract | minifish;backend;两类测试 |
|
|
9
|
+
| 表列、类型、系统列及关联身份 | design/db | backend;后端测试;生产运维 |
|
|
10
|
+
| 外部函数业务身份、字段号、presence、编码 | design/external-contract-proto | backend;profusecontract;后端测试 |
|
|
11
|
+
| 固定 Invoke、上下文、运行时安全、公开 DB 能力 | Saddle | design 外部协议;backend;后端测试;组件宿主 |
|
|
12
|
+
| MobileGW 平台接入、profusegw 卸载转发、ProfuseContract 宿主注册/限流 | 对应平台负责人 | adapt;设计;测试接入;组件与真实联调 |
|
|
13
|
+
| 跨阶段命名、单一真源、关联和变更交接规则 | workflow | adapt/design/测试/实现各 Skill |
|
|
14
|
+
| 前端场景、请求守卫、页面断言、运行接入 | minifish-test | minifish |
|
|
15
|
+
| 后端场景、外呼守卫、隔离 DB、启动与审计 | backend-test | backend |
|
|
16
|
+
| 小程序页面和契约请求实现 | minifish | 前端验收;真实联调 |
|
|
17
|
+
| 后端编排、本地查询、结果组装、外呼消费 | backend | 后端验收;真实联调 |
|
|
18
|
+
| 真实 SOFA 适配业务组件 | profusecontract | 组件宿主;真实联调 |
|
|
19
|
+
| 生产资源、网关配置、上线门槛和回退 | 运维/发布负责人(待明确流程) | 各运行时及真实联调验收 |
|
|
20
|
+
|
|
21
|
+
“消费者”不代表拥有修改规则的权力。技术命名映射不可改变业务身份;工程命名规则不应进入 Spec 理想业务表达。
|
|
22
|
+
|
|
23
|
+
## 阶段交接所需条件
|
|
24
|
+
|
|
25
|
+
- Spec → adapt:范围内实体、流程、Prototype 与正式测试责任可完整获取;分析缺口与业务矛盾分开记录。
|
|
26
|
+
- adapt → design:承载、入口、消费数据来源及相应能力语义足以确定当前边界。TODO 按具体影响隔离;不能因为 real RPC 尚未实现就认定无法设计。
|
|
27
|
+
- design → tests:请求、结果、失败、边界和来源足以形成独立预期;后端还需 DB 和共享 proto。未知输出不能由测试猜填。
|
|
28
|
+
- tests → implementation:用例/覆盖/夹具/请求守卫及设施属于测试交付;无产品时明确接入尚待实测,后续由测试方完成,不交研发补测试 adapter。
|
|
29
|
+
- implementation → Mock 验收:真实交付制品使用既有黑盒设施通过;各层单测和 Gate 单列。
|
|
30
|
+
- Mock → 真实联调:不能沿用 Mock 结论;另确认网关、组件宿主、实际 SOFA、身份与环境。
|
|
31
|
+
- 真实联调 → 发布:需用户确定真实发布检查、权限、监控和回退条件。目前不能据此表自行部署。
|
|
32
|
+
|
|
33
|
+
后端契约可聚合多个外部能力。不是入口数量等于 Dependency 数量,也不是每个前端用例都对应一张表。
|