@alipay/alipay-aipay 1.6.0-beta.3 → 1.6.1-beta
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/package.json +1 -1
- package/skill/VERSION +1 -1
- package/skill/references/integration/flow.md +17 -30
- package/skill/references/integration/modules/checklist.md +1 -1
- package/skill/references/integration/modules/sandbox/a2m-sandbox-test.md +1 -1
- package/skill/references/normal/json/customer-messages.json +1 -1
- package/skill/references/normal/json/policy-rules.json +1 -1
- package/skill/references/normal/scripts/checklist_sections.mjs +43 -0
- package/skill/references/normal/scripts/flow_loader.mjs +35 -7
- package/skill/references/normal/scripts/integration_context_runner.mjs +4 -19
- package/skill/references/normal/scripts/integration_message_runner.mjs +146 -133
- package/skill/references/normal/scripts/onboarding_message_runner.mjs +37 -15
- package/skill/references/normal/scripts/render_customer_message.mjs +6 -6
- package/skill/references/normal/scripts/runtime.mjs +20 -4
- package/skill/references/normal/scripts/telemetry.mjs +13 -1
- package/skill/references/normal/telemetry.md +2 -1
- package/skill/references/onboarding/flow.md +100 -88
- package/skill/references/onboarding/modules/app-release.md +8 -7
- package/skill/references/onboarding/modules/scripts/app.sh +366 -57
- package/skill/references/onboarding/modules/scripts/error_handler.sh +6 -2
- package/skill/references/runtime-entry.md +4 -4
package/package.json
CHANGED
package/skill/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.6.
|
|
1
|
+
1.6.1-beta
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
禁止整份预读,只通过当前 Skill 绝对路径下的统一 runtime 按 marker 加载阶段,本 flow 仍是唯一执行依据:`entry`;项目与技术栈唯一后 `prepare`;非阻塞方案送达后直接加载 `development --product-type "$PRODUCT_TYPE"`;其后依次加载 `implementation`、`verification`、`acceptance --product-type "$PRODUCT_TYPE"` 和 `checklist --product-type "$PRODUCT_TYPE" --project-path "$PROJECT_PATH"`。统一单命令规则继承 `runtime-entry.md`;用户项目命令仍以已确认项目根为 workdir。未到阶段、无关产品/语言、维护说明和模块不得提前读取,原 flow 保留完整规则供校验。
|
|
11
11
|
|
|
12
|
-
步骤 1 只有 `CLI_ENV:NEEDS_SETUP` 才读 `../normal/alipay-cli-env.md`;步骤 2 只有产品无法唯一确定时才读 `modules/product-decision.md`;沙箱正常路径只执行已封装脚本,协议异常或用户要求解释时才读沙箱指南;步骤 4 只按 `integration_context_runner.mjs` 的当前产品/语言事实读取 SDK、本地契约和示例,不读取接口索引本身;步骤 6 仅按量付费读 A2M 沙箱模块;步骤 8
|
|
12
|
+
步骤 1 只有 `CLI_ENV:NEEDS_SETUP` 才读 `../normal/alipay-cli-env.md`;步骤 2 只有产品无法唯一确定时才读 `modules/product-decision.md`;沙箱正常路径只执行已封装脚本,协议异常或用户要求解释时才读沙箱指南;步骤 4 只按 `integration_context_runner.mjs` 的当前产品/语言事实读取 SDK、本地契约和示例,不读取接口索引本身;步骤 6 仅按量付费读 A2M 沙箱模块;步骤 8 由 loader 直接附带当前产品适用 checklist,禁止再读取整份 `modules/checklist.md`。
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -36,18 +36,11 @@
|
|
|
36
36
|
## 用户阻塞点索引
|
|
37
37
|
|
|
38
38
|
<!-- GENERATED:INTEGRATION-GUARDS:START -->
|
|
39
|
-
|
|
40
|
-
### 生成式执行护栏
|
|
41
|
-
|
|
42
|
-
- `P-MCP-CONTRACT-FROZEN`:只执行当前 Skill 已验证脚本中的 MCP 方法、参数和解析;禁止推断、改名、替换或尝试近似方法。
|
|
43
|
-
- `P-A2M-SANDBOX`:AI 按量付费沙箱 serviceId 固定为 api_mock_service_id,SDK 使用沙箱网关;生产网关和真实 serviceId 只用于正式配置。
|
|
44
|
-
- `P-A2M-SUCCESS`:自动联调只有在 HTTP 200、非空可归属资源、无明确业务失败且适用 Payment-Validation 有效时通过。
|
|
45
|
-
- `P-SANDBOX-CREDENTIAL-EXCEPTION`:Unix/macOS/Linux 只允许快速沙箱实际返回且已校验的买家登录/支付密码在沙箱摘要和付款体验中经 stdin 临时渲染。Windows 手工沙箱允许用户在 sandbox.windows.manual_setup 后提供当前沙箱应用的 APPID、支付宝公钥、应用公钥、与当前开发语言匹配的应用私钥和沙箱账号信息;Agent 只能将其用于已确认目标项目的受保护配置,不得在回复、摘要、普通日志或业务状态中复述或另存原文。两类例外均不得扩展到生产环境账号、应用私钥或密码。
|
|
46
|
-
- `P-SENSITIVE-STATE`:用户可以为当前应用设钥明确提供应用公钥,但该输入只用于本次 app.sh key/verify-key/verify-key-and-audit 调用;Agent 回复、对话摘要、普通日志、跨会话状态和宽权限临时文件禁止复述或保存公钥原文。除 P-SANDBOX-CREDENTIAL-EXCEPTION 明确允许的 Windows 手工沙箱当前资料输入外,私钥、token、Payment-Proof、签名串、完整支付表单和未脱敏 MCP 响应同样禁止进入这些位置。临时 URL 只有在 flow 明确登记、已由脚本或 renderer 完成白名单及当前上下文校验且当前动作必须对客展示时,才允许进入该动作的唯一对客正文;即使获准展示,也禁止进入对话摘要、普通日志、跨会话状态或宽权限临时文件。
|
|
47
|
-
- `P-PROJECT-PROTECT`:不得清空、覆盖或删除用户既有项目;只在已确认目标路径和范围内做必要修改。
|
|
48
|
-
- `P-CUSTOMER-OUTPUT-EXCLUSIVE`:flow 指定 renderer 或托管脚本时,其 stdout 是该动作唯一对客正文;工具输出记录、折叠面板或日志不等于已对客发送,Agent 必须把 stdout 原文作为当前回复正文发给用户。禁止在前后添加执行说明、消息 ID、控制标记、摘要、转述或近似话术。阻塞消息发出后立即停止本轮并等待用户。
|
|
49
|
-
- `P-DETERMINISTIC-HANDOFF`:flow 已登记脚本或 renderer 时只执行动作发生位置的固定命令;退出码和登记终态标记满足后立即按 flow 转移,禁止追加 jq、cat、grep、curl 或临时脚本重复解析、复核或解释同一结果。失败只走登记恢复分支;项目代码实现和运行验证除外,但不得把沙箱配置或其他敏感文件打印到工具输出。
|
|
39
|
+
共享护栏:`P-MCP-CONTRACT-FROZEN` 仅用已验证脚本;禁推断或尝试近似方法;`P-SANDBOX-CREDENTIAL-EXCEPTION` 仅登记且已校验的快速沙箱或 Windows 手工沙箱资料可按 flow 用于受保护项目;禁复述、另存或扩展到生产值;`P-SENSITIVE-STATE` 公钥限当前 app 调用且禁复述/保存;敏感值禁入回复/摘要/日志/状态/宽权限文件;临时 URL 仅由登记动作展示;`P-PROJECT-PROTECT` 禁清空/覆盖/删除既有项目;仅改已确认路径和范围;`P-CUSTOMER-OUTPUT-EXCLUSIVE` 登记 stdout 原文是唯一正文;阻塞送达后立即等待;`P-DETERMINISTIC-HANDOFF` 仅执行登记命令并按唯一终态转移;禁追加解析;失败只走登记恢复。
|
|
50
40
|
<!-- GENERATED:INTEGRATION-GUARDS:END -->
|
|
41
|
+
<!-- GENERATED:INTEGRATION-GUARDS-AIPAY:START -->
|
|
42
|
+
共享护栏:`P-A2M-SANDBOX` A2M 沙箱固定 api_mock_service_id 与沙箱网关;生产值仅用于正式配置;`P-A2M-SUCCESS` 联调仅在 HTTP 200、资源可归属、无业务失败且适用回执有效时通过。
|
|
43
|
+
<!-- GENERATED:INTEGRATION-GUARDS-AIPAY:END -->
|
|
51
44
|
|
|
52
45
|
代码开发方案不再构成阻塞确认点。产品、项目路径或技术栈缺失、冲突或无法唯一确定时,仍在步骤 1/2 使用登记澄清消息等待用户补齐;事实完整且唯一时展示方案并自动推进。用户另行要求删除具体文件时,仍执行下方破坏性操作二次确认。
|
|
53
46
|
|
|
@@ -254,7 +247,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" sandbox reverify "<规
|
|
|
254
247
|
|
|
255
248
|
**任务**:阅读 SDK 要点、本地契约和当前语言示例
|
|
256
249
|
|
|
257
|
-
读取本地依据前执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-context resolve --product-type "$PRODUCT_TYPE" --server-language "$SERVER_LANGUAGE"`。只接受唯一 `ALIPAY_AIPAY_INTERNAL:INTEGRATION_CONTEXT=<json>`,并在本步骤只读取其中 `sdk_reference`、`contracts` 和 `examples` 列出的当前产品/语言开发依据;`sandbox_acceptance` 只保存路径事实并延迟到步骤 6,`checklist`
|
|
250
|
+
读取本地依据前执行 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-context resolve --product-type "$PRODUCT_TYPE" --server-language "$SERVER_LANGUAGE"`。只接受唯一 `ALIPAY_AIPAY_INTERNAL:INTEGRATION_CONTEXT=<json>`,并在本步骤只读取其中 `sdk_reference`、`contracts` 和 `examples` 列出的当前产品/语言开发依据;`sandbox_acceptance` 只保存路径事实并延迟到步骤 6,`checklist.delivery_phase=checklist` 及章节名只保存交付事实,具体内容由步骤 8 loader 直接附带,禁止在本步骤提前读取。缺失、重复、路径不存在或产品/语言不一致时停止,不回退到跨产品预读;后续阶段复用同一 envelope,不重复执行 `integration-context resolve`。
|
|
258
251
|
|
|
259
252
|
本步骤只加载和核对代码开发依据;成功时不发送“文档已读取”“准备完成”等对客进度,直接进入步骤 5。本地依据缺失时输出实际缺口,禁止猜测。在线文档只在 fallback 条件下读取,不作为默认必读材料。
|
|
260
253
|
|
|
@@ -363,7 +356,7 @@ Windows 的 `CONFIG_PATH` 必须是步骤 1/3 已校验的实际本机配置绝
|
|
|
363
356
|
<!-- ALIPAY_AIPAY_PRODUCT:aipay:START -->
|
|
364
357
|
**按量付费沙箱 serviceId**:生成或写入按量付费沙箱运行配置时,`serviceId` 固定使用 `api_mock_service_id`,禁止向用户索要正式 `serviceId` 才继续沙箱联调。该值必须与正式环境配置隔离;正式上线前替换为服务市场注册或复用结果中的真实 `serviceId`。
|
|
365
358
|
|
|
366
|
-
**按量付费生产边界**:五语言 A2M 文件只是核心协议与 SDK
|
|
359
|
+
**按量付费生产边界**:五语言 A2M 文件只是核心协议与 SDK 调用示例。生产实现必须通过步骤 8 bundle 附带的全部按量付费专项校验;任一关键控制仍为 TODO、注释、内存演示或伪代码时,不得满足 `INT.CODE.*` / `INT.A2M.PRODUCTION_CONTROLS` 或标记生产就绪。
|
|
367
360
|
|
|
368
361
|
> ⚠️ **按量付费**:代码生成后启动本地服务,后续步骤 6 将默认进行端到端沙箱服务端联调。服务需实现 402 协议(无 `Payment-Proof` 时返回 HTTP 402 + `Payment-Needed` 头)。
|
|
369
362
|
<!-- ALIPAY_AIPAY_PRODUCT:END -->
|
|
@@ -447,7 +440,7 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message a2m
|
|
|
447
440
|
node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message a2m-execution-guard --project-path "$PROJECT_PATH" --service-url "$SERVICE_URL" --http-method POST --request-body-file "$POST_BODY_FILE" [--prior-receipt "$A2M_EXECUTION_RECEIPT"]
|
|
448
441
|
```
|
|
449
442
|
|
|
450
|
-
只接受唯一 `ALIPAY_AIPAY_INTERNAL:A2M_EXECUTION=<json>`。`decision=RUN` 时保存新 receipt 并继续;`REUSE_PASSED` 复用同一项目和输入的本轮通过证据,不重复联调;`BLOCK_UNCHANGED` 表示失败后代码、配置和输入均未变化,禁止重跑,将本轮 A2M 联调记录为失败并继续步骤 7/8;`UNKNOWN_PREVIOUS_EXECUTION` 表示上次命令可能已发出但未登记终态,当前没有登记的结果查询入口,禁止自动重跑或临时探测,固定记录联调结果未知并继续步骤 7/8
|
|
443
|
+
只接受唯一 `ALIPAY_AIPAY_INTERNAL:A2M_EXECUTION=<json>`。`decision=RUN` 时保存新 receipt 并继续;`REUSE_PASSED` 复用同一项目和输入的本轮通过证据,不重复联调;`BLOCK_UNCHANGED` 表示失败后代码、配置和输入均未变化,禁止重跑,将本轮 A2M 联调记录为失败并继续步骤 7/8;`UNKNOWN_PREVIOUS_EXECUTION` 表示上次命令可能已发出但未登记终态,当前没有登记的结果查询入口,禁止自动重跑或临时探测,固定记录联调结果未知并继续步骤 7/8。项目代码或配置的实际内容、服务 URL、方法或 POST body 变化时 runner 才会产生新的 `RUN` receipt;仅文件时间戳变化或同内容重写不属于输入变化。receipt 只保留在当前会话,不写跨会话业务进度。
|
|
451
444
|
|
|
452
445
|
4. 仅 `decision=RUN` 时执行下列固定 runner 命令,输出固定联调说明后立即继续,不等待用户确认;禁止另写开始话术。服务地址和 HTTP 方法只用于后续实际命令,不在本消息中展示:
|
|
453
446
|
|
|
@@ -527,9 +520,9 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message saf
|
|
|
527
520
|
<!-- ALIPAY_AIPAY_STAGE:integration.checklist.start -->
|
|
528
521
|
### 步骤 8:代码开发校验
|
|
529
522
|
|
|
530
|
-
|
|
523
|
+
**完成条件**:已执行本阶段 bundle 附带的全部适用检查,并保留每项实际命令、文件检查或人工待验证依据;不得使用 Agent 自拟 attestation、空哈希或口头结论代替。
|
|
531
524
|
|
|
532
|
-
**自动执行规则**:步骤 7 完成后进入 `checklist` 阶段;阶段 loader 自动记录 `integration.checklist.start`,输出唯一 `ALIPAY_AIPAY_INTERNAL:CHECKLIST_SCOPE_RECEIPT=<receipt
|
|
525
|
+
**自动执行规则**:步骤 7 完成后进入 `checklist` 阶段;阶段 loader 自动记录 `integration.checklist.start`,输出唯一 `ALIPAY_AIPAY_INTERNAL:CHECKLIST_SCOPE_RECEIPT=<receipt>`,并在本 bundle 末尾直接附带当前产品适用清单。该 scope receipt 仅绑定当前产品、路径与快照,防止错配或变更后沿用旧结论,不证明检查已执行。不得再单独读取整份 `modules/checklist.md`。默认只执行代码阅读、最终 runner 内固定 implementation audit、配置后置校验、语法/静态检查,以及无需安装依赖、联网或监听端口的已有定向测试,并复用步骤 5、步骤 6 已取得的校验证据,不增加“是否需要校验”的用户确认。
|
|
533
526
|
|
|
534
527
|
**执行边界**:默认禁止安装依赖或浏览器、切换运行时版本、启动长期服务、申请网络/端口权限、执行截图或 UI 自动化,也不得重复步骤 6 已完成的端到端测试。遇到 `EPERM`、网络受限、缺少浏览器等环境限制时,将对应项标记为“人工待验证”并停止扩展排查;不得据此推断代码或运行时兼容问题。只有用户明确要求继续扩展验证时,才展示拟执行动作并按原确认规则处理。
|
|
535
528
|
|
|
@@ -540,21 +533,15 @@ node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message saf
|
|
|
540
533
|
- 异步通知
|
|
541
534
|
- 异常处理
|
|
542
535
|
|
|
543
|
-
>
|
|
536
|
+
> 详细校验清单已附在当前阶段 bundle 的“当前产品适用校验清单”。
|
|
544
537
|
|
|
545
|
-
|
|
538
|
+
**校验完整性要求**:内部必须覆盖当前 bundle 中适用于目标产品的密钥与安全、异步通知、接口覆盖、支付结果处理、按量付费专项、退款、上线前和结果输出章节,不得只检查上方三个摘要项。通过时默认对客只输出通过结论和下一步;部分通过或未通过时只输出实际未完成项、人工待验证项和下一步。步骤 5/6 已展示的沙箱配置、联调或付款体验结论不在 checklist 结果中重复。通过项与不适用项无需逐行展开,用户要求明细时再输出完整逐项结果。精简输出不得导致任何适用校验被跳过。
|
|
546
539
|
|
|
547
540
|
先汇总 checklist 证据;本轮可修复时先修复、重检,不渲染中间结果。项目快照变化会使旧 `CHECKLIST_SCOPE_RECEIPT` 失效,必须重新加载本阶段并重跑受影响检查。
|
|
548
541
|
|
|
549
|
-
项目不再变化且准备生成最终结论时,按已确认产品固定映射 `aipay=AIPAY`、`webpay=WEBPAY`、`apppay=APPPAY` 得到 `PRODUCT_VARIANT
|
|
542
|
+
项目不再变化且准备生成最终结论时,按已确认产品固定映射 `aipay=AIPAY`、`webpay=WEBPAY`、`apppay=APPPAY` 得到 `PRODUCT_VARIANT`。下方唯一 `checklist-result` runner 会在同一次调用中重新计算一次项目快照、校验 scope,并基于该快照执行一次固定 implementation audit;审计只读非测试生产源码并检查核心接口标记和登记的高置信度危险模式,不替代完整 checklist,也不接受 Agent 提供的审计 receipt。
|
|
550
543
|
|
|
551
|
-
|
|
552
|
-
node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message implementation-audit --variant "$PRODUCT_VARIANT" --project-path "$PROJECT_PATH"
|
|
553
|
-
```
|
|
554
|
-
|
|
555
|
-
stdout 必须为空,stderr 只接受唯一可解析的 `ALIPAY_AIPAY_INTERNAL:IMPLEMENTATION_AUDIT={state,findings,receipt}`,保存 `receipt` 为 `IMPLEMENTATION_AUDIT_RECEIPT`。审计只读非测试生产源码并检查核心接口标记和登记的高置信度危险模式,不替代完整 checklist。`FAILED` 且可修复时重新进入 checklist 并审计;否则 findings 是阻断缺口。缺失、过期、跨产品/项目或失败 receipt 不能渲染为通过,`full_process` 必须停在 Integration。
|
|
556
|
-
|
|
557
|
-
仅在已通过、只剩人工待验证或无法继续修复时渲染一次最终结论。
|
|
544
|
+
若审计发现问题且命令未传 `--finalize-audit-findings true`,stdout 固定为空,stderr 只接受唯一 `ALIPAY_AIPAY_INTERNAL:CHECKLIST_AUDIT={state:"REPAIR_REQUIRED",findings:[...]}`。本轮可修复时先修复,重新加载 checklist 阶段取得新 scope,再用更新后的实际证据重跑同一结论命令;不得渲染中间结果。确认无法在本轮修复时,向同一结论命令追加 `--finalize-audit-findings true`,由 runner 强制把结构化 findings 合入“未通过”并收口;该内部重跑不新增用户操作点。`full_process` 必须停在 Integration。
|
|
558
545
|
|
|
559
546
|
对客结论统一使用 `integration.checklist.result`;整体结论、失败/部分通过项和人工待验证项必须来自最终一轮 checklist 实际证据。首次调用前先按以下完整契约确定参数,禁止自由改写枚举:
|
|
560
547
|
|
|
@@ -567,17 +554,17 @@ stdout 必须为空,stderr 只接受唯一可解析的 `ALIPAY_AIPAY_INTERNAL:
|
|
|
567
554
|
|
|
568
555
|
<!-- ALIPAY_AIPAY_PRODUCT:aipay:START -->
|
|
569
556
|
```bash
|
|
570
|
-
node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message checklist-result --variant AIPAY --project-path "$PROJECT_PATH" --scope-receipt "$CHECKLIST_SCOPE_RECEIPT" --
|
|
557
|
+
node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message checklist-result --variant AIPAY --project-path "$PROJECT_PATH" --scope-receipt "$CHECKLIST_SCOPE_RECEIPT" --overall-result "$OVERALL_RESULT" --failed-items "$FAILED_ITEMS" --manual-items "$MANUAL_ITEMS" --sandbox-result "$SANDBOX_RESULT" --sandbox-config-state "$SANDBOX_CONFIG_STATE" --blocking-defect-state "$BLOCKING_DEFECT_STATE" --execution-mode "$EXECUTION_MODE" --next-flow-reminder "$NEXT_FLOW_REMINDER"
|
|
571
558
|
```
|
|
572
559
|
<!-- ALIPAY_AIPAY_PRODUCT:END -->
|
|
573
560
|
<!-- ALIPAY_AIPAY_PRODUCT:webpay:START -->
|
|
574
561
|
```bash
|
|
575
|
-
node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message checklist-result --variant WEBPAY --project-path "$PROJECT_PATH" --scope-receipt "$CHECKLIST_SCOPE_RECEIPT" --
|
|
562
|
+
node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message checklist-result --variant WEBPAY --project-path "$PROJECT_PATH" --scope-receipt "$CHECKLIST_SCOPE_RECEIPT" --overall-result "$OVERALL_RESULT" --failed-items "$FAILED_ITEMS" --manual-items "$MANUAL_ITEMS" --webpay-experience-result "$WEBPAY_EXPERIENCE_RESULT" --sandbox-config-state "$SANDBOX_CONFIG_STATE" --blocking-defect-state "$BLOCKING_DEFECT_STATE" --execution-mode "$EXECUTION_MODE" --next-flow-reminder "$NEXT_FLOW_REMINDER"
|
|
576
563
|
```
|
|
577
564
|
<!-- ALIPAY_AIPAY_PRODUCT:END -->
|
|
578
565
|
<!-- ALIPAY_AIPAY_PRODUCT:apppay:START -->
|
|
579
566
|
```bash
|
|
580
|
-
node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message checklist-result --variant APPPAY --project-path "$PROJECT_PATH" --scope-receipt "$CHECKLIST_SCOPE_RECEIPT" --
|
|
567
|
+
node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message checklist-result --variant APPPAY --project-path "$PROJECT_PATH" --scope-receipt "$CHECKLIST_SCOPE_RECEIPT" --overall-result "$OVERALL_RESULT" --failed-items "$FAILED_ITEMS" --manual-items "$MANUAL_ITEMS" --sandbox-config-state "$SANDBOX_CONFIG_STATE" --blocking-defect-state "$BLOCKING_DEFECT_STATE" --execution-mode "$EXECUTION_MODE" --next-flow-reminder "$NEXT_FLOW_REMINDER"
|
|
581
568
|
```
|
|
582
569
|
<!-- ALIPAY_AIPAY_PRODUCT:END -->
|
|
583
570
|
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
> - ➖ 不适用:当前集成场景不涉及此项
|
|
134
134
|
> - 🟡 人工待验证:当前环境无法自动取得充分证据
|
|
135
135
|
|
|
136
|
-
|
|
136
|
+
先按当前证据逐项判断;本轮可修复时先修复、重检,不渲染中间结果。项目稳定后按 `../flow.md` 执行唯一 `checklist-result`,由 runner 在同一次最终调用中校验 scope 并对同一项目快照执行固定 implementation audit。审计失败是阻断缺口,不能被 Agent 自报结论覆盖;可修复时先返回结构化 findings,项目变化后重新加载 checklist 阶段取得新 scope。
|
|
137
137
|
|
|
138
138
|
最终 action、完整参数和失败转移只以 `../flow.md` 步骤 8 为准,本模块不复制命令。runner 只接受最终一轮实际证据:Unix/macOS/Linux 的 `sandboxConfigState` 复用脚本终态,Windows 复用步骤 1/3 的 `READY|VERIFY_PENDING`;待配置时不重跑或读取配置,并把配置及依赖动作列为未完成。
|
|
139
139
|
|
|
@@ -106,7 +106,7 @@ Windows 使用 `node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" a2m`;
|
|
|
106
106
|
|
|
107
107
|
**⚠️ 脚本的收银接口地址和付款链接前缀已硬编码在脚本中(`PAY_ENDPOINT`、`PAY_URL_PREFIX`),执行时无需额外指定。**
|
|
108
108
|
|
|
109
|
-
先按统一 runtime 的 `integration-message a2m-execution-guard` 当前会话 receipt 契约校验项目快照、服务 URL、HTTP 方法和可选 POST body。只有 `decision=RUN` 才使用 `../../../normal/json/customer-messages.json` 的 `a2m.test.start` 渲染固定联调说明并立即运行脚本;`REUSE_PASSED|BLOCK_UNCHANGED|UNKNOWN_PREVIOUS_EXECUTION` 均不得重复发起完整联调。服务地址和 HTTP 方法只用于实际命令,不在开始消息中展示。
|
|
109
|
+
先按统一 runtime 的 `integration-message a2m-execution-guard` 当前会话 receipt 契约校验项目快照、服务 URL、HTTP 方法和可选 POST body。项目快照按代码和配置的实际内容计算,仅文件时间戳变化或同内容重写不产生新的执行机会;实际内容变化时才允许生成新的 `RUN` receipt。只有 `decision=RUN` 才使用 `../../../normal/json/customer-messages.json` 的 `a2m.test.start` 渲染固定联调说明并立即运行脚本;`REUSE_PASSED|BLOCK_UNCHANGED|UNKNOWN_PREVIOUS_EXECUTION` 均不得重复发起完整联调。服务地址和 HTTP 方法只用于实际命令,不在开始消息中展示。
|
|
110
110
|
|
|
111
111
|
```bash
|
|
112
112
|
node "<SKILL_DIR>/references/normal/scripts/runtime.mjs" integration-message a2m-test-start
|