@sema-agent/settings-schema 7.0.0 → 8.0.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/CHANGELOG.md +173 -1
- package/README.md +47 -5
- package/conformance/VERSION +1 -1
- package/conformance/cases/c01-entry-salvage-then-typo/expected.json +5 -0
- package/conformance/cases/c02-hosts-clamp-stacked/expected.json +5 -0
- package/conformance/cases/c03-literal-dotted-top-key/expected.json +41 -0
- package/conformance/cases/c04-all-bad-collection-not-salvaged/expected.json +5 -0
- package/conformance/cases/c05-gate-domain-bad-entry-throws/expected.json +5 -0
- package/conformance/cases/c06-legacy-governance-lift/expected.json +12 -0
- package/conformance/cases/c07-hooks-is-not-a-config-domain/expected.json +5 -0
- package/conformance/cases/c08-limits-unknown-carried-64/expected.json +77 -0
- package/conformance/cases/c09-limits-unknown-carried-65/expected.json +78 -0
- package/conformance/cases/c10-record-key-secret-redacted-twice/expected.json +5 -0
- package/conformance/cases/c11-unicode-unknown-keys/expected.json +14 -0
- package/conformance/cases/c12-prototype-name-top-keys/expected.json +5 -0
- package/conformance/cases/c13-models-field-null/expected.json +5 -0
- package/conformance/cases/c14-models-field-empty-array/expected.json +16 -0
- package/conformance/cases/c15-models-field-number/expected.json +5 -0
- package/conformance/cases/c16-deep-nesting-205/expected.json +14 -0
- package/conformance/cases/c17-empty-domain-file/expected.json +10 -0
- package/conformance/cases/c18-wire-envelope-not-an-object/expected.json +10 -0
- package/conformance/cases/c19-wire-envelope-no-version/expected.json +10 -0
- package/conformance/cases/c20-governance-absent-lifts/expected.json +12 -0
- package/conformance/cases/c21-governance-empty-object-wins/expected.json +13 -0
- package/conformance/cases/c22-governance-null-throws/expected.json +5 -0
- package/conformance/cases/c23-mixed-validity-models/expected.json +5 -0
- package/conformance/cases/c24-valid-entries-with-unknown-keys/expected.json +29 -0
- package/conformance/cases/c25-published-roundtrip-zero-warnings/expected.json +33 -0
- package/conformance/cases/c26-hosts-array-1024/expected.json +7183 -0
- package/conformance/cases/c27-hosts-array-1025/expected.json +5 -0
- package/conformance/cases/c28-large-document-over-1mb/expected.json +14 -0
- package/conformance/cases/c29-salvage-then-domain-refine-fails/expected.json +5 -0
- package/conformance/cases/c30-version-triple-a-first/expected.json +29 -0
- package/conformance/cases/c31-version-triple-b-changed/expected.json +29 -0
- package/conformance/cases/c32-version-triple-a-restored/expected.json +29 -0
- package/conformance/cases/c33-limits-nested-carried-key/expected.json +17 -0
- package/conformance/cases/c34-skills-content-vs-manifest/expected.json +23 -0
- package/conformance/cases/c35-portable-domain-file-is-null/expected.json +5 -0
- package/conformance/cases/c36-skills-entry-without-content/expected.json +23 -0
- package/conformance/cases/c37-skills-field-null/expected.json +5 -0
- package/conformance/cases/c38-remote-exec-is-a-non-domain-file/expected.json +5 -0
- package/conformance/cases/c39-hidden-file-in-config-d/expected.json +5 -0
- package/conformance/cases/c40-s712-identity-only-what-reads-out/expected.json +5 -0
- package/conformance/cases/c41-s792-encoded-pem-identity/expected.json +5 -0
- package/conformance/cases/c42-s792-unknown-key-secret-redacted/expected.json +33 -0
- package/conformance/cases/c43-s792-form-and-deep-encoded-pem/expected.json +5 -0
- package/conformance/cases/c44-s792-utf8-escape-glued-token/expected.json +5 -0
- package/conformance/cases/c45-s792-identity-bounds-and-decode-depth/expected.json +5 -0
- package/conformance/cases/c46-s811-host-name-url-userinfo-characterization/expected.json +5 -0
- package/conformance/cases/c47-s811-roles-key-url-userinfo-characterization/expected.json +5 -0
- package/conformance/cases/c48-s935-model-headers-transported/expected.json +59 -0
- package/conformance/cases/c49-s935-model-headers-secret-entry-dropped/expected.json +5 -0
- package/conformance/cases/c50-s784-lane-host-legal/expected.json +44 -0
- package/conformance/cases/c51-s784-lane-e2b-legal/expected.json +46 -0
- package/conformance/cases/c52-s784-lane-k8s-legal/expected.json +48 -0
- package/conformance/cases/c53-s784-lane-ssh-legal/expected.json +48 -0
- package/conformance/cases/c54-s784-lane-adb-legal/expected.json +44 -0
- package/conformance/cases/c55-s784-lane-local-docker-legal/expected.json +45 -0
- package/conformance/cases/c56-s784-lane-device-legal/expected.json +51 -0
- package/conformance/cases/c57-s784-g1-enabled-no-lane/expected.json +5 -0
- package/conformance/cases/c58-s784-g2-multitenant-host/expected.json +5 -0
- package/conformance/cases/c59-s784-g3-k8s-missing-image/expected.json +5 -0
- package/conformance/cases/c60-s784-g3-e2b-missing-key/expected.json +5 -0
- package/conformance/cases/c61-s784-g3-other-lane-key/expected.json +5 -0
- package/conformance/cases/c62-s784-g7a-session-tidb/expected.json +5 -0
- package/conformance/cases/c63-s784-host-two-replicas/expected.json +5 -0
- package/conformance/cases/c64-s784-multitenant-local-store/expected.json +5 -0
- package/conformance/cases/c65-s784-pg-without-db/expected.json +5 -0
- package/conformance/cases/c66-s784-memory-backend-mismatch/expected.json +5 -0
- package/conformance/cases/c67-s784-retired-field-loud/expected.json +5 -0
- package/conformance/cases/c67-s784-retired-field-loud/meta.json +1 -1
- package/conformance/cases/c68-s784-device-local-store/expected.json +5 -0
- package/conformance/cases/cc01-mcp-toolfaces-non-object/expected.json +54 -0
- package/conformance/cases/cc02-mcp-source-key-is-transported/expected.json +27 -0
- package/conformance/cases/cc03-model-compat-unknown-subkey/expected.json +33 -0
- package/conformance/cases/cli01-model-name-nfc-vs-nfd/expected.json +5 -0
- package/conformance/cases/cli02-control-and-zero-width-chars/expected.json +5 -0
- package/conformance/cases/cli03-credential-pasted-into-unknown-key/expected.json +22 -0
- package/conformance/cases/cli04-env-value-with-newline/expected.json +46 -0
- package/conformance/cases/cli05-long-and-prefix-colliding-names/expected.json +53 -0
- package/conformance/cases/t01-absent-domain-key-not-null/expected.json +5 -0
- package/conformance/cases/t02-entry-salvage-vs-whole-domain-refusal/expected.json +5 -0
- package/conformance/cases/t03-prototype-name-key-not-swallowed/expected.json +29 -0
- package/conformance/cases/t04-secret-literal-never-in-warning-value/expected.json +5 -0
- package/conformance/cases/z01-every-domain-empty-object/expected.json +64 -0
- package/conformance/cases/z02-every-domain-unknown-key/expected.json +66 -0
- package/dist/cli.js +97 -25
- package/dist/config-fns.js +7 -1
- package/dist/conformance/contract-adapter.d.ts +4 -2
- package/dist/conformance/contract-adapter.js +21 -7
- package/dist/conformance/corpus.js +12 -7
- package/dist/conformance/derive.d.ts +26 -0
- package/dist/conformance/derive.js +25 -2
- package/dist/conformance/index.d.ts +4 -3
- package/dist/conformance/index.js +4 -3
- package/dist/conformance/run.d.ts +3 -3
- package/dist/conformance/run.js +87 -17
- package/dist/conformance/types.d.ts +57 -17
- package/dist/conformance/types.js +4 -2
- package/dist/execution-lane-index.d.ts +20 -1
- package/dist/execution-lane-index.js +24 -1
- package/dist/hooks.d.ts +4 -4
- package/dist/migrate-workers.d.ts +1 -1
- package/dist/migrate-workers.js +3 -7
- package/dist/types.js +13 -4
- package/package.json +2 -1
|
@@ -7238,6 +7238,11 @@
|
|
|
7238
7238
|
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
7239
7239
|
}
|
|
7240
7240
|
},
|
|
7241
|
+
"strictWrite": {
|
|
7242
|
+
"outcome": "rejected",
|
|
7243
|
+
"stage": "validate",
|
|
7244
|
+
"why": "拒:hosts 1025 条,读腿截断到 1024(hosts-grandfathered,存量夹紧只活在读路径);严写按现行 schema 的数组上界拒。"
|
|
7245
|
+
},
|
|
7241
7246
|
"wire": {
|
|
7242
7247
|
"derive": true
|
|
7243
7248
|
},
|
|
@@ -72,6 +72,20 @@
|
|
|
72
72
|
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
|
+
"strictWrite": {
|
|
76
|
+
"outcome": "effective",
|
|
77
|
+
"effective": {
|
|
78
|
+
"scenarios": {
|
|
79
|
+
"scenarios": []
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"warnings": [],
|
|
83
|
+
"metadata": {
|
|
84
|
+
"version": 7,
|
|
85
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
86
|
+
},
|
|
87
|
+
"why": "受理:>1MB 的超大未知值被 schema 剥掉(读腿只报键路径);严写同样剥、不铸告警,受理形等于读腿 scenarios 那一格。"
|
|
88
|
+
},
|
|
75
89
|
"wire": {
|
|
76
90
|
"derive": true
|
|
77
91
|
},
|
|
@@ -75,6 +75,35 @@
|
|
|
75
75
|
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
|
+
"strictWrite": {
|
|
79
|
+
"outcome": "effective",
|
|
80
|
+
"effective": {
|
|
81
|
+
"models": {
|
|
82
|
+
"models": [
|
|
83
|
+
{
|
|
84
|
+
"api": "openai-completions",
|
|
85
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
86
|
+
"enabled": true,
|
|
87
|
+
"id": "v-a-id",
|
|
88
|
+
"name": "v-a",
|
|
89
|
+
"provider": "openai",
|
|
90
|
+
"quotaWeight": 1,
|
|
91
|
+
"reasoning": false,
|
|
92
|
+
"tier": "standard",
|
|
93
|
+
"vision": false
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"roles": {},
|
|
97
|
+
"tierGroups": []
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"warnings": [],
|
|
101
|
+
"metadata": {
|
|
102
|
+
"version": 7,
|
|
103
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
104
|
+
},
|
|
105
|
+
"why": "受理:干净的 models 文档(本条打的是本地腿的内容寻址版本号);严写受理,受理形等于读腿 models 那一格,元数据 = harness 注入的那一份。"
|
|
106
|
+
},
|
|
78
107
|
"wire": {
|
|
79
108
|
"derive": true
|
|
80
109
|
},
|
|
@@ -75,6 +75,35 @@
|
|
|
75
75
|
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
|
+
"strictWrite": {
|
|
79
|
+
"outcome": "effective",
|
|
80
|
+
"effective": {
|
|
81
|
+
"models": {
|
|
82
|
+
"models": [
|
|
83
|
+
{
|
|
84
|
+
"api": "openai-completions",
|
|
85
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
86
|
+
"enabled": true,
|
|
87
|
+
"id": "v-b-id",
|
|
88
|
+
"name": "v-b",
|
|
89
|
+
"provider": "openai",
|
|
90
|
+
"quotaWeight": 1,
|
|
91
|
+
"reasoning": false,
|
|
92
|
+
"tier": "standard",
|
|
93
|
+
"vision": false
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"roles": {},
|
|
97
|
+
"tierGroups": []
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"warnings": [],
|
|
101
|
+
"metadata": {
|
|
102
|
+
"version": 7,
|
|
103
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
104
|
+
},
|
|
105
|
+
"why": "受理:干净的 models 文档(三连之「变」);严写受理,受理形等于读腿 models 那一格。"
|
|
106
|
+
},
|
|
78
107
|
"wire": {
|
|
79
108
|
"derive": true
|
|
80
109
|
},
|
|
@@ -75,6 +75,35 @@
|
|
|
75
75
|
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
|
+
"strictWrite": {
|
|
79
|
+
"outcome": "effective",
|
|
80
|
+
"effective": {
|
|
81
|
+
"models": {
|
|
82
|
+
"models": [
|
|
83
|
+
{
|
|
84
|
+
"api": "openai-completions",
|
|
85
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
86
|
+
"enabled": true,
|
|
87
|
+
"id": "v-a-id",
|
|
88
|
+
"name": "v-a",
|
|
89
|
+
"provider": "openai",
|
|
90
|
+
"quotaWeight": 1,
|
|
91
|
+
"reasoning": false,
|
|
92
|
+
"tier": "standard",
|
|
93
|
+
"vision": false
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"roles": {},
|
|
97
|
+
"tierGroups": []
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"warnings": [],
|
|
101
|
+
"metadata": {
|
|
102
|
+
"version": 7,
|
|
103
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
104
|
+
},
|
|
105
|
+
"why": "受理:与 c30 逐字节相同的文档(三连之「还原」);严写受理,受理形与 c30 相同。"
|
|
106
|
+
},
|
|
78
107
|
"wire": {
|
|
79
108
|
"derive": true
|
|
80
109
|
},
|
|
@@ -81,6 +81,23 @@
|
|
|
81
81
|
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
|
+
"strictWrite": {
|
|
85
|
+
"outcome": "effective",
|
|
86
|
+
"effective": {
|
|
87
|
+
"limits": {
|
|
88
|
+
"infraCostRates": {
|
|
89
|
+
"zzzNestedTypo": 7
|
|
90
|
+
},
|
|
91
|
+
"maxConcurrentRuns": 3
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"warnings": [],
|
|
95
|
+
"metadata": {
|
|
96
|
+
"version": 7,
|
|
97
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
98
|
+
},
|
|
99
|
+
"why": "受理:limits 嵌套的未知键原样承运(读腿报 unknown-keys-carried 全段坐标);严写同样承运,告警面为空。"
|
|
100
|
+
},
|
|
84
101
|
"wire": {
|
|
85
102
|
"derive": true
|
|
86
103
|
},
|
|
@@ -83,6 +83,29 @@
|
|
|
83
83
|
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
|
+
"strictWrite": {
|
|
87
|
+
"outcome": "effective",
|
|
88
|
+
"effective": {
|
|
89
|
+
"skills": {
|
|
90
|
+
"skills": [
|
|
91
|
+
{
|
|
92
|
+
"content": "# hello",
|
|
93
|
+
"description": "d",
|
|
94
|
+
"enabled": true,
|
|
95
|
+
"name": "sk1",
|
|
96
|
+
"rosters": [],
|
|
97
|
+
"scenarios": []
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"warnings": [],
|
|
103
|
+
"metadata": {
|
|
104
|
+
"version": 7,
|
|
105
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
106
|
+
},
|
|
107
|
+
"why": "受理:严写收的是域形(带 content,不是 wire 的 manifest 形);条目里拼错的 `zzzTypo` 被 schema 剥掉(读腿报 unknown-keys-dropped),严写同样剥、不铸告警,受理形等于读腿 skills 那一格。"
|
|
108
|
+
},
|
|
86
109
|
"wire": {
|
|
87
110
|
"outcome": "effective",
|
|
88
111
|
"effective": {
|
|
@@ -71,6 +71,29 @@
|
|
|
71
71
|
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
|
+
"strictWrite": {
|
|
75
|
+
"outcome": "effective",
|
|
76
|
+
"effective": {
|
|
77
|
+
"skills": {
|
|
78
|
+
"skills": [
|
|
79
|
+
{
|
|
80
|
+
"content": "",
|
|
81
|
+
"description": "d",
|
|
82
|
+
"enabled": true,
|
|
83
|
+
"name": "sk-no-content",
|
|
84
|
+
"rosters": [],
|
|
85
|
+
"scenarios": []
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"warnings": [],
|
|
91
|
+
"metadata": {
|
|
92
|
+
"version": 7,
|
|
93
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
94
|
+
},
|
|
95
|
+
"why": "受理:skills 条目不写 content,域形把它补成空串(合法条目),读腿零告警;严写受理,受理形等于读腿 skills 那一格(wire 腿的 manifest 判坏与严写无关)。"
|
|
96
|
+
},
|
|
74
97
|
"wire": {
|
|
75
98
|
"outcome": "effective",
|
|
76
99
|
"effective": {
|
|
@@ -67,6 +67,11 @@
|
|
|
67
67
|
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
|
+
"strictWrite": {
|
|
71
|
+
"outcome": "rejected",
|
|
72
|
+
"stage": "validate",
|
|
73
|
+
"why": "拒:skills 文档是 null,读腿整域降级成默认(domain-defaulted);写入席不把 null 当空域存下。"
|
|
74
|
+
},
|
|
70
75
|
"wire": {
|
|
71
76
|
"outcome": "effective",
|
|
72
77
|
"effective": {
|
|
@@ -62,6 +62,11 @@
|
|
|
62
62
|
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
|
+
"strictWrite": {
|
|
66
|
+
"outcome": "rejected",
|
|
67
|
+
"stage": "validate",
|
|
68
|
+
"why": "拒:`remote-exec` 不是域名 —— 它是执行后端文件,有自己的写入口与校验(writeRemoteExec / validateRemoteExec),不走域写受理;本地腿把它归为专用文件不报,严写拒。"
|
|
69
|
+
},
|
|
65
70
|
"wire": {
|
|
66
71
|
"derive": true
|
|
67
72
|
},
|
|
@@ -156,6 +156,11 @@
|
|
|
156
156
|
"updatedAt": "2026-09-25T00:00:00.000Z"
|
|
157
157
|
}
|
|
158
158
|
},
|
|
159
|
+
"strictWrite": {
|
|
160
|
+
"outcome": "rejected",
|
|
161
|
+
"stage": "validate",
|
|
162
|
+
"why": "拒:models 第 2 条名字形不合法、apiKeyEnv 不是变量名,读腿逐条抢救(entry-dropped + 只带可披露的身份);严写不删条目 ⇒ 整次不受理。"
|
|
163
|
+
},
|
|
159
164
|
"wire": {
|
|
160
165
|
"derive": true
|
|
161
166
|
},
|
|
@@ -156,6 +156,11 @@
|
|
|
156
156
|
"updatedAt": "2026-09-27T00:00:00.000Z"
|
|
157
157
|
}
|
|
158
158
|
},
|
|
159
|
+
"strictWrite": {
|
|
160
|
+
"outcome": "rejected",
|
|
161
|
+
"stage": "validate",
|
|
162
|
+
"why": "拒:models 里两条的 apiKeyEnv 是编码过的私钥形(不是变量名),读腿逐条丢(entry-dropped,身份不可披露);严写 ⇒ 整次不受理。"
|
|
163
|
+
},
|
|
159
164
|
"wire": {
|
|
160
165
|
"derive": true
|
|
161
166
|
},
|
|
@@ -110,6 +110,39 @@
|
|
|
110
110
|
"updatedAt": "2026-09-27T00:00:00.000Z"
|
|
111
111
|
}
|
|
112
112
|
},
|
|
113
|
+
"strictWrite": {
|
|
114
|
+
"outcome": "effective",
|
|
115
|
+
"effective": {
|
|
116
|
+
"limits": {
|
|
117
|
+
"maxToolCallz": 3,
|
|
118
|
+
"sk-live-FAKEC42CARRIEDKEY000000000": 5
|
|
119
|
+
},
|
|
120
|
+
"models": {
|
|
121
|
+
"models": [
|
|
122
|
+
{
|
|
123
|
+
"api": "openai-completions",
|
|
124
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
125
|
+
"enabled": true,
|
|
126
|
+
"id": "keep-id",
|
|
127
|
+
"name": "keep",
|
|
128
|
+
"provider": "openai",
|
|
129
|
+
"quotaWeight": 1,
|
|
130
|
+
"reasoning": false,
|
|
131
|
+
"tier": "standard",
|
|
132
|
+
"vision": false
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"roles": {},
|
|
136
|
+
"tierGroups": []
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"warnings": [],
|
|
140
|
+
"metadata": {
|
|
141
|
+
"version": 13,
|
|
142
|
+
"updatedAt": "2026-09-27T00:00:00.000Z"
|
|
143
|
+
},
|
|
144
|
+
"why": "受理:models 的密钥形未知键被剥(读腿报 unknown-keys-dropped,坐标脱敏)、limits 的未知键承运(unknown-keys-carried);严写同样剥 / 承运、不铸告警,受理形等于读腿两格。"
|
|
145
|
+
},
|
|
113
146
|
"wire": {
|
|
114
147
|
"derive": true
|
|
115
148
|
},
|
|
@@ -127,6 +127,11 @@
|
|
|
127
127
|
"updatedAt": "2026-09-27T00:00:00.000Z"
|
|
128
128
|
}
|
|
129
129
|
},
|
|
130
|
+
"strictWrite": {
|
|
131
|
+
"outcome": "rejected",
|
|
132
|
+
"stage": "validate",
|
|
133
|
+
"why": "拒:models 里两条的 apiKeyEnv 是表单编码 / 深层编码的私钥形,读腿逐条丢(entry-dropped);严写 ⇒ 整次不受理。"
|
|
134
|
+
},
|
|
130
135
|
"wire": {
|
|
131
136
|
"derive": true
|
|
132
137
|
},
|
|
@@ -105,6 +105,11 @@
|
|
|
105
105
|
"updatedAt": "2026-09-27T00:00:00.000Z"
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
|
+
"strictWrite": {
|
|
109
|
+
"outcome": "rejected",
|
|
110
|
+
"stage": "validate",
|
|
111
|
+
"why": "拒:models.roles 里有编码粘连令牌形的坏键,读腿逐条丢(entry-dropped)并剥未知键;严写 ⇒ 整次不受理。"
|
|
112
|
+
},
|
|
108
113
|
"wire": {
|
|
109
114
|
"derive": true
|
|
110
115
|
},
|
|
@@ -175,6 +175,11 @@
|
|
|
175
175
|
"updatedAt": "2026-09-27T00:00:00.000Z"
|
|
176
176
|
}
|
|
177
177
|
},
|
|
178
|
+
"strictWrite": {
|
|
179
|
+
"outcome": "rejected",
|
|
180
|
+
"stage": "validate",
|
|
181
|
+
"why": "拒:三个域里都有读腿要抢救的东西 —— models / mcp 逐条丢(entry-dropped)、hosts 超长名夹紧(hosts-grandfathered);严写在任何一份不受理时整次不受理。"
|
|
182
|
+
},
|
|
178
183
|
"wire": {
|
|
179
184
|
"derive": true
|
|
180
185
|
},
|
|
@@ -78,6 +78,11 @@
|
|
|
78
78
|
"updatedAt": "2026-09-27T00:00:00.000Z"
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
|
+
"strictWrite": {
|
|
82
|
+
"outcome": "rejected",
|
|
83
|
+
"stage": "validate",
|
|
84
|
+
"why": "拒:hosts 第 2 条名字是一条带 userinfo 的 URL(超长且形不合法),读腿夹紧剔除(hosts-grandfathered);严写按现行 schema 拒。"
|
|
85
|
+
},
|
|
81
86
|
"wire": {
|
|
82
87
|
"derive": true
|
|
83
88
|
},
|
|
@@ -88,6 +88,11 @@
|
|
|
88
88
|
"updatedAt": "2026-09-27T00:00:00.000Z"
|
|
89
89
|
}
|
|
90
90
|
},
|
|
91
|
+
"strictWrite": {
|
|
92
|
+
"outcome": "rejected",
|
|
93
|
+
"stage": "validate",
|
|
94
|
+
"why": "拒:models.roles 里有一个带 userinfo 的 URL 形坏键,读腿逐条丢(entry-dropped);严写 ⇒ 整次不受理(拒因文案的脱敏面与本格无关:kit 不比对 diagnostics)。"
|
|
95
|
+
},
|
|
91
96
|
"wire": {
|
|
92
97
|
"derive": true
|
|
93
98
|
},
|
|
@@ -105,6 +105,65 @@
|
|
|
105
105
|
"updatedAt": "2026-10-01T00:00:00.000Z"
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
|
+
"strictWrite": {
|
|
109
|
+
"outcome": "effective",
|
|
110
|
+
"effective": {
|
|
111
|
+
"models": {
|
|
112
|
+
"models": [
|
|
113
|
+
{
|
|
114
|
+
"api": "anthropic-messages",
|
|
115
|
+
"apiKeyEnv": "ANTHROPIC_API_KEY",
|
|
116
|
+
"enabled": true,
|
|
117
|
+
"headers": {
|
|
118
|
+
"anthropic-beta": "context-1m-2025-08-07"
|
|
119
|
+
},
|
|
120
|
+
"id": "claude-x",
|
|
121
|
+
"name": "claude-1m",
|
|
122
|
+
"provider": "anthropic",
|
|
123
|
+
"quotaWeight": 1,
|
|
124
|
+
"reasoning": false,
|
|
125
|
+
"tier": "standard",
|
|
126
|
+
"vision": false
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"api": "openai-completions",
|
|
130
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
131
|
+
"enabled": true,
|
|
132
|
+
"headers": [
|
|
133
|
+
"Anthropic-Beta: not-a-header-bag"
|
|
134
|
+
],
|
|
135
|
+
"id": "gw-id",
|
|
136
|
+
"name": "gw",
|
|
137
|
+
"provider": "openai",
|
|
138
|
+
"quotaWeight": 1,
|
|
139
|
+
"reasoning": false,
|
|
140
|
+
"tier": "standard",
|
|
141
|
+
"vision": false
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"api": "openai-completions",
|
|
145
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
146
|
+
"enabled": true,
|
|
147
|
+
"id": "plain-id",
|
|
148
|
+
"name": "plain",
|
|
149
|
+
"provider": "openai",
|
|
150
|
+
"quotaWeight": 1,
|
|
151
|
+
"reasoning": false,
|
|
152
|
+
"tier": "standard",
|
|
153
|
+
"vision": false
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
"roles": {},
|
|
157
|
+
"tierGroups": []
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"warnings": [],
|
|
161
|
+
"metadata": {
|
|
162
|
+
"version": 7,
|
|
163
|
+
"updatedAt": "2026-10-01T00:00:00.000Z"
|
|
164
|
+
},
|
|
165
|
+
"why": "受理:models[].headers 是解析透明键,读腿逐字交出、零告警;严写同样逐字收下,受理形等于读腿 models 那一格。"
|
|
166
|
+
},
|
|
108
167
|
"wire": {
|
|
109
168
|
"derive": true
|
|
110
169
|
},
|
|
@@ -92,6 +92,50 @@
|
|
|
92
92
|
"updatedAt": "2026-10-03T00:00:00.000Z"
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
|
+
"strictWrite": {
|
|
96
|
+
"outcome": "effective",
|
|
97
|
+
"effective": {
|
|
98
|
+
"workers": {
|
|
99
|
+
"workers": [
|
|
100
|
+
{
|
|
101
|
+
"coords": {},
|
|
102
|
+
"enabled": true,
|
|
103
|
+
"host": "default",
|
|
104
|
+
"image": "sema-server:latest",
|
|
105
|
+
"name": "w-host",
|
|
106
|
+
"runtime": {
|
|
107
|
+
"execution": {
|
|
108
|
+
"coords": {
|
|
109
|
+
"HOST_WORKSPACE_BASE": "/work"
|
|
110
|
+
},
|
|
111
|
+
"lane": "host",
|
|
112
|
+
"secretRefs": {}
|
|
113
|
+
},
|
|
114
|
+
"rateLimitRpm": 0,
|
|
115
|
+
"requirePrincipal": false,
|
|
116
|
+
"store": {
|
|
117
|
+
"backend": "local",
|
|
118
|
+
"memory": {
|
|
119
|
+
"backend": "file",
|
|
120
|
+
"engine": "on"
|
|
121
|
+
},
|
|
122
|
+
"session": "auto"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"secretRefs": {
|
|
126
|
+
"apiKeyEnv": "MODEL_KEY"
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"warnings": [],
|
|
133
|
+
"metadata": {
|
|
134
|
+
"version": 7,
|
|
135
|
+
"updatedAt": "2026-10-03T00:00:00.000Z"
|
|
136
|
+
},
|
|
137
|
+
"why": "受理:合法的 host 车道 worker,读腿零告警;严写受理(workers 写闸 = WorkerSpec 本身),受理形等于读腿 workers 那一格。"
|
|
138
|
+
},
|
|
95
139
|
"wire": {
|
|
96
140
|
"derive": true
|
|
97
141
|
},
|
|
@@ -94,6 +94,52 @@
|
|
|
94
94
|
"updatedAt": "2026-10-03T00:00:00.000Z"
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
|
+
"strictWrite": {
|
|
98
|
+
"outcome": "effective",
|
|
99
|
+
"effective": {
|
|
100
|
+
"workers": {
|
|
101
|
+
"workers": [
|
|
102
|
+
{
|
|
103
|
+
"coords": {},
|
|
104
|
+
"enabled": true,
|
|
105
|
+
"host": "default",
|
|
106
|
+
"image": "sema-server:latest",
|
|
107
|
+
"name": "w-e2b",
|
|
108
|
+
"runtime": {
|
|
109
|
+
"execution": {
|
|
110
|
+
"coords": {
|
|
111
|
+
"E2B_TEMPLATE": "base"
|
|
112
|
+
},
|
|
113
|
+
"lane": "e2b",
|
|
114
|
+
"secretRefs": {
|
|
115
|
+
"E2B_API_KEY": "HOST_E2B_KEY"
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"rateLimitRpm": 0,
|
|
119
|
+
"requirePrincipal": false,
|
|
120
|
+
"store": {
|
|
121
|
+
"backend": "local",
|
|
122
|
+
"memory": {
|
|
123
|
+
"backend": "file",
|
|
124
|
+
"engine": "on"
|
|
125
|
+
},
|
|
126
|
+
"session": "auto"
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"secretRefs": {
|
|
130
|
+
"apiKeyEnv": "MODEL_KEY"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"warnings": [],
|
|
137
|
+
"metadata": {
|
|
138
|
+
"version": 7,
|
|
139
|
+
"updatedAt": "2026-10-03T00:00:00.000Z"
|
|
140
|
+
},
|
|
141
|
+
"why": "受理:合法的 e2b 车道 worker;严写受理,受理形等于读腿 workers 那一格。"
|
|
142
|
+
},
|
|
97
143
|
"wire": {
|
|
98
144
|
"derive": true
|
|
99
145
|
},
|
|
@@ -96,6 +96,54 @@
|
|
|
96
96
|
"updatedAt": "2026-10-03T00:00:00.000Z"
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
|
+
"strictWrite": {
|
|
100
|
+
"outcome": "effective",
|
|
101
|
+
"effective": {
|
|
102
|
+
"workers": {
|
|
103
|
+
"workers": [
|
|
104
|
+
{
|
|
105
|
+
"coords": {},
|
|
106
|
+
"enabled": true,
|
|
107
|
+
"host": "default",
|
|
108
|
+
"image": "sema-server:latest",
|
|
109
|
+
"name": "w-k8s",
|
|
110
|
+
"runtime": {
|
|
111
|
+
"execution": {
|
|
112
|
+
"coords": {
|
|
113
|
+
"K8S_NAMESPACE": "sandboxes",
|
|
114
|
+
"K8S_RUNTIME_CLASS": "",
|
|
115
|
+
"K8S_SANDBOX_IMAGE": "registry.internal/sandbox@sha256:abc"
|
|
116
|
+
},
|
|
117
|
+
"lane": "k8s",
|
|
118
|
+
"secretRefs": {
|
|
119
|
+
"K8S_TOKEN": "HOST_K8S_TOKEN"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"rateLimitRpm": 0,
|
|
123
|
+
"requirePrincipal": false,
|
|
124
|
+
"store": {
|
|
125
|
+
"backend": "local",
|
|
126
|
+
"memory": {
|
|
127
|
+
"backend": "file",
|
|
128
|
+
"engine": "on"
|
|
129
|
+
},
|
|
130
|
+
"session": "auto"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"secretRefs": {
|
|
134
|
+
"apiKeyEnv": "MODEL_KEY"
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"warnings": [],
|
|
141
|
+
"metadata": {
|
|
142
|
+
"version": 7,
|
|
143
|
+
"updatedAt": "2026-10-03T00:00:00.000Z"
|
|
144
|
+
},
|
|
145
|
+
"why": "受理:合法的 k8s 车道 worker;严写受理,受理形等于读腿 workers 那一格。"
|
|
146
|
+
},
|
|
99
147
|
"wire": {
|
|
100
148
|
"derive": true
|
|
101
149
|
},
|