@antprofuse/saddle-islands-backend 0.0.0-stage → 0.1.1
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 +56 -0
- package/package.json +16 -4
- package/README.md +0 -3
package/SKILL.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: saddle-islands-backend
|
|
3
|
+
description: 基于 Spec、正式physical输入、后端契约、DB、共享外部协议和独立后端测试实现 Saddle 业务后端,维护契约到唯一后端入口的工程脉络。框架技术规则另消费官方 Saddle Skill,不重新设计协议或实现 Java 下游。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Saddle Backend
|
|
7
|
+
|
|
8
|
+
先完整阅读本轮冻结的 saddle-islands-workflow 及本 Skill 原始包。按 workflow 的传播规则消费已提交并推送的 Git 包,核仓库、完整 commit、版本和逐文件摘要;同批保持一致,运行中不静默替换。npm 仅作发布备份,不要求安装 latest 或等待 registry。缺失正文或引用文件须修复交接,不能凭版本号相同认定内容一致。 官方 Saddle 包仍消费发布方提供并与项目锁一致的精确版本;官方框架拥有技术 API 与运行时约束,本 Skill 不替代它。
|
|
9
|
+
|
|
10
|
+
## 阶段执行合同
|
|
11
|
+
|
|
12
|
+
开始前确认正式输入、设计、独立测试定义、公共工具版本及已有有效结果已就绪。交付是产品改动与本轮实际测试的完整增量结果,包含复用依据、退回问题及影响集合。单Agent兼任时也须先完成上一阶段交接,再按产品职责执行;不能按实现现状改测试期望。
|
|
13
|
+
|
|
14
|
+
通过独立工具集已交付的公开入口运行测试和生成报告,使用工具默认调度与前置门禁,必要偏离按工具合同留痕。不自行复制runner、断言或报告脚本;公开入口尚不可用时反馈设施缺口,不以文档中的规划命令冒充已提供能力。
|
|
15
|
+
|
|
16
|
+
## 输入与边界
|
|
17
|
+
|
|
18
|
+
通读当前业务范围 Spec、Prototype/原始测试义务、正式physical输入、code/backend-contract、code/db、上游生成协议交付位置、backend-tests 及项目现有构建。目标目录默认 code/backend。
|
|
19
|
+
|
|
20
|
+
每份契约对应唯一注册 operation 和主 handler;辅助业务模块可分解共享,但不能将一个入口变成多份独立协议实现。遵守当前正式命名,不将尚未确认的派生规则引入代码。部署 app、MobileGW operationType、业务单元和外部函数身份各消费其正式定义,不从目录名猜值。
|
|
21
|
+
|
|
22
|
+
共享外部协议只消费本轮指定的上游正式生成制品,位置由项目输入明确;正常编译生成 Rust 类型不等于重新设计 proto。不另建 backend 内协议真源,也不为通过本阶段测试修改 Java。旧副本删除先核对引用和授权,不能删除其他负责人的工作。
|
|
23
|
+
|
|
24
|
+
## 实现推导
|
|
25
|
+
|
|
26
|
+
- 从公开入口的真实字段和可信上下文开始,执行已确认的等值定位、引用解析和业务逻辑;入口实体引用不要求一次装满全部属性。
|
|
27
|
+
- 本地持久化与静态实体按正式实体来源与绑定使用;非持久化且非静态实体的消费数据必须来自已有输入或已定义外部能力,不凭实体声明捏造。
|
|
28
|
+
- 根据页面需求聚合能力、构造完整契约结果;外呼数量不机械等于逻辑节点数。单独能力可独立实现,真实 SOFA 未完成不阻塞 Invoke Mock 阶段。
|
|
29
|
+
- 查询基数、缺失关联、错误分支等先核对已有合同,真正缺少语义再反馈;不任取第一条、不发明重试/默认成功,也不把正常编码步骤要求用户再写成编排配置。
|
|
30
|
+
- 通过 Saddle 公开数据库/强类型外呼能力实现,不裸连外部、改框架或假加查询规避技术校验。类型、精度、presence、容量及技术失败映射保持设计含义。
|
|
31
|
+
- DB 物理映射/实例/seed 属于测试或运维注入;产品声明真实业务操作,不替测试方承担未完设施。
|
|
32
|
+
|
|
33
|
+
## 测试驱动的增量研发
|
|
34
|
+
|
|
35
|
+
同一后端产品代码单元只由一个产品执行者写入。消费就绪测试批次和有效失败,自主分析、实现及复验;Owner负责目标与共因协调,不逐行指定修法。每轮评估本批所有未通过项,按共因处理可独立推进部分,不因一个局部测试错误退回整批。
|
|
36
|
+
|
|
37
|
+
测试定义或准备错误退原测试负责人整批审查同因;跨批执行、Mock、断言或报告缺陷交公共工具维护者。仅暂停实际受影响集合。交付绑定原责任ID、版本和有效收据的数据,即使未全过或出现回退也如实发布,不能以编译成功代替业务验收。
|
|
38
|
+
|
|
39
|
+
## 验收和交接
|
|
40
|
+
|
|
41
|
+
读取后端测试命令,以真实 release 进程运行 本轮冻结的saddle-islands-backend-test 所定义的黑盒。首次接入先验证公开启动与代表场景,后按约定范围验收;增量研发运行受影响场景并注明未受影响证据的复用依据,不机械重复全量;框架 Gate、单测、编译分别报告,不计入业务黑盒通过数。
|
|
42
|
+
|
|
43
|
+
设施失败返回测试建设,运行时缺口带公开配置与最小证据反馈 Saddle。不得改断言、Mock 期望或共享协议让实现通过;测试自身缺陷由测试任务授权修复并复验。
|
|
44
|
+
|
|
45
|
+
交付保留唯一输入源、实际版本组合、产品 diff、命令和验收层级;报告仓库外。推送须按当前权限 review。真实 profusecontract/SOFA 联调另行确认,当前 Mock 全过不授权迁移或宣称真实下游兼容。
|
|
46
|
+
|
|
47
|
+
## 契约身份交接
|
|
48
|
+
|
|
49
|
+
消费本轮冻结的saddle-islands-design后端契约格式,以及独立工具集随附的语义身份规范。契约 identity/id 由设计工具生成,研发/测试不得重新命名或自行实现摘要。读取同版本只追加登记表,校验全部当前契约及可信 Git 基线;不同页面语义起点独立契约,同起点可聚合。旧项目未批准迁移时保留原交付,不混用当前格式规则。
|
|
50
|
+
|
|
51
|
+
对当前契约,operations/<id>/、模块和静态 operation_type 都原样使用契约 id,MobileGW调用的target.interfaceId与之相等,binding.operationType保持正式网关入口名;不能将网关operation与后端契约ID混为一谈。日志身份来自正式路由声明的匹配结果,不读取客户端额外 contractId。Saddle 当前入口观察 operation 使用 interfaceId:只有确认匹配注册入口的请求才能归属于该契约;未知路由、解析前失败不得假归属。下游日志若 operation 表示外部方法,保持其语义,通过原始请求关联回入口身份,不能覆盖为契约 ID。实际公共日志缺少关联时报告框架能力缺口,不伪造 API 或侵入运行时。
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## 统一交付门禁
|
|
55
|
+
|
|
56
|
+
交付前必须使用本轮指定的公开工具入口执行交付门禁;门禁未通过,不得作成功交付。保留实际结果到本地任务信息目录,失败按责任修复后重新执行。具体检查项及参数由冻结工具版本提供,见 `tools/docs/iteration.md`,任务不重复列举或自行裁剪检查项。
|
package/package.json
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antprofuse/saddle-islands-backend",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "基于 Spec、正式physical输入、后端契约、DB、共享外部协议和独立后端测试实现 Saddle 业务后端,维护契约到唯一后端入口的工程脉络。框架技术规则另消费官方 Saddle Skill,不重新设计协议或实现 Java 下游。",
|
|
5
|
+
"license": "MIT OR Apache-2.0",
|
|
6
|
+
"files": [
|
|
7
|
+
"SKILL.md"
|
|
8
|
+
],
|
|
9
|
+
"publishConfig": {
|
|
10
|
+
"access": "public",
|
|
11
|
+
"registry": "https://registry.npmjs.org/"
|
|
12
|
+
},
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git+ssh://git@code.alipay.com/profuse/saddle-islands.git",
|
|
16
|
+
"directory": "skills/backend"
|
|
17
|
+
}
|
|
18
|
+
}
|
package/README.md
DELETED