mesh-sdk: refuse every contracts module and domain SDK, module names in the shared packages; the bootstrap equals its contracts' files, one row per seat (ADR 0635 §1, ADR 0636 §8; issue 1966)

Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
This commit is contained in:
2026-11-05 18:27:48 +01:00
parent 0d3a10ff20
commit fa56961ae8
17 changed files with 7787 additions and 15 deletions
+12 -4
View File
@@ -165,7 +165,7 @@
},
{
"name": "seat-definitions",
"description": "The seat list (ADR 0636 \u00a74): with no seat, every trunk seat with its digest and the revision of the list; with a seat, that trunk definition resolved with the parts it includes. Reads only.",
"description": "The seat list (ADR 0636 §4): with no seat, every trunk seat with its digest and the revision of the list; with a seat, that trunk definition resolved with the parts it includes. Reads only.",
"optional": true,
"input": {
"properties": {
@@ -244,7 +244,7 @@
}
}
],
"description": "The catalog of the mesh: every module the trunk holds with its manifest, fingerprint and verdict, the packages published, and the seat list (ADR 0636 \u00a71, \u00a74).",
"description": "The catalog of the mesh: every module the trunk holds with its manifest, fingerprint and verdict, the packages published, and the seat list (ADR 0636 §1, §4).",
"family": {
"name": "mesh-catalog.events",
"max-age-days": 7
@@ -823,10 +823,18 @@
"description": "the allowed values"
},
"minimum": {
"type": "number"
"type": [
"number",
"null"
],
"description": "a declared bound; 0 is a bound, absent is none"
},
"maximum": {
"type": "number"
"type": [
"number",
"null"
],
"description": "a declared bound; 0 is a bound, absent is none"
},
"pattern": {
"type": "string"
+74
View File
@@ -267,6 +267,80 @@
}
],
"description": "the value each module on each node takes for each config key, built from the sources alone"
},
{
"name": "kept",
"template": "state",
"key-forms": [
{
"key": "<owner>.<repository>.<number>.<node>.<module>.<key>",
"value": {
"type": "object",
"description": "an approved held value, kept apart from the values mesh-config resolves, laid only over the composition of its own pull request at its head (ADR 0565 clause 5)",
"properties": {
"pull": {
"type": "string",
"description": "the pull request, owner/repository#number"
},
"head": {
"type": "string",
"description": "the head the declaration was read at"
},
"declaration": {
"type": "string",
"description": "the digest of what the declaration holds the value to; the value stays only while it is the same"
},
"node": {
"type": "string"
},
"module": {
"type": "string"
},
"key": {
"type": "string",
"description": "the config key"
},
"value": {
"description": "the value held, as the operator approved it"
},
"by": {
"type": "string"
},
"via": {
"type": "string",
"description": "where the value was proposed from"
},
"why": {
"type": "string"
},
"approved": {
"type": "string",
"description": "who approved it, as the proposal kept it"
},
"proposal": {
"type": "string",
"description": "the proposal's id"
},
"at": {
"type": "string",
"format": "date-time",
"description": "when it was kept"
}
},
"required": [
"pull",
"head",
"declaration",
"node",
"module",
"key",
"value"
]
},
"description": "one held value: the pull request (owner, repository and number, none holding a dot), the node, the module and the config key, which may hold dots"
}
],
"description": "the approved held values of open pull requests, read by the checker and the assigner's composition check"
}
]
}