@sema-agent/settings-schema 2.1.0 → 3.0.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/CHANGELOG.md +253 -1
- package/README.md +45 -10
- package/conformance/VERSION +1 -0
- package/conformance/baseline.json +55 -0
- package/conformance/cases/c01-entry-salvage-then-typo/expected.json +105 -0
- package/conformance/cases/c01-entry-salvage-then-typo/input.json +22 -0
- package/conformance/cases/c01-entry-salvage-then-typo/meta.json +10 -0
- package/conformance/cases/c02-hosts-clamp-stacked/expected.json +96 -0
- package/conformance/cases/c02-hosts-clamp-stacked/input.json +21 -0
- package/conformance/cases/c02-hosts-clamp-stacked/meta.json +10 -0
- package/conformance/cases/c03-literal-dotted-top-key/expected.json +112 -0
- package/conformance/cases/c03-literal-dotted-top-key/input.json +26 -0
- package/conformance/cases/c03-literal-dotted-top-key/meta.json +5 -0
- package/conformance/cases/c04-all-bad-collection-not-salvaged/expected.json +77 -0
- package/conformance/cases/c04-all-bad-collection-not-salvaged/input.json +18 -0
- package/conformance/cases/c04-all-bad-collection-not-salvaged/meta.json +5 -0
- package/conformance/cases/c05-gate-domain-bad-entry-throws/expected.json +16 -0
- package/conformance/cases/c05-gate-domain-bad-entry-throws/input.json +18 -0
- package/conformance/cases/c05-gate-domain-bad-entry-throws/meta.json +5 -0
- package/conformance/cases/c06-legacy-governance-lift/expected.json +99 -0
- package/conformance/cases/c06-legacy-governance-lift/input.json +20 -0
- package/conformance/cases/c06-legacy-governance-lift/meta.json +9 -0
- package/conformance/cases/c07-hooks-is-not-a-config-domain/expected.json +72 -0
- package/conformance/cases/c07-hooks-is-not-a-config-domain/input.json +43 -0
- package/conformance/cases/c07-hooks-is-not-a-config-domain/meta.json +6 -0
- package/conformance/cases/c08-limits-unknown-carried-64/expected.json +336 -0
- package/conformance/cases/c08-limits-unknown-carried-64/input.json +74 -0
- package/conformance/cases/c08-limits-unknown-carried-64/meta.json +5 -0
- package/conformance/cases/c09-limits-unknown-carried-65/expected.json +338 -0
- package/conformance/cases/c09-limits-unknown-carried-65/input.json +75 -0
- package/conformance/cases/c09-limits-unknown-carried-65/meta.json +7 -0
- package/conformance/cases/c10-record-key-secret-redacted-twice/expected.json +106 -0
- package/conformance/cases/c10-record-key-secret-redacted-twice/input.json +29 -0
- package/conformance/cases/c10-record-key-secret-redacted-twice/meta.json +13 -0
- package/conformance/cases/c11-unicode-unknown-keys/expected.json +88 -0
- package/conformance/cases/c11-unicode-unknown-keys/input.json +13 -0
- package/conformance/cases/c11-unicode-unknown-keys/meta.json +5 -0
- package/conformance/cases/c12-prototype-name-top-keys/expected.json +72 -0
- package/conformance/cases/c12-prototype-name-top-keys/input.json +20 -0
- package/conformance/cases/c12-prototype-name-top-keys/meta.json +11 -0
- package/conformance/cases/c13-models-field-null/expected.json +77 -0
- package/conformance/cases/c13-models-field-null/input.json +11 -0
- package/conformance/cases/c13-models-field-null/meta.json +5 -0
- package/conformance/cases/c14-models-field-empty-array/expected.json +72 -0
- package/conformance/cases/c14-models-field-empty-array/input.json +11 -0
- package/conformance/cases/c14-models-field-empty-array/meta.json +5 -0
- package/conformance/cases/c15-models-field-number/expected.json +77 -0
- package/conformance/cases/c15-models-field-number/input.json +11 -0
- package/conformance/cases/c15-models-field-number/meta.json +5 -0
- package/conformance/cases/c16-deep-nesting-205/expected.json +83 -0
- package/conformance/cases/c16-deep-nesting-205/input.json +421 -0
- package/conformance/cases/c16-deep-nesting-205/meta.json +5 -0
- package/conformance/cases/c17-empty-domain-file/expected.json +73 -0
- package/conformance/cases/c17-empty-domain-file/input.json +10 -0
- package/conformance/cases/c17-empty-domain-file/meta.json +5 -0
- package/conformance/cases/c18-wire-envelope-not-an-object/expected.json +74 -0
- package/conformance/cases/c18-wire-envelope-not-an-object/input.json +8 -0
- package/conformance/cases/c18-wire-envelope-not-an-object/meta.json +5 -0
- package/conformance/cases/c19-wire-envelope-no-version/expected.json +74 -0
- package/conformance/cases/c19-wire-envelope-no-version/input.json +13 -0
- package/conformance/cases/c19-wire-envelope-no-version/meta.json +5 -0
- package/conformance/cases/c20-governance-absent-lifts/expected.json +84 -0
- package/conformance/cases/c20-governance-absent-lifts/input.json +11 -0
- package/conformance/cases/c20-governance-absent-lifts/meta.json +9 -0
- package/conformance/cases/c21-governance-empty-object-wins/expected.json +72 -0
- package/conformance/cases/c21-governance-empty-object-wins/input.json +12 -0
- package/conformance/cases/c21-governance-empty-object-wins/meta.json +5 -0
- package/conformance/cases/c22-governance-null-throws/expected.json +16 -0
- package/conformance/cases/c22-governance-null-throws/input.json +9 -0
- package/conformance/cases/c22-governance-null-throws/meta.json +5 -0
- package/conformance/cases/c23-mixed-validity-models/expected.json +106 -0
- package/conformance/cases/c23-mixed-validity-models/input.json +27 -0
- package/conformance/cases/c23-mixed-validity-models/meta.json +9 -0
- package/conformance/cases/c24-valid-entries-with-unknown-keys/expected.json +100 -0
- package/conformance/cases/c24-valid-entries-with-unknown-keys/input.json +25 -0
- package/conformance/cases/c24-valid-entries-with-unknown-keys/meta.json +5 -0
- package/conformance/cases/c25-published-roundtrip-zero-warnings/expected.json +89 -0
- package/conformance/cases/c25-published-roundtrip-zero-warnings/input.json +24 -0
- package/conformance/cases/c25-published-roundtrip-zero-warnings/meta.json +5 -0
- package/conformance/cases/c26-hosts-array-1024/expected.json +7241 -0
- package/conformance/cases/c26-hosts-array-1024/input.json +3084 -0
- package/conformance/cases/c26-hosts-array-1024/meta.json +5 -0
- package/conformance/cases/c27-hosts-array-1025/expected.json +7248 -0
- package/conformance/cases/c27-hosts-array-1025/input.json +3087 -0
- package/conformance/cases/c27-hosts-array-1025/meta.json +5 -0
- package/conformance/cases/c28-large-document-over-1mb/expected.json +82 -0
- package/conformance/cases/c28-large-document-over-1mb/input.json +11 -0
- package/conformance/cases/c28-large-document-over-1mb/meta.json +5 -0
- package/conformance/cases/c29-salvage-then-domain-refine-fails/expected.json +77 -0
- package/conformance/cases/c29-salvage-then-domain-refine-fails/input.json +27 -0
- package/conformance/cases/c29-salvage-then-domain-refine-fails/meta.json +5 -0
- package/conformance/cases/c30-version-triple-a-first/expected.json +85 -0
- package/conformance/cases/c30-version-triple-a-first/input.json +18 -0
- package/conformance/cases/c30-version-triple-a-first/meta.json +5 -0
- package/conformance/cases/c31-version-triple-b-changed/expected.json +85 -0
- package/conformance/cases/c31-version-triple-b-changed/input.json +18 -0
- package/conformance/cases/c31-version-triple-b-changed/meta.json +5 -0
- package/conformance/cases/c32-version-triple-a-restored/expected.json +85 -0
- package/conformance/cases/c32-version-triple-a-restored/input.json +18 -0
- package/conformance/cases/c32-version-triple-a-restored/meta.json +5 -0
- package/conformance/cases/c33-limits-nested-carried-key/expected.json +91 -0
- package/conformance/cases/c33-limits-nested-carried-key/input.json +14 -0
- package/conformance/cases/c33-limits-nested-carried-key/meta.json +5 -0
- package/conformance/cases/c34-skills-content-vs-manifest/expected.json +160 -0
- package/conformance/cases/c34-skills-content-vs-manifest/input.json +18 -0
- package/conformance/cases/c34-skills-content-vs-manifest/meta.json +5 -0
- package/conformance/cases/c35-portable-domain-file-is-null/expected.json +76 -0
- package/conformance/cases/c35-portable-domain-file-is-null/input.json +9 -0
- package/conformance/cases/c35-portable-domain-file-is-null/meta.json +5 -0
- package/conformance/cases/c36-skills-entry-without-content/expected.json +144 -0
- package/conformance/cases/c36-skills-entry-without-content/input.json +16 -0
- package/conformance/cases/c36-skills-entry-without-content/meta.json +5 -0
- package/conformance/cases/c37-skills-field-null/expected.json +134 -0
- package/conformance/cases/c37-skills-field-null/input.json +9 -0
- package/conformance/cases/c37-skills-field-null/meta.json +5 -0
- package/conformance/cases/c38-remote-exec-is-a-non-domain-file/expected.json +72 -0
- package/conformance/cases/c38-remote-exec-is-a-non-domain-file/input.json +11 -0
- package/conformance/cases/c38-remote-exec-is-a-non-domain-file/meta.json +5 -0
- package/conformance/cases/c39-hidden-file-in-config-d/expected.json +72 -0
- package/conformance/cases/c39-hidden-file-in-config-d/input.json +11 -0
- package/conformance/cases/c39-hidden-file-in-config-d/meta.json +5 -0
- package/conformance/cases/cc01-mcp-toolfaces-non-object/expected.json +112 -0
- package/conformance/cases/cc01-mcp-toolfaces-non-object/input.json +39 -0
- package/conformance/cases/cc01-mcp-toolfaces-non-object/meta.json +8 -0
- package/conformance/cases/cc02-mcp-source-key-is-transported/expected.json +85 -0
- package/conformance/cases/cc02-mcp-source-key-is-transported/input.json +20 -0
- package/conformance/cases/cc02-mcp-source-key-is-transported/meta.json +8 -0
- package/conformance/cases/cc03-model-compat-unknown-subkey/expected.json +89 -0
- package/conformance/cases/cc03-model-compat-unknown-subkey/input.json +22 -0
- package/conformance/cases/cc03-model-compat-unknown-subkey/meta.json +8 -0
- package/conformance/cases/cli01-model-name-nfc-vs-nfd/expected.json +102 -0
- package/conformance/cases/cli01-model-name-nfc-vs-nfd/input.json +30 -0
- package/conformance/cases/cli01-model-name-nfc-vs-nfd/meta.json +9 -0
- package/conformance/cases/cli02-control-and-zero-width-chars/expected.json +115 -0
- package/conformance/cases/cli02-control-and-zero-width-chars/input.json +42 -0
- package/conformance/cases/cli02-control-and-zero-width-chars/meta.json +9 -0
- package/conformance/cases/cli03-credential-pasted-into-unknown-key/expected.json +92 -0
- package/conformance/cases/cli03-credential-pasted-into-unknown-key/input.json +16 -0
- package/conformance/cases/cli03-credential-pasted-into-unknown-key/meta.json +9 -0
- package/conformance/cases/cli04-env-value-with-newline/expected.json +93 -0
- package/conformance/cases/cli04-env-value-with-newline/input.json +23 -0
- package/conformance/cases/cli04-env-value-with-newline/meta.json +5 -0
- package/conformance/cases/cli05-long-and-prefix-colliding-names/expected.json +109 -0
- package/conformance/cases/cli05-long-and-prefix-colliding-names/input.json +30 -0
- package/conformance/cases/cli05-long-and-prefix-colliding-names/meta.json +5 -0
- package/conformance/cases/t01-absent-domain-key-not-null/expected.json +93 -0
- package/conformance/cases/t01-absent-domain-key-not-null/input.json +29 -0
- package/conformance/cases/t01-absent-domain-key-not-null/meta.json +6 -0
- package/conformance/cases/t02-entry-salvage-vs-whole-domain-refusal/expected.json +16 -0
- package/conformance/cases/t02-entry-salvage-vs-whole-domain-refusal/input.json +32 -0
- package/conformance/cases/t02-entry-salvage-vs-whole-domain-refusal/meta.json +6 -0
- package/conformance/cases/t03-prototype-name-key-not-swallowed/expected.json +107 -0
- package/conformance/cases/t03-prototype-name-key-not-swallowed/input.json +25 -0
- package/conformance/cases/t03-prototype-name-key-not-swallowed/meta.json +6 -0
- package/conformance/cases/t04-secret-literal-never-in-warning-value/expected.json +105 -0
- package/conformance/cases/t04-secret-literal-never-in-warning-value/input.json +25 -0
- package/conformance/cases/t04-secret-literal-never-in-warning-value/meta.json +14 -0
- package/conformance/cases/z01-every-domain-empty-object/expected.json +72 -0
- package/conformance/cases/z01-every-domain-empty-object/input.json +25 -0
- package/conformance/cases/z01-every-domain-empty-object/meta.json +5 -0
- package/conformance/cases/z02-every-domain-unknown-key/expected.json +228 -0
- package/conformance/cases/z02-every-domain-unknown-key/input.json +59 -0
- package/conformance/cases/z02-every-domain-unknown-key/meta.json +5 -0
- package/conformance/historical/settings-schema@1.0.0.json +1080 -0
- package/conformance/historical/settings-schema@1.10.0.json +1080 -0
- package/conformance/historical/settings-schema@1.5.0.json +1080 -0
- package/conformance/historical/settings-schema@2.0.0.json +1080 -0
- package/conformance/historical/settings-schema@2.1.0.json +1080 -0
- package/dist/api/auth.d.ts +42 -1
- package/dist/api/auth.js +71 -4
- package/dist/api/scopes.d.ts +9 -1
- package/dist/api/scopes.js +8 -2
- package/dist/config-fns.d.ts +60 -28
- package/dist/config-fns.js +94 -77
- package/dist/conformance/canonical.d.ts +36 -0
- package/dist/conformance/canonical.js +114 -0
- package/dist/conformance/contract-adapter.d.ts +20 -0
- package/dist/conformance/contract-adapter.js +74 -0
- package/dist/conformance/corpus.d.ts +73 -0
- package/dist/conformance/corpus.js +99 -0
- package/dist/conformance/derive.d.ts +48 -0
- package/dist/conformance/derive.js +136 -0
- package/dist/conformance/index.d.ts +22 -0
- package/dist/conformance/index.js +22 -0
- package/dist/conformance/run.d.ts +27 -0
- package/dist/conformance/run.js +424 -0
- package/dist/conformance/types.d.ts +288 -0
- package/dist/conformance/types.js +4 -0
- package/dist/conformance/warnings.d.ts +88 -0
- package/dist/conformance/warnings.js +144 -0
- package/dist/cross-domain.d.ts +1 -1
- package/dist/cross-domain.js +1 -1
- package/dist/file-store.d.ts +7 -0
- package/dist/file-store.js +6 -2
- package/dist/hooks.d.ts +2 -2
- package/dist/hooks.js +2 -2
- package/dist/scheduler-store.d.ts +1 -1
- package/dist/scheduler-store.js +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.js +3 -3
- package/package.json +7 -5
- package/dist/api/wire.d.ts +0 -60
- package/dist/api/wire.js +0 -89
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"domains": {
|
|
3
|
+
"outcome": "effective",
|
|
4
|
+
"effective": {
|
|
5
|
+
"collab": {
|
|
6
|
+
"templates": []
|
|
7
|
+
},
|
|
8
|
+
"entitlement": {
|
|
9
|
+
"budgetGroups": [],
|
|
10
|
+
"groupBindings": [],
|
|
11
|
+
"subjects": [],
|
|
12
|
+
"tiers": []
|
|
13
|
+
},
|
|
14
|
+
"execution": {
|
|
15
|
+
"allowedLanes": [
|
|
16
|
+
"host"
|
|
17
|
+
],
|
|
18
|
+
"required": false
|
|
19
|
+
},
|
|
20
|
+
"governance": {},
|
|
21
|
+
"hosts": {
|
|
22
|
+
"hosts": []
|
|
23
|
+
},
|
|
24
|
+
"limits": {},
|
|
25
|
+
"mcp": {
|
|
26
|
+
"servers": [
|
|
27
|
+
{
|
|
28
|
+
"elicitation": false,
|
|
29
|
+
"enabled": true,
|
|
30
|
+
"name": "s1",
|
|
31
|
+
"notes": "line1\nline2tail",
|
|
32
|
+
"rosters": [],
|
|
33
|
+
"scenarios": [],
|
|
34
|
+
"transport": {
|
|
35
|
+
"kind": "http",
|
|
36
|
+
"url": "https://x.example"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"models": {
|
|
42
|
+
"models": [
|
|
43
|
+
{
|
|
44
|
+
"api": "openai-completions",
|
|
45
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
46
|
+
"enabled": true,
|
|
47
|
+
"id": "ok-name-id",
|
|
48
|
+
"name": "ok-name",
|
|
49
|
+
"provider": "openai",
|
|
50
|
+
"quotaWeight": 1,
|
|
51
|
+
"reasoning": false,
|
|
52
|
+
"tier": "standard",
|
|
53
|
+
"vision": false
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"roles": {},
|
|
57
|
+
"tierGroups": []
|
|
58
|
+
},
|
|
59
|
+
"plugins": {
|
|
60
|
+
"plugins": []
|
|
61
|
+
},
|
|
62
|
+
"projects": {
|
|
63
|
+
"projects": {}
|
|
64
|
+
},
|
|
65
|
+
"prompts": {
|
|
66
|
+
"bindings": []
|
|
67
|
+
},
|
|
68
|
+
"rosters": {
|
|
69
|
+
"rosters": []
|
|
70
|
+
},
|
|
71
|
+
"runtime": {},
|
|
72
|
+
"scenarios": {
|
|
73
|
+
"scenarios": []
|
|
74
|
+
},
|
|
75
|
+
"skills": {
|
|
76
|
+
"skills": []
|
|
77
|
+
},
|
|
78
|
+
"systems": {
|
|
79
|
+
"systems": []
|
|
80
|
+
},
|
|
81
|
+
"workers": {
|
|
82
|
+
"workers": []
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"warnings": [
|
|
86
|
+
{
|
|
87
|
+
"domain": "models",
|
|
88
|
+
"kind": "entry-dropped",
|
|
89
|
+
"path": [
|
|
90
|
+
"models",
|
|
91
|
+
0
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"domain": "models",
|
|
96
|
+
"kind": "entry-dropped",
|
|
97
|
+
"path": [
|
|
98
|
+
"models",
|
|
99
|
+
1
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"metadata": {
|
|
104
|
+
"version": 7,
|
|
105
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"wire": {
|
|
109
|
+
"derive": true
|
|
110
|
+
},
|
|
111
|
+
"localRoot": {
|
|
112
|
+
"derive": true,
|
|
113
|
+
"localVersion": 4213710307592750
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"version": 7,
|
|
4
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
5
|
+
},
|
|
6
|
+
"domains": {
|
|
7
|
+
"models": {
|
|
8
|
+
"models": [
|
|
9
|
+
{
|
|
10
|
+
"name": "a\u0007b",
|
|
11
|
+
"provider": "openai",
|
|
12
|
+
"id": "a\u0007b-id",
|
|
13
|
+
"apiKeyEnv": "OPENAI_API_KEY"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "zerowidth",
|
|
17
|
+
"provider": "openai",
|
|
18
|
+
"id": "zerowidth-id",
|
|
19
|
+
"apiKeyEnv": "OPENAI_API_KEY"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "ok-name",
|
|
23
|
+
"provider": "openai",
|
|
24
|
+
"id": "ok-name-id",
|
|
25
|
+
"apiKeyEnv": "OPENAI_API_KEY"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"mcp": {
|
|
30
|
+
"servers": [
|
|
31
|
+
{
|
|
32
|
+
"name": "s1",
|
|
33
|
+
"transport": {
|
|
34
|
+
"kind": "http",
|
|
35
|
+
"url": "https://x.example"
|
|
36
|
+
},
|
|
37
|
+
"notes": "line1\nline2tail"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"contributor": "cli",
|
|
3
|
+
"claim": "壳视角②:控制字符 / 零宽字符落在两种字段上,结局**不同**,而这正是壳要知道的:落在 name(有字符集)⇒ 条目被丢 + 点名;落在自由文本(mcp 备注)⇒ **逐字原样承运**,一个字节都不转义、不折叠。转义是显示面的责任,读侧不许代劳 —— 代劳了,壳就再也拿不到运维真正写下的那个串。",
|
|
4
|
+
"firstRedOn": [
|
|
5
|
+
"settings-schema@1.0.0",
|
|
6
|
+
"settings-schema@1.10.0",
|
|
7
|
+
"settings-schema@1.5.0"
|
|
8
|
+
]
|
|
9
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
{
|
|
2
|
+
"domains": {
|
|
3
|
+
"outcome": "effective",
|
|
4
|
+
"effective": {
|
|
5
|
+
"collab": {
|
|
6
|
+
"templates": []
|
|
7
|
+
},
|
|
8
|
+
"entitlement": {
|
|
9
|
+
"budgetGroups": [],
|
|
10
|
+
"groupBindings": [],
|
|
11
|
+
"subjects": [],
|
|
12
|
+
"tiers": []
|
|
13
|
+
},
|
|
14
|
+
"execution": {
|
|
15
|
+
"allowedLanes": [
|
|
16
|
+
"host"
|
|
17
|
+
],
|
|
18
|
+
"required": false
|
|
19
|
+
},
|
|
20
|
+
"governance": {},
|
|
21
|
+
"hosts": {
|
|
22
|
+
"hosts": [
|
|
23
|
+
{
|
|
24
|
+
"approved": false,
|
|
25
|
+
"drain": false,
|
|
26
|
+
"enabled": true,
|
|
27
|
+
"labels": [],
|
|
28
|
+
"name": "h1"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"limits": {},
|
|
33
|
+
"mcp": {
|
|
34
|
+
"servers": []
|
|
35
|
+
},
|
|
36
|
+
"models": {
|
|
37
|
+
"models": [],
|
|
38
|
+
"roles": {},
|
|
39
|
+
"tierGroups": []
|
|
40
|
+
},
|
|
41
|
+
"plugins": {
|
|
42
|
+
"plugins": []
|
|
43
|
+
},
|
|
44
|
+
"projects": {
|
|
45
|
+
"projects": {}
|
|
46
|
+
},
|
|
47
|
+
"prompts": {
|
|
48
|
+
"bindings": []
|
|
49
|
+
},
|
|
50
|
+
"rosters": {
|
|
51
|
+
"rosters": []
|
|
52
|
+
},
|
|
53
|
+
"runtime": {},
|
|
54
|
+
"scenarios": {
|
|
55
|
+
"scenarios": []
|
|
56
|
+
},
|
|
57
|
+
"skills": {
|
|
58
|
+
"skills": []
|
|
59
|
+
},
|
|
60
|
+
"systems": {
|
|
61
|
+
"systems": []
|
|
62
|
+
},
|
|
63
|
+
"workers": {
|
|
64
|
+
"workers": []
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"warnings": [
|
|
68
|
+
{
|
|
69
|
+
"domain": "hosts",
|
|
70
|
+
"keys": [
|
|
71
|
+
[
|
|
72
|
+
"hosts",
|
|
73
|
+
0,
|
|
74
|
+
"url"
|
|
75
|
+
]
|
|
76
|
+
],
|
|
77
|
+
"kind": "unknown-keys-dropped"
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"metadata": {
|
|
81
|
+
"version": 7,
|
|
82
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"wire": {
|
|
86
|
+
"derive": true
|
|
87
|
+
},
|
|
88
|
+
"localRoot": {
|
|
89
|
+
"derive": true,
|
|
90
|
+
"localVersion": 2617555914511015
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"contributor": "cli",
|
|
3
|
+
"claim": "壳视角③:一条带 userinfo 凭据的 URL 被粘进 hosts 条目。**真读数与提案不同**:HostEntry 根本没有 `url` 字段 ⇒ 它是未知键,被剥掉、只报**键路径**。于是不变量成立且更强:凭据既不进 effective、也不进告警(告警里只有 ['hosts',0,'url'] 这串坐标)。本条的机器门 = 告警面零命中语料秘密。",
|
|
4
|
+
"firstRedOn": [],
|
|
5
|
+
"secrets": [
|
|
6
|
+
"sk-live-ZZZZZZZZZZZZZZZZZZZZ",
|
|
7
|
+
"https://user:sk-live-ZZZZZZZZZZZZZZZZZZZZ@example.com"
|
|
8
|
+
]
|
|
9
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"domains": {
|
|
3
|
+
"outcome": "effective",
|
|
4
|
+
"effective": {
|
|
5
|
+
"collab": {
|
|
6
|
+
"templates": []
|
|
7
|
+
},
|
|
8
|
+
"entitlement": {
|
|
9
|
+
"budgetGroups": [],
|
|
10
|
+
"groupBindings": [],
|
|
11
|
+
"subjects": [],
|
|
12
|
+
"tiers": []
|
|
13
|
+
},
|
|
14
|
+
"execution": {
|
|
15
|
+
"allowedLanes": [
|
|
16
|
+
"host"
|
|
17
|
+
],
|
|
18
|
+
"required": false
|
|
19
|
+
},
|
|
20
|
+
"governance": {},
|
|
21
|
+
"hosts": {
|
|
22
|
+
"hosts": []
|
|
23
|
+
},
|
|
24
|
+
"limits": {},
|
|
25
|
+
"mcp": {
|
|
26
|
+
"servers": []
|
|
27
|
+
},
|
|
28
|
+
"models": {
|
|
29
|
+
"models": [],
|
|
30
|
+
"roles": {},
|
|
31
|
+
"tierGroups": []
|
|
32
|
+
},
|
|
33
|
+
"plugins": {
|
|
34
|
+
"plugins": []
|
|
35
|
+
},
|
|
36
|
+
"projects": {
|
|
37
|
+
"projects": {}
|
|
38
|
+
},
|
|
39
|
+
"prompts": {
|
|
40
|
+
"bindings": []
|
|
41
|
+
},
|
|
42
|
+
"rosters": {
|
|
43
|
+
"rosters": []
|
|
44
|
+
},
|
|
45
|
+
"runtime": {},
|
|
46
|
+
"scenarios": {
|
|
47
|
+
"scenarios": []
|
|
48
|
+
},
|
|
49
|
+
"skills": {
|
|
50
|
+
"skills": []
|
|
51
|
+
},
|
|
52
|
+
"systems": {
|
|
53
|
+
"systems": []
|
|
54
|
+
},
|
|
55
|
+
"workers": {
|
|
56
|
+
"workers": [
|
|
57
|
+
{
|
|
58
|
+
"coords": {},
|
|
59
|
+
"enabled": true,
|
|
60
|
+
"env": {
|
|
61
|
+
"BAR": "c\rd",
|
|
62
|
+
"FOO": "a\nb"
|
|
63
|
+
},
|
|
64
|
+
"host": "default",
|
|
65
|
+
"image": "sema-server:latest",
|
|
66
|
+
"name": "w1",
|
|
67
|
+
"runtime": {
|
|
68
|
+
"memoryBackend": "off",
|
|
69
|
+
"rateLimitRpm": 0,
|
|
70
|
+
"requirePrincipal": false,
|
|
71
|
+
"sessionBackend": "auto"
|
|
72
|
+
},
|
|
73
|
+
"secretRefs": {
|
|
74
|
+
"apiKeyEnv": "OPENAI_API_KEY"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"warnings": [],
|
|
81
|
+
"metadata": {
|
|
82
|
+
"version": 7,
|
|
83
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"wire": {
|
|
87
|
+
"derive": true
|
|
88
|
+
},
|
|
89
|
+
"localRoot": {
|
|
90
|
+
"derive": true,
|
|
91
|
+
"localVersion": 2617555914511015
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"version": 7,
|
|
4
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
5
|
+
},
|
|
6
|
+
"domains": {
|
|
7
|
+
"workers": {
|
|
8
|
+
"workers": [
|
|
9
|
+
{
|
|
10
|
+
"name": "w1",
|
|
11
|
+
"runtime": {},
|
|
12
|
+
"secretRefs": {
|
|
13
|
+
"apiKeyEnv": "OPENAI_API_KEY"
|
|
14
|
+
},
|
|
15
|
+
"env": {
|
|
16
|
+
"FOO": "a\nb",
|
|
17
|
+
"BAR": "c\rd"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{
|
|
2
|
+
"domains": {
|
|
3
|
+
"outcome": "effective",
|
|
4
|
+
"effective": {
|
|
5
|
+
"collab": {
|
|
6
|
+
"templates": []
|
|
7
|
+
},
|
|
8
|
+
"entitlement": {
|
|
9
|
+
"budgetGroups": [],
|
|
10
|
+
"groupBindings": [],
|
|
11
|
+
"subjects": [],
|
|
12
|
+
"tiers": []
|
|
13
|
+
},
|
|
14
|
+
"execution": {
|
|
15
|
+
"allowedLanes": [
|
|
16
|
+
"host"
|
|
17
|
+
],
|
|
18
|
+
"required": false
|
|
19
|
+
},
|
|
20
|
+
"governance": {},
|
|
21
|
+
"hosts": {
|
|
22
|
+
"hosts": []
|
|
23
|
+
},
|
|
24
|
+
"limits": {},
|
|
25
|
+
"mcp": {
|
|
26
|
+
"servers": []
|
|
27
|
+
},
|
|
28
|
+
"models": {
|
|
29
|
+
"models": [
|
|
30
|
+
{
|
|
31
|
+
"api": "openai-completions",
|
|
32
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
33
|
+
"enabled": true,
|
|
34
|
+
"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-id",
|
|
35
|
+
"name": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
|
36
|
+
"provider": "openai",
|
|
37
|
+
"quotaWeight": 1,
|
|
38
|
+
"reasoning": false,
|
|
39
|
+
"tier": "standard",
|
|
40
|
+
"vision": false
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"api": "openai-completions",
|
|
44
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
45
|
+
"enabled": true,
|
|
46
|
+
"id": "prefix-shared-name-aaaa-id",
|
|
47
|
+
"name": "prefix-shared-name-aaaa",
|
|
48
|
+
"provider": "openai",
|
|
49
|
+
"quotaWeight": 1,
|
|
50
|
+
"reasoning": false,
|
|
51
|
+
"tier": "standard",
|
|
52
|
+
"vision": false
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"api": "openai-completions",
|
|
56
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
57
|
+
"enabled": true,
|
|
58
|
+
"id": "prefix-shared-name-aaab-id",
|
|
59
|
+
"name": "prefix-shared-name-aaab",
|
|
60
|
+
"provider": "openai",
|
|
61
|
+
"quotaWeight": 1,
|
|
62
|
+
"reasoning": false,
|
|
63
|
+
"tier": "standard",
|
|
64
|
+
"vision": false
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"roles": {},
|
|
68
|
+
"tierGroups": []
|
|
69
|
+
},
|
|
70
|
+
"plugins": {
|
|
71
|
+
"plugins": []
|
|
72
|
+
},
|
|
73
|
+
"projects": {
|
|
74
|
+
"projects": {}
|
|
75
|
+
},
|
|
76
|
+
"prompts": {
|
|
77
|
+
"bindings": []
|
|
78
|
+
},
|
|
79
|
+
"rosters": {
|
|
80
|
+
"rosters": []
|
|
81
|
+
},
|
|
82
|
+
"runtime": {},
|
|
83
|
+
"scenarios": {
|
|
84
|
+
"scenarios": []
|
|
85
|
+
},
|
|
86
|
+
"skills": {
|
|
87
|
+
"skills": []
|
|
88
|
+
},
|
|
89
|
+
"systems": {
|
|
90
|
+
"systems": []
|
|
91
|
+
},
|
|
92
|
+
"workers": {
|
|
93
|
+
"workers": []
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"warnings": [],
|
|
97
|
+
"metadata": {
|
|
98
|
+
"version": 7,
|
|
99
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"wire": {
|
|
103
|
+
"derive": true
|
|
104
|
+
},
|
|
105
|
+
"localRoot": {
|
|
106
|
+
"derive": true,
|
|
107
|
+
"localVersion": 1318036626730287
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"version": 7,
|
|
4
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
5
|
+
},
|
|
6
|
+
"domains": {
|
|
7
|
+
"models": {
|
|
8
|
+
"models": [
|
|
9
|
+
{
|
|
10
|
+
"name": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
|
|
11
|
+
"provider": "openai",
|
|
12
|
+
"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-id",
|
|
13
|
+
"apiKeyEnv": "OPENAI_API_KEY"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "prefix-shared-name-aaaa",
|
|
17
|
+
"provider": "openai",
|
|
18
|
+
"id": "prefix-shared-name-aaaa-id",
|
|
19
|
+
"apiKeyEnv": "OPENAI_API_KEY"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "prefix-shared-name-aaab",
|
|
23
|
+
"provider": "openai",
|
|
24
|
+
"id": "prefix-shared-name-aaab-id",
|
|
25
|
+
"apiKeyEnv": "OPENAI_API_KEY"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"domains": {
|
|
3
|
+
"outcome": "effective",
|
|
4
|
+
"effective": {
|
|
5
|
+
"collab": {
|
|
6
|
+
"templates": []
|
|
7
|
+
},
|
|
8
|
+
"entitlement": {
|
|
9
|
+
"budgetGroups": [],
|
|
10
|
+
"groupBindings": [],
|
|
11
|
+
"subjects": [],
|
|
12
|
+
"tiers": []
|
|
13
|
+
},
|
|
14
|
+
"execution": {
|
|
15
|
+
"allowedLanes": [
|
|
16
|
+
"host"
|
|
17
|
+
],
|
|
18
|
+
"required": false
|
|
19
|
+
},
|
|
20
|
+
"governance": {},
|
|
21
|
+
"hosts": {
|
|
22
|
+
"hosts": [
|
|
23
|
+
{
|
|
24
|
+
"approved": true,
|
|
25
|
+
"drain": false,
|
|
26
|
+
"enabled": true,
|
|
27
|
+
"labels": [],
|
|
28
|
+
"name": "box1"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"limits": {},
|
|
33
|
+
"mcp": {
|
|
34
|
+
"servers": []
|
|
35
|
+
},
|
|
36
|
+
"models": {
|
|
37
|
+
"models": [
|
|
38
|
+
{
|
|
39
|
+
"api": "openai-completions",
|
|
40
|
+
"apiKeyEnv": "OPENAI_API_KEY",
|
|
41
|
+
"enabled": true,
|
|
42
|
+
"id": "m0-id",
|
|
43
|
+
"name": "m0",
|
|
44
|
+
"provider": "openai",
|
|
45
|
+
"quotaWeight": 1,
|
|
46
|
+
"reasoning": false,
|
|
47
|
+
"tier": "standard",
|
|
48
|
+
"vision": false
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"roles": {},
|
|
52
|
+
"tierGroups": []
|
|
53
|
+
},
|
|
54
|
+
"plugins": {
|
|
55
|
+
"plugins": []
|
|
56
|
+
},
|
|
57
|
+
"projects": {
|
|
58
|
+
"projects": {}
|
|
59
|
+
},
|
|
60
|
+
"prompts": {
|
|
61
|
+
"bindings": []
|
|
62
|
+
},
|
|
63
|
+
"rosters": {
|
|
64
|
+
"rosters": []
|
|
65
|
+
},
|
|
66
|
+
"runtime": {},
|
|
67
|
+
"scenarios": {
|
|
68
|
+
"scenarios": []
|
|
69
|
+
},
|
|
70
|
+
"skills": {
|
|
71
|
+
"skills": []
|
|
72
|
+
},
|
|
73
|
+
"systems": {
|
|
74
|
+
"systems": []
|
|
75
|
+
},
|
|
76
|
+
"workers": {
|
|
77
|
+
"workers": []
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"warnings": [],
|
|
81
|
+
"metadata": {
|
|
82
|
+
"version": 7,
|
|
83
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"wire": {
|
|
87
|
+
"derive": true
|
|
88
|
+
},
|
|
89
|
+
"localRoot": {
|
|
90
|
+
"derive": true,
|
|
91
|
+
"localVersion": 2247688933988744
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"version": 7,
|
|
4
|
+
"updatedAt": "2026-09-16T00:00:00.000Z"
|
|
5
|
+
},
|
|
6
|
+
"domains": {
|
|
7
|
+
"models": {
|
|
8
|
+
"models": [
|
|
9
|
+
{
|
|
10
|
+
"name": "m0",
|
|
11
|
+
"provider": "openai",
|
|
12
|
+
"id": "m0-id",
|
|
13
|
+
"apiKeyEnv": "OPENAI_API_KEY"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"hosts": {
|
|
18
|
+
"hosts": [
|
|
19
|
+
{
|
|
20
|
+
"name": "box1",
|
|
21
|
+
"approved": true
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"web-admin-ui": {
|
|
26
|
+
"theme": "dark"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"contributor": "test",
|
|
3
|
+
"claim": "告警对象上 `domain` **缺席**(不是 `null`、不是空串)时,三腿必须原样传成缺席。消费方普遍写 `{domain: w.domain, …}` 这种投影(web-admin [7285] ③ 实测 `unread-config-file` 无必填 `domain`),谁把缺席折成 `null` 或 `\"\"`,谁就让下游多红一处而自己看不见。",
|
|
4
|
+
"firstRedOn": [],
|
|
5
|
+
"note": "一条输入里同时放两条 `unread-config-file`:`hosts.json`(非便携域 ⇒ **带** `domain`)与 `web-admin-ui.json`(非域名 ⇒ **不带** `domain`)。两种形并排,所以「把缺席一律折成 null」与「把 domain 整个丢掉」两种错法都会红,而不是只挡住其中一种。诚实边界:`unread-config-file` 是 `config.d/` 扫描**独有**的 kind(闭集里唯一 `domain` 可选的那条),所以「缺席传成缺席」这件事**结构上只在 local-root 腿上可观察**;domains / wire 两腿在本条上是零告警的正控(它们不该凭空造出这条告警)。firstRedOn 空是**实跑**出来的:五个历史版本(1.0.0/1.5.0/1.10.0/2.0.0/2.1.0)在本条上全绿 ⇒ 护栏,不是回归凭证。"
|
|
6
|
+
}
|