Skip to content

Commit f7b86cb

Browse files
committed
fix: 统一安装态模板验收并补齐入口规范示例
1 parent df34b2a commit f7b86cb

5 files changed

Lines changed: 28 additions & 15 deletions

File tree

‎changelogs/releases/v1.20.2.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
- 记忆、报告和任务产物使用对应模板或明确的模板扩展,记录实际生成来源;避免同一产物槽重复生成。
1818
- 修复 MCP 链接工具公开状态与底层校验器不一致的问题;共享同一状态词表,未核实点击能力时保留可移植链接及真实证据状态。
1919
- 模板结构检查与用户意图满足度分别留证。历史产物对比新版模板得到诊断结果,不回填虚假的历史生成依据,也不批量改写历史报告。
20+
- 修复安装态准入测试读取源码专用模板路径的问题;普通安装回归与正式包资格检查均执行安装后的生产者及负向用例。
2021
- 检查优化任务目录,记录有界扫描未覆盖的范围;包含流程简称的正文不能让整个任务跳过检查。
2122
- 实际隔离 Codex CLI 探针核对工具调用、上下文重绑和业务文件;协议探针、自然语言业务结果、模型自述与外部宿主拒绝分别记录。
2223
- 发布说明文字可以使用任务要求的语言;Profile 生命周期校验采用结构化状态和实际发行证据,不再要求英文前缀。Windows 兼容检查按独立任务分组,保留原有完整检查范围。

‎content/instructions/17-compliance.instructions.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,17 @@ version: 1.20.2
3838

3939
| 项 | 内容(人话;禁止进度缩写 · 六宿主同源) |
4040
|----|----------------------------------------|
41-
| PC0 | 上下文:项目 · 语言 · ContextReadPlan [已形成/降级] · 必要来源回执 [verified/partial/missing] |
41+
| PC0 | 版本与上下文:installed package · 活动 runtime generation · 可选源码候选 · alignment;项目 · 语言 · ContextReadPlan [已形成/降级] · 必要来源回执 [verified/partial/missing] |
4242
| PC1 | 意图:语义初判 → 扩展后工作流(有修正须写明) |
4343
| PC2 | 会话:第 N 轮 · Token 防护 · 待跟进 ✅无 / ⚠️简述 |
4444
| PC3 | 执行准备:唯一项目 · 未完成任务 · 产物落点(禁止「写报告 02」式施工日志) |
4545
| PC4 | 规范雷达:dev 见 18-spec-radar;非 dev=`N/A` + skipReason |
4646
| PC5 | 宿主:名称 + Full/Partial · 用户级 adapter/receipt 或 legacy 父链诊断 |
4747
| PC6 | 工作区:git dirty 范围 · 任务目录 requirements/… 或 bugs/… |
4848
| PC7 | 续接:首条须 memory_status + 有界 query;非首条可 N/A |
49+
| PC8 | 流程与方案:WorkflowPlanDecisionV1 二次判断 · 合理性评估 · 已确认范围与自动继续边界 |
50+
| PC9 | 验证计划:适用检查 · 实际验证范围 · 预计耗时;未运行或受外部条件限制时明确标注 |
51+
| PC10 | 后续动作:当前阶段 · 下一阶段 · 自动继续或需要用户决策的具体事项 |
4952

