@sema-agent/settings-schema 13.0.1 → 14.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 +90 -0
- package/README.md +18 -1
- package/conformance/VERSION +1 -1
- package/conformance/baseline.json +1 -3
- package/conformance/cases/c01-entry-salvage-then-typo/expected.json +1 -3
- package/conformance/cases/c02-hosts-clamp-stacked/expected.json +1 -3
- package/conformance/cases/c03-literal-dotted-top-key/expected.json +1 -3
- package/conformance/cases/c04-all-bad-collection-not-salvaged/expected.json +1 -3
- package/conformance/cases/c07-hooks-is-not-a-config-domain/expected.json +1 -3
- package/conformance/cases/c08-limits-unknown-carried-64/expected.json +1 -3
- package/conformance/cases/c09-limits-unknown-carried-65/expected.json +1 -3
- package/conformance/cases/c10-record-key-secret-redacted-twice/expected.json +1 -3
- package/conformance/cases/c11-unicode-unknown-keys/expected.json +1 -3
- package/conformance/cases/c12-prototype-name-top-keys/expected.json +1 -3
- package/conformance/cases/c13-models-field-null/expected.json +1 -3
- package/conformance/cases/c14-models-field-empty-array/expected.json +1 -3
- package/conformance/cases/c15-models-field-number/expected.json +1 -3
- package/conformance/cases/c16-deep-nesting-205/expected.json +1 -3
- package/conformance/cases/c17-empty-domain-file/expected.json +1 -3
- package/conformance/cases/c18-wire-envelope-not-an-object/expected.json +1 -3
- package/conformance/cases/c19-wire-envelope-no-version/expected.json +1 -3
- package/conformance/cases/c21-governance-empty-object-wins/expected.json +1 -3
- package/conformance/cases/c23-mixed-validity-models/expected.json +1 -3
- package/conformance/cases/c24-valid-entries-with-unknown-keys/expected.json +1 -3
- package/conformance/cases/c25-published-roundtrip-zero-warnings/expected.json +1 -3
- package/conformance/cases/c26-hosts-array-1024/expected.json +1 -3
- package/conformance/cases/c27-hosts-array-1025/expected.json +1 -3
- package/conformance/cases/c28-large-document-over-1mb/expected.json +1 -3
- package/conformance/cases/c29-salvage-then-domain-refine-fails/expected.json +1 -3
- package/conformance/cases/c30-version-triple-a-first/expected.json +1 -3
- package/conformance/cases/c31-version-triple-b-changed/expected.json +1 -3
- package/conformance/cases/c32-version-triple-a-restored/expected.json +1 -3
- package/conformance/cases/c33-limits-nested-carried-key/expected.json +1 -3
- package/conformance/cases/c34-skills-content-vs-manifest/expected.json +1 -3
- package/conformance/cases/c35-portable-domain-file-is-null/expected.json +1 -3
- package/conformance/cases/c36-skills-entry-without-content/expected.json +1 -3
- package/conformance/cases/c37-skills-field-null/expected.json +1 -3
- package/conformance/cases/c38-remote-exec-is-a-non-domain-file/expected.json +1 -3
- package/conformance/cases/c39-hidden-file-in-config-d/expected.json +1 -3
- package/conformance/cases/c40-s712-identity-only-what-reads-out/expected.json +1 -3
- package/conformance/cases/c41-s792-encoded-pem-identity/expected.json +1 -3
- package/conformance/cases/c42-s792-unknown-key-secret-redacted/expected.json +1 -3
- package/conformance/cases/c43-s792-form-and-deep-encoded-pem/expected.json +1 -3
- package/conformance/cases/c44-s792-utf8-escape-glued-token/expected.json +1 -3
- package/conformance/cases/c45-s792-identity-bounds-and-decode-depth/expected.json +1 -3
- package/conformance/cases/c46-s811-host-name-url-userinfo-withheld/expected.json +1 -3
- package/conformance/cases/c47-s811-roles-key-url-userinfo-withheld/expected.json +1 -3
- package/conformance/cases/c48-s935-model-headers-transported/expected.json +1 -3
- package/conformance/cases/c49-s935-model-headers-secret-entry-dropped/expected.json +1 -3
- package/conformance/cases/c50-s784-lane-host-legal/expected.json +1 -3
- package/conformance/cases/c51-s784-lane-e2b-legal/expected.json +1 -3
- package/conformance/cases/c52-s784-lane-k8s-legal/expected.json +1 -3
- package/conformance/cases/c53-s784-lane-ssh-legal/expected.json +1 -3
- package/conformance/cases/c54-s784-lane-adb-legal/expected.json +1 -3
- package/conformance/cases/c55-s784-lane-local-docker-legal/expected.json +1 -3
- package/conformance/cases/c56-s784-lane-device-legal/expected.json +1 -3
- package/conformance/cases/c57-s784-g1-enabled-no-lane/expected.json +1 -3
- package/conformance/cases/c58-s784-g2-multitenant-host/expected.json +1 -3
- package/conformance/cases/c59-s784-g3-k8s-missing-image/expected.json +1 -3
- package/conformance/cases/c60-s784-g3-e2b-missing-key/expected.json +1 -3
- package/conformance/cases/c61-s784-g3-other-lane-key/expected.json +1 -3
- package/conformance/cases/c62-s784-g7a-session-tidb/expected.json +1 -3
- package/conformance/cases/c63-s784-host-two-replicas/expected.json +1 -3
- package/conformance/cases/c64-s784-multitenant-local-store/expected.json +1 -3
- package/conformance/cases/c65-s784-pg-without-db/expected.json +1 -3
- package/conformance/cases/c66-s784-memory-backend-mismatch/expected.json +1 -3
- package/conformance/cases/c67-s784-retired-field-loud/expected.json +1 -3
- package/conformance/cases/c68-s784-device-local-store/expected.json +1 -3
- package/conformance/cases/c69-deep-encoded-token-past-every-reading/expected.json +1 -3
- package/conformance/cases/c70-rewritten-token-in-front-of-encoded-pem-header/expected.json +1 -3
- package/conformance/cases/c71-one-scanner-write-reads-display-forms/expected.json +1 -3
- package/conformance/cases/c72-dangling-reference-write-seat-refuses/expected.json +1 -3
- package/conformance/cases/c73-projects-extended-registration-reads/expected.json +1 -3
- package/conformance/cases/c74-projects-over-bound-refused/expected.json +1 -3
- package/conformance/cases/c75-projects-patch-remote-uniqueness/expected.json +1 -3
- package/conformance/cases/c76-projects-entry-salvage-nested/expected.json +1 -3
- package/conformance/cases/c77-prompts-center-artifact-carried/expected.json +252 -0
- package/conformance/cases/c77-prompts-center-artifact-carried/input.json +93 -0
- package/conformance/cases/c77-prompts-center-artifact-carried/meta.json +5 -0
- package/conformance/cases/c78-prompts-empty-bindings-refused/expected.json +82 -0
- package/conformance/cases/c78-prompts-empty-bindings-refused/input.json +11 -0
- package/conformance/cases/c78-prompts-empty-bindings-refused/meta.json +5 -0
- package/conformance/cases/c79-prompts-bad-worker-artifact-not-salvaged/expected.json +82 -0
- package/conformance/cases/c79-prompts-bad-worker-artifact-not-salvaged/input.json +129 -0
- package/conformance/cases/c79-prompts-bad-worker-artifact-not-salvaged/meta.json +5 -0
- package/conformance/cases/c80-prompts-wire-v2-verbatim/expected.json +195 -0
- package/conformance/cases/c80-prompts-wire-v2-verbatim/input.json +65 -0
- package/conformance/cases/c80-prompts-wire-v2-verbatim/meta.json +5 -0
- package/conformance/cases/c81-prompts-declaration-bindings-refused/expected.json +82 -0
- package/conformance/cases/c81-prompts-declaration-bindings-refused/input.json +23 -0
- package/conformance/cases/c81-prompts-declaration-bindings-refused/meta.json +5 -0
- package/conformance/cases/c82-prompts-v1-catalog-refused/expected.json +82 -0
- package/conformance/cases/c82-prompts-v1-catalog-refused/input.json +35 -0
- package/conformance/cases/c82-prompts-v1-catalog-refused/meta.json +5 -0
- package/conformance/cases/c83-prompts-bad-overlay-not-salvaged/expected.json +82 -0
- package/conformance/cases/c83-prompts-bad-overlay-not-salvaged/input.json +56 -0
- package/conformance/cases/c83-prompts-bad-overlay-not-salvaged/meta.json +5 -0
- package/conformance/cases/cc01-mcp-toolfaces-non-object/expected.json +1 -3
- package/conformance/cases/cc02-mcp-source-key-is-transported/expected.json +1 -3
- package/conformance/cases/cc03-model-compat-unknown-subkey/expected.json +1 -3
- package/conformance/cases/cli01-model-name-nfc-vs-nfd/expected.json +1 -3
- package/conformance/cases/cli02-control-and-zero-width-chars/expected.json +1 -3
- package/conformance/cases/cli03-credential-pasted-into-unknown-key/expected.json +1 -3
- package/conformance/cases/cli04-env-value-with-newline/expected.json +1 -3
- package/conformance/cases/cli05-long-and-prefix-colliding-names/expected.json +1 -3
- package/conformance/cases/t01-absent-domain-key-not-null/expected.json +1 -3
- package/conformance/cases/t03-prototype-name-key-not-swallowed/expected.json +1 -3
- package/conformance/cases/t04-secret-literal-never-in-warning-value/expected.json +1 -3
- package/conformance/cases/z01-every-domain-empty-object/expected.json +2 -6
- package/conformance/cases/z02-every-domain-unknown-key/expected.json +2 -6
- package/dist/config-fns.d.ts +7 -3
- package/dist/config-fns.js +19 -16
- package/dist/conformance/derive.js +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/mcp-request-entry.d.ts +93 -0
- package/dist/mcp-request-entry.js +157 -0
- package/dist/migration-receipt.d.ts +1 -1
- package/dist/migration-receipt.js +1 -1
- package/dist/node.d.ts +0 -1
- package/dist/node.js +0 -1
- package/dist/one-time-migrations.d.ts +1 -1
- package/dist/one-time-migrations.js +39 -0
- package/dist/safety-merge-spec.d.ts +6 -6
- package/dist/types.d.ts +438 -355
- package/dist/types.js +161 -136
- package/dist/url-shape.d.ts +8 -0
- package/dist/url-shape.js +10 -0
- package/docs/API-SURFACE.md +41 -27
- package/docs/CONFORMANCE.md +1 -1
- package/docs/CONSUMER-INTEGRATION.md +3 -2
- package/llms-full.txt +14 -11
- package/llms.txt +7 -2
- package/package.json +2 -2
- package/dist/prompts-digest.d.ts +0 -16
- package/dist/prompts-digest.js +0 -49
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
"atMention": {
|
|
30
|
+
"mode": "all"
|
|
31
|
+
},
|
|
32
|
+
"models": [],
|
|
33
|
+
"roles": {},
|
|
34
|
+
"tierGroups": []
|
|
35
|
+
},
|
|
36
|
+
"plugins": {
|
|
37
|
+
"plugins": []
|
|
38
|
+
},
|
|
39
|
+
"projects": {
|
|
40
|
+
"projects": {}
|
|
41
|
+
},
|
|
42
|
+
"prompts": {},
|
|
43
|
+
"rosters": {
|
|
44
|
+
"rosters": []
|
|
45
|
+
},
|
|
46
|
+
"scenarios": {
|
|
47
|
+
"scenarios": []
|
|
48
|
+
},
|
|
49
|
+
"skills": {
|
|
50
|
+
"skills": []
|
|
51
|
+
},
|
|
52
|
+
"systems": {
|
|
53
|
+
"systems": []
|
|
54
|
+
},
|
|
55
|
+
"workers": {
|
|
56
|
+
"workers": []
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"warnings": [
|
|
60
|
+
{
|
|
61
|
+
"domain": "prompts",
|
|
62
|
+
"kind": "domain-defaulted"
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"metadata": {
|
|
66
|
+
"version": 7,
|
|
67
|
+
"updatedAt": "2026-10-17T00:00:00.000Z"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"strictWrite": {
|
|
71
|
+
"outcome": "rejected",
|
|
72
|
+
"stage": "validate",
|
|
73
|
+
"why": "拒:`bindings` 墓碑在场(非空声明轴;SS-M10 对它是 refused,原样留着等重新发布)。"
|
|
74
|
+
},
|
|
75
|
+
"wire": {
|
|
76
|
+
"derive": true
|
|
77
|
+
},
|
|
78
|
+
"localRoot": {
|
|
79
|
+
"derive": true,
|
|
80
|
+
"localVersion": 3881422692493397
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"version": 7,
|
|
4
|
+
"updatedAt": "2026-10-17T00:00:00.000Z"
|
|
5
|
+
},
|
|
6
|
+
"domains": {
|
|
7
|
+
"prompts": {
|
|
8
|
+
"bindings": [
|
|
9
|
+
{
|
|
10
|
+
"level": "global",
|
|
11
|
+
"declarations": [
|
|
12
|
+
{
|
|
13
|
+
"id": "center/role",
|
|
14
|
+
"slot": "identity",
|
|
15
|
+
"text": "You are Acme's assistant."
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"enabled": true
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
"atMention": {
|
|
30
|
+
"mode": "all"
|
|
31
|
+
},
|
|
32
|
+
"models": [],
|
|
33
|
+
"roles": {},
|
|
34
|
+
"tierGroups": []
|
|
35
|
+
},
|
|
36
|
+
"plugins": {
|
|
37
|
+
"plugins": []
|
|
38
|
+
},
|
|
39
|
+
"projects": {
|
|
40
|
+
"projects": {}
|
|
41
|
+
},
|
|
42
|
+
"prompts": {},
|
|
43
|
+
"rosters": {
|
|
44
|
+
"rosters": []
|
|
45
|
+
},
|
|
46
|
+
"scenarios": {
|
|
47
|
+
"scenarios": []
|
|
48
|
+
},
|
|
49
|
+
"skills": {
|
|
50
|
+
"skills": []
|
|
51
|
+
},
|
|
52
|
+
"systems": {
|
|
53
|
+
"systems": []
|
|
54
|
+
},
|
|
55
|
+
"workers": {
|
|
56
|
+
"workers": []
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"warnings": [
|
|
60
|
+
{
|
|
61
|
+
"domain": "prompts",
|
|
62
|
+
"kind": "domain-defaulted"
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"metadata": {
|
|
66
|
+
"version": 7,
|
|
67
|
+
"updatedAt": "2026-10-17T00:00:00.000Z"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"strictWrite": {
|
|
71
|
+
"outcome": "rejected",
|
|
72
|
+
"stage": "validate",
|
|
73
|
+
"why": "拒:`catalog` 墓碑在场(完整合法的 v1 信封;SS-M10 对它是 refused)。"
|
|
74
|
+
},
|
|
75
|
+
"wire": {
|
|
76
|
+
"derive": true
|
|
77
|
+
},
|
|
78
|
+
"localRoot": {
|
|
79
|
+
"derive": true,
|
|
80
|
+
"localVersion": 2481539423128972
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"version": 7,
|
|
4
|
+
"updatedAt": "2026-10-17T00:00:00.000Z"
|
|
5
|
+
},
|
|
6
|
+
"domains": {
|
|
7
|
+
"prompts": {
|
|
8
|
+
"catalog": {
|
|
9
|
+
"artifact": {
|
|
10
|
+
"payload": {
|
|
11
|
+
"schemaVersion": 1,
|
|
12
|
+
"assemblyApi": 1,
|
|
13
|
+
"catalogDigest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
|
|
14
|
+
"closure": {
|
|
15
|
+
"basePackId": "center:acme",
|
|
16
|
+
"promptCatalog": {
|
|
17
|
+
"packId": "center:acme",
|
|
18
|
+
"sections": [
|
|
19
|
+
{
|
|
20
|
+
"id": "center/role",
|
|
21
|
+
"slot": "identity",
|
|
22
|
+
"text": "You are Acme's assistant.",
|
|
23
|
+
"contentHash": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"artifactDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
|
|
30
|
+
},
|
|
31
|
+
"sourceRevision": "etag-1"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"contributor": "contract",
|
|
3
|
+
"claim": "一份 13.x 合法的完整 v1 catalog 信封(`{artifact: {payload: schemaVersion 1 …, artifactDigest}, sourceRevision}`)单独在场:读侧整域缺省 `{}` + domain-defaulted,严写拒。仍收 v1 catalog 的消费方会把一份引擎当期读不了的 artifact 交下去(整份候选被引擎拒);catalog 的 digest 是引擎铸的,只能重新发布 / 重铸。",
|
|
4
|
+
"firstRedOn": []
|
|
5
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
"atMention": {
|
|
30
|
+
"mode": "all"
|
|
31
|
+
},
|
|
32
|
+
"models": [],
|
|
33
|
+
"roles": {},
|
|
34
|
+
"tierGroups": []
|
|
35
|
+
},
|
|
36
|
+
"plugins": {
|
|
37
|
+
"plugins": []
|
|
38
|
+
},
|
|
39
|
+
"projects": {
|
|
40
|
+
"projects": {}
|
|
41
|
+
},
|
|
42
|
+
"prompts": {},
|
|
43
|
+
"rosters": {
|
|
44
|
+
"rosters": []
|
|
45
|
+
},
|
|
46
|
+
"scenarios": {
|
|
47
|
+
"scenarios": []
|
|
48
|
+
},
|
|
49
|
+
"skills": {
|
|
50
|
+
"skills": []
|
|
51
|
+
},
|
|
52
|
+
"systems": {
|
|
53
|
+
"systems": []
|
|
54
|
+
},
|
|
55
|
+
"workers": {
|
|
56
|
+
"workers": []
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"warnings": [
|
|
60
|
+
{
|
|
61
|
+
"domain": "prompts",
|
|
62
|
+
"kind": "domain-defaulted"
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"metadata": {
|
|
66
|
+
"version": 7,
|
|
67
|
+
"updatedAt": "2026-10-17T00:00:00.000Z"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"strictWrite": {
|
|
71
|
+
"outcome": "rejected",
|
|
72
|
+
"stage": "validate",
|
|
73
|
+
"why": "拒:第二条 overlay 带 `scope`(v3 的 overlay 键闭集里没有它)—— 写是一个动作,一处坏整份不受理。"
|
|
74
|
+
},
|
|
75
|
+
"wire": {
|
|
76
|
+
"derive": true
|
|
77
|
+
},
|
|
78
|
+
"localRoot": {
|
|
79
|
+
"derive": true,
|
|
80
|
+
"localVersion": 3758088194030775
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"version": 7,
|
|
4
|
+
"updatedAt": "2026-10-17T00:00:00.000Z"
|
|
5
|
+
},
|
|
6
|
+
"domains": {
|
|
7
|
+
"prompts": {
|
|
8
|
+
"artifact": {
|
|
9
|
+
"payload": {
|
|
10
|
+
"schemaVersion": 3,
|
|
11
|
+
"requires": {
|
|
12
|
+
"targets": [
|
|
13
|
+
{
|
|
14
|
+
"id": "behavior",
|
|
15
|
+
"kind": "band"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "scenario",
|
|
19
|
+
"kind": "band"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"ops": [
|
|
23
|
+
"add"
|
|
24
|
+
],
|
|
25
|
+
"traits": [],
|
|
26
|
+
"bindings": [
|
|
27
|
+
"code"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"overlays": [
|
|
31
|
+
{
|
|
32
|
+
"id": "center/conduct",
|
|
33
|
+
"op": "add",
|
|
34
|
+
"target": "behavior",
|
|
35
|
+
"text": "Be kind."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "center/scenario-note/code",
|
|
39
|
+
"op": "add",
|
|
40
|
+
"target": "scenario",
|
|
41
|
+
"text": "CODE-NOTE",
|
|
42
|
+
"scope": {
|
|
43
|
+
"binding": "code"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"evidence": {
|
|
48
|
+
"intent": "center cards",
|
|
49
|
+
"refs": []
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"artifactDigest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"contributor": "contract",
|
|
3
|
+
"claim": "一份 scope artifact 里一条合法 overlay + 一条坏 overlay(带 v2 的 `scope`):整域缺省 `{}`、零 entry-dropped。只在 overlay 级逐条抢救(丢坏的那条、留下 artifact)的消费方会把一份 digest 不再成立的 artifact 交给引擎 —— 引擎拒的是它所在的整份候选(所有域一起不落),爆炸半径远大于「prompts 读不出 = 不下发中心层」。c79 打的是删掉整台 worker 的那一种错法,本条打 overlay 级的那一种。",
|
|
4
|
+
"firstRedOn": []
|
|
5
|
+
}
|
|
@@ -39,9 +39,7 @@
|
|
|
39
39
|
"projects": {
|
|
40
40
|
"projects": {}
|
|
41
41
|
},
|
|
42
|
-
"prompts": {
|
|
43
|
-
"bindings": []
|
|
44
|
-
},
|
|
42
|
+
"prompts": {},
|
|
45
43
|
"rosters": {
|
|
46
44
|
"rosters": []
|
|
47
45
|
},
|
|
@@ -104,9 +102,7 @@
|
|
|
104
102
|
"projects": {
|
|
105
103
|
"projects": {}
|
|
106
104
|
},
|
|
107
|
-
"prompts": {
|
|
108
|
-
"bindings": []
|
|
109
|
-
},
|
|
105
|
+
"prompts": {},
|
|
110
106
|
"rosters": {
|
|
111
107
|
"rosters": []
|
|
112
108
|
},
|
|
@@ -41,9 +41,7 @@
|
|
|
41
41
|
"projects": {
|
|
42
42
|
"projects": {}
|
|
43
43
|
},
|
|
44
|
-
"prompts": {
|
|
45
|
-
"bindings": []
|
|
46
|
-
},
|
|
44
|
+
"prompts": {},
|
|
47
45
|
"rosters": {
|
|
48
46
|
"rosters": []
|
|
49
47
|
},
|
|
@@ -253,9 +251,7 @@
|
|
|
253
251
|
"projects": {
|
|
254
252
|
"projects": {}
|
|
255
253
|
},
|
|
256
|
-
"prompts": {
|
|
257
|
-
"bindings": []
|
|
258
|
-
},
|
|
254
|
+
"prompts": {},
|
|
259
255
|
"rosters": {
|
|
260
256
|
"rosters": []
|
|
261
257
|
},
|
package/dist/config-fns.d.ts
CHANGED
|
@@ -584,7 +584,7 @@ export declare const DOMAIN_READ_FALLBACK: {
|
|
|
584
584
|
* it back would turn every dropped entry into a deletion — read-modify-write faces read the stored document with the document face.
|
|
585
585
|
*
|
|
586
586
|
* Per-domain rationale:
|
|
587
|
-
* - models/skills/mcp/plugins/scenarios/systems/collab
|
|
587
|
+
* - models/skills/mcp/plugins/scenarios/systems/collab: additive capability / content catalogs — a dropped entry is
|
|
588
588
|
* one capability gone (fail-closed). Inside a surviving entry the same holds: the nested collections these entries carry
|
|
589
589
|
* are allowlists / scopings (`allowTools`, `scenarios`, `rosters`, `callsWorkers`, …) where one entry fewer only NARROWS,
|
|
590
590
|
* and the zero-survivor law (never mint an empty collection — several of these read "empty = all") holds at every level.
|
|
@@ -594,7 +594,11 @@ export declare const DOMAIN_READ_FALLBACK: {
|
|
|
594
594
|
* schema refuses (12.2.1's UNC judgement on `contextItems[].value`) must not take the scope's other projects with it.
|
|
595
595
|
* Its whenUnreadable stance stays `"throw"` (a ledger that cannot be read at all is never defaulted — see
|
|
596
596
|
* {@link DOMAIN_READ_FALLBACK}).
|
|
597
|
-
* -
|
|
597
|
+
* - prompts: NONE (14.0.0) — an artifact is digest-bound: a dropped overlay leaves an artifact whose digest no longer holds (the
|
|
598
|
+
engine refuses the whole candidate it rides in, every domain with it), and a dropped worker artifact substitutes the scope's
|
|
599
|
+
text for that worker (a replacement, not a narrowing). Its whenUnreadable stance stays `"default"`: unreadable ⇒ `{}` ⇒ no
|
|
600
|
+
center layer is served (the engine's built-in prompt).
|
|
601
|
+
- rosters: NONE — a dropped roster makes resolveEffectiveForWorker fall back to the FULL models catalog for that worker
|
|
598
602
|
* (放权,不许).
|
|
599
603
|
* - workers: NONE — a dropped worker row reads as "this worker is no longer declared": the reconciler would retire it. The
|
|
600
604
|
* per-row tolerance this domain does have lives in `readWorkersRows` (rows are HELD with their original, never dropped).
|
|
@@ -617,7 +621,7 @@ export declare const DOMAIN_ENTRY_SALVAGE: {
|
|
|
617
621
|
readonly entitlement: "none";
|
|
618
622
|
readonly execution: "none";
|
|
619
623
|
readonly projects: "salvage";
|
|
620
|
-
readonly prompts: "
|
|
624
|
+
readonly prompts: "none";
|
|
621
625
|
readonly limits: "none";
|
|
622
626
|
};
|
|
623
627
|
/** 一个读者向店要文档的口:配置域,以及墓碑表里的retired 域({@link RETIRED_DOMAINS})—— 后者只为让墓碑看见没迁的旧文档。 */
|