5053
下一步:[一句人话]
5154
```

‎content/skills/portfolio.json‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
"portfolioEvidenceDigest": "8364a73c66ed2ec9787cdb9300223278d128a45b689a2b8deda0d1f03189f42b",
1616
"consumerInventoryFileCount": 713,
1717
"consumerInventoryDigest": "424ec22febd792e124b514f3a668703849b8d4dee64719c8a7d670f49499c2ca",
18-
"consumerProjectionDigest": "8aabeb2fab97a794d9466c147f9cd6e4e12c5fda6e00fb16f34a992e03672b60",
19-
"portfolioInputDigest": "6995725b163c1867fe27b23ea3795b928b83530a1f3d4e6cb2e66447c220b15c"
18+
"consumerProjectionDigest": "85b244ec1e17d08170852a48b07d174e2c451345c2a0b5178ed3ec5cc1eb9bee",
19+
"portfolioInputDigest": "b6c0a807b09bed8ac8bcaf87fbc273502348c9e6181b1883bec87f73be39b5a2"
2020
},
2121
"ordering": "skills.id asc; graph edges from/to asc",
2222
"summary": {
@@ -16866,6 +16866,10 @@
1686616866
"path": "scripts/test-global-host-removal.js",
1686716867
"role": "current"
1686816868
},
16869+
{
16870+
"path": "scripts/test-global-install-smoke.js",
16871+
"role": "current"
16872+
},
1686916873
{
1687016874
"path": "scripts/test-global-runtime-continuity.js",
1687116875
"role": "current"
@@ -17030,6 +17034,7 @@
1703017034
"scripts/test-external-review-claim-verification.js",
1703117035
"scripts/test-git-execution-context.js",
1703217036
"scripts/test-global-host-removal.js",
17037+
"scripts/test-global-install-smoke.js",
1703317038
"scripts/test-global-runtime-continuity.js",
1703417039
"scripts/test-hooks-runtime.js",
1703517040
"scripts/test-host-adapters.js",
@@ -17131,6 +17136,7 @@
1713117136
"scripts/test-external-review-claim-verification.js",
1713217137
"scripts/test-git-execution-context.js",
1713317138
"scripts/test-global-host-removal.js",
17139+
"scripts/test-global-install-smoke.js",
1713417140
"scripts/test-global-runtime-continuity.js",
1713517141
"scripts/test-hooks-runtime.js",
1713617142
"scripts/test-host-adapters.js",

‎scripts/test-global-install-smoke.js‎

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -970,17 +970,17 @@ assert.strictEqual(
970970
)
971971

972972
assert.strictEqual(fs.existsSync(path.join(installedPackageRoot, 'package.json')), true, 'installed package root missing')
973-
if (smokeOptions.tarball) {
974-
const installedAdmissionSuite = runCommand(process.execPath, [
975-
path.join(installedPackageRoot, 'scripts', 'test-task-admission-authority.js')
976-
], {
977-
cwd: workspace,
978-
env: installedEnv,
979-
timeout: 300000
980-
})
981-
assert.match(installedAdmissionSuite.stdout, /"passed":true/)
982-
installedAdmissionNegativesPassed = true
983-
}
973+
// Both locally packed and externally qualified artifacts must exercise the
974+
// installed producer and its negative cases before reporting installation pass.
975+
const installedAdmissionSuite = runCommand(process.execPath, [
976+
path.join(installedPackageRoot, 'scripts', 'test-task-admission-authority.js')
977+
], {
978+
cwd: workspace,
979+
env: installedEnv,
980+
timeout: 300000
981+
})
982+
assert.match(installedAdmissionSuite.stdout, /"passed":true/)
983+
installedAdmissionNegativesPassed = true
984984

985985
if (smokeOptions.realCodex) {
986986
for (const relative of [

‎scripts/test-task-admission-authority.js‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const crypto = require('crypto')
55
const fs = require('fs')
66
const os = require('os')
77
const path = require('path')
8+
const { resolveControlAsset } = require('./lib/control-content-delivery')
89
const {
910
buildActualInstructionEnvelope,
1011
buildWorkItemSet,
@@ -725,7 +726,9 @@ try {
725726
const templateRoot = path.join(TEMP_ROOT, 'template-runtime')
726727
const templatePath = path.join(templateRoot, 'content', 'prompts', 'requirement-session.prompt.md')
727728
fs.mkdirSync(path.dirname(templatePath), { recursive: true })
728-
const templateSource = fs.readFileSync(path.join(__dirname, '..', 'content', 'prompts', 'requirement-session.prompt.md'), 'utf8')
729+
const templateSource = fs.readFileSync(resolveControlAsset(
730+
path.resolve(__dirname, '..'), 'prompts/requirement-session.prompt.md'
731+
), 'utf8')
729732
const templateDelta = `模板变更传播 ${crypto.randomUUID()}`
730733
fs.writeFileSync(templatePath, templateSource.replace('{{cpTable}}', `{{cpTable}}\n\n${templateDelta}`))
731734
const templateInput = admissionInput(setupRoot('template-production'), 'template-production')

0 commit comments

Comments
 (0)