@mplp/schema 1.0.4 → 1.0.6
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/LICENSE +17 -0
- package/LICENSE.txt +201 -201
- package/README.md +25 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.js +15 -0
- package/dist/kernel-duties.d.ts +9 -0
- package/dist/kernel-duties.js +19 -0
- package/package.json +17 -7
- package/schemas/common/common-types.schema.json +49 -49
- package/schemas/common/events.schema.json +66 -66
- package/schemas/common/identifiers.schema.json +13 -13
- package/schemas/common/learning-sample.schema.json +194 -194
- package/schemas/common/metadata.schema.json +115 -113
- package/schemas/common/trace-base.schema.json +43 -43
- package/schemas/events/mplp-event-core.schema.json +58 -58
- package/schemas/events/mplp-graph-update-event.schema.json +58 -58
- package/schemas/events/mplp-map-event.schema.json +147 -147
- package/schemas/events/mplp-pipeline-stage-event.schema.json +56 -56
- package/schemas/events/mplp-runtime-execution-event.schema.json +58 -58
- package/schemas/events/mplp-sa-event.schema.json +109 -109
- package/schemas/integration/mplp-ci-event.schema.json +130 -130
- package/schemas/integration/mplp-file-update-event.schema.json +70 -70
- package/schemas/integration/mplp-git-event.schema.json +98 -98
- package/schemas/integration/mplp-tool-event.schema.json +83 -83
- package/schemas/invariants/integration-invariants.yaml +139 -147
- package/schemas/invariants/learning-invariants.yaml +98 -106
- package/schemas/invariants/map-invariants.yaml +65 -73
- package/schemas/invariants/observability-invariants.yaml +98 -106
- package/schemas/invariants/sa-invariants.yaml +64 -72
- package/schemas/kernel-duties.json +18 -0
- package/schemas/learning/mplp-learning-sample-core.schema.json +94 -94
- package/schemas/learning/mplp-learning-sample-delta.schema.json +137 -137
- package/schemas/learning/mplp-learning-sample-intent.schema.json +119 -119
- package/schemas/mplp-collab.schema.json +243 -243
- package/schemas/mplp-confirm.schema.json +226 -226
- package/schemas/mplp-context.schema.json +246 -246
- package/schemas/mplp-core.schema.json +183 -183
- package/schemas/mplp-dialog.schema.json +198 -198
- package/schemas/mplp-extension.schema.json +179 -179
- package/schemas/mplp-network.schema.json +230 -230
- package/schemas/mplp-plan.schema.json +193 -193
- package/schemas/mplp-role.schema.json +139 -139
- package/schemas/mplp-trace.schema.json +216 -216
|
@@ -1,72 +1,64 @@
|
|
|
1
|
-
# MPLP v1.0.0 FROZEN – Invariant Set
|
|
2
|
-
# ©
|
|
3
|
-
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
4
|
-
|
|
5
|
-
# MPLP Protocol
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
rule: eq(context.context_id)
|
|
66
|
-
description: "Trace context_id must match SA's Context"
|
|
67
|
-
|
|
68
|
-
- id: sa_trace_plan_binding
|
|
69
|
-
scope: trace
|
|
70
|
-
path: plan_id
|
|
71
|
-
rule: eq(plan.plan_id)
|
|
72
|
-
description: "Trace plan_id must match SA's Plan"
|
|
1
|
+
# MPLP v1.0.0 FROZEN – Invariant Set
|
|
2
|
+
# © 2026 Bangshi Beijing Network Technology Limited Company – Apache-2.0
|
|
3
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
4
|
+
|
|
5
|
+
# MPLP Protocol 1.0.0 — Frozen Specification
|
|
6
|
+
# Status: Frozen as of 2025-11-30
|
|
7
|
+
# Copyright: © 2026 Bangshi Beijing Network Technology Limited Company
|
|
8
|
+
# License: Apache-2.0 (see LICENSE at repository root)
|
|
9
|
+
# Any normative change requires a new protocol version.
|
|
10
|
+
|
|
11
|
+
invariants:
|
|
12
|
+
- id: sa_requires_context
|
|
13
|
+
scope: context
|
|
14
|
+
path: context_id
|
|
15
|
+
rule: uuid-v4
|
|
16
|
+
description: "SA execution requires a valid Context with UUID v4 identifier"
|
|
17
|
+
|
|
18
|
+
- id: sa_context_must_be_active
|
|
19
|
+
scope: context
|
|
20
|
+
path: status
|
|
21
|
+
rule: enum(active)
|
|
22
|
+
description: "SA can only execute when Context status is 'active'"
|
|
23
|
+
|
|
24
|
+
- id: sa_plan_context_binding
|
|
25
|
+
scope: plan
|
|
26
|
+
path: context_id
|
|
27
|
+
rule: eq(context.context_id)
|
|
28
|
+
description: "Plan's context_id must match SA's loaded Context"
|
|
29
|
+
|
|
30
|
+
- id: sa_plan_has_steps
|
|
31
|
+
scope: plan
|
|
32
|
+
path: steps
|
|
33
|
+
rule: min-length(1)
|
|
34
|
+
description: "Plan must contain at least one executable step"
|
|
35
|
+
|
|
36
|
+
- id: sa_steps_have_valid_ids
|
|
37
|
+
scope: plan
|
|
38
|
+
path: steps[*].step_id
|
|
39
|
+
rule: uuid-v4
|
|
40
|
+
description: "All plan steps must have valid UUID v4 identifiers"
|
|
41
|
+
|
|
42
|
+
- id: sa_steps_have_agent_role
|
|
43
|
+
scope: plan
|
|
44
|
+
path: steps[*].agent_role
|
|
45
|
+
rule: non-empty-string
|
|
46
|
+
description: "All steps must specify an agent_role for executor selection"
|
|
47
|
+
|
|
48
|
+
- id: sa_trace_not_empty
|
|
49
|
+
scope: trace
|
|
50
|
+
path: events
|
|
51
|
+
rule: min-length(1)
|
|
52
|
+
description: "SA must emit at least one trace event before completion"
|
|
53
|
+
|
|
54
|
+
- id: sa_trace_context_binding
|
|
55
|
+
scope: trace
|
|
56
|
+
path: context_id
|
|
57
|
+
rule: eq(context.context_id)
|
|
58
|
+
description: "Trace context_id must match SA's Context"
|
|
59
|
+
|
|
60
|
+
- id: sa_trace_plan_binding
|
|
61
|
+
scope: trace
|
|
62
|
+
path: plan_id
|
|
63
|
+
rule: eq(plan.plan_id)
|
|
64
|
+
description: "Trace plan_id must match SA's Plan"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"protocol_version": "1.0.0",
|
|
3
|
+
"source_of_truth": "schemas/v2/taxonomy/kernel-duties.yaml",
|
|
4
|
+
"count": 11,
|
|
5
|
+
"duties": [
|
|
6
|
+
{ "id": "KD-01", "name": "Coordination", "slug": "coordination" },
|
|
7
|
+
{ "id": "KD-02", "name": "Error Handling", "slug": "error-handling" },
|
|
8
|
+
{ "id": "KD-03", "name": "Event Bus", "slug": "event-bus" },
|
|
9
|
+
{ "id": "KD-04", "name": "Learning Feedback", "slug": "learning-feedback" },
|
|
10
|
+
{ "id": "KD-05", "name": "Observability", "slug": "observability" },
|
|
11
|
+
{ "id": "KD-06", "name": "Orchestration", "slug": "orchestration" },
|
|
12
|
+
{ "id": "KD-07", "name": "Performance", "slug": "performance" },
|
|
13
|
+
{ "id": "KD-08", "name": "Protocol Versioning", "slug": "protocol-versioning" },
|
|
14
|
+
{ "id": "KD-09", "name": "Security", "slug": "security" },
|
|
15
|
+
{ "id": "KD-10", "name": "State Sync", "slug": "state-sync" },
|
|
16
|
+
{ "id": "KD-11", "name": "Transaction", "slug": "transaction" }
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: ©
|
|
3
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
-
"$id": "https://mplp.dev/schemas/v1.0/learning/mplp-learning-sample-core.schema.json",
|
|
5
|
-
"title": "MPLP LearningSample Core v1.0",
|
|
6
|
-
"description": "Core structure for MPLP LearningSample entities - defines the universal format for learning samples generated from execution history",
|
|
7
|
-
"type": "object",
|
|
8
|
-
"properties": {
|
|
9
|
-
"sample_id": {
|
|
10
|
-
"type": "string",
|
|
11
|
-
"format": "uuid",
|
|
12
|
-
"description": "Unique identifier of the learning sample (UUID v4)"
|
|
13
|
-
},
|
|
14
|
-
"sample_family": {
|
|
15
|
-
"type": "string",
|
|
16
|
-
"description": "LearningSample family identifier - determines expected input/output structure",
|
|
17
|
-
"examples": [
|
|
18
|
-
"intent_resolution",
|
|
19
|
-
"delta_impact",
|
|
20
|
-
"pipeline_outcome",
|
|
21
|
-
"confirm_decision",
|
|
22
|
-
"graph_evolution",
|
|
23
|
-
"multi_agent_coordination"
|
|
24
|
-
]
|
|
25
|
-
},
|
|
26
|
-
"created_at": {
|
|
27
|
-
"type": "string",
|
|
28
|
-
"format": "date-time",
|
|
29
|
-
"description": "ISO 8601 timestamp when sample was generated"
|
|
30
|
-
},
|
|
31
|
-
"input": {
|
|
32
|
-
"type": "object",
|
|
33
|
-
"description": "Abstracted representation of input conditions, intent, context at sample creation time",
|
|
34
|
-
"additionalProperties": true
|
|
35
|
-
},
|
|
36
|
-
"state": {
|
|
37
|
-
"type": "object",
|
|
38
|
-
"description": "Snapshot of relevant system state before execution (PSG summary, config, roles, etc.)",
|
|
39
|
-
"additionalProperties": true
|
|
40
|
-
},
|
|
41
|
-
"output": {
|
|
42
|
-
"type": "object",
|
|
43
|
-
"description": "Abstracted representation of actual outcomes, decisions, changes, results",
|
|
44
|
-
"additionalProperties": true
|
|
45
|
-
},
|
|
46
|
-
"meta": {
|
|
47
|
-
"type": "object",
|
|
48
|
-
"description": "Metadata, labels, quality signals, provenance IDs, human feedback annotations",
|
|
49
|
-
"properties": {
|
|
50
|
-
"source_flow_id": {
|
|
51
|
-
"type": "string",
|
|
52
|
-
"description": "Optional: Flow ID that generated this sample (e.g., FLOW-01, SA-01, MAP-01)"
|
|
53
|
-
},
|
|
54
|
-
"source_event_ids": {
|
|
55
|
-
"type": "array",
|
|
56
|
-
"items": {
|
|
57
|
-
"type": "string",
|
|
58
|
-
"format": "uuid"
|
|
59
|
-
},
|
|
60
|
-
"description": "Optional: Observability event IDs referenced by this sample"
|
|
61
|
-
},
|
|
62
|
-
"project_id": {
|
|
63
|
-
"type": "string",
|
|
64
|
-
"format": "uuid",
|
|
65
|
-
"description": "Optional: Project context identifier"
|
|
66
|
-
},
|
|
67
|
-
"human_feedback_label": {
|
|
68
|
-
"type": "string",
|
|
69
|
-
"enum": [
|
|
70
|
-
"approved",
|
|
71
|
-
"rejected",
|
|
72
|
-
"not_reviewed"
|
|
73
|
-
],
|
|
74
|
-
"description": "Optional: Human quality assessment"
|
|
75
|
-
},
|
|
76
|
-
"quality_score": {
|
|
77
|
-
"type": "number",
|
|
78
|
-
"minimum": 0,
|
|
79
|
-
"maximum": 1,
|
|
80
|
-
"description": "Optional: Automated quality score (0.0-1.0)"
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
"additionalProperties": true
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
"required": [
|
|
87
|
-
"sample_id",
|
|
88
|
-
"sample_family",
|
|
89
|
-
"created_at",
|
|
90
|
-
"input",
|
|
91
|
-
"output"
|
|
92
|
-
],
|
|
93
|
-
"additionalProperties": true
|
|
94
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: © 2026 Bangshi Beijing Network Technology Limited Company\nLicense: Apache-2.0\nAny normative change requires a new protocol version.",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"$id": "https://mplp.dev/schemas/v1.0/learning/mplp-learning-sample-core.schema.json",
|
|
5
|
+
"title": "MPLP LearningSample Core v1.0",
|
|
6
|
+
"description": "Core structure for MPLP LearningSample entities - defines the universal format for learning samples generated from execution history",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"sample_id": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"format": "uuid",
|
|
12
|
+
"description": "Unique identifier of the learning sample (UUID v4)"
|
|
13
|
+
},
|
|
14
|
+
"sample_family": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "LearningSample family identifier - determines expected input/output structure",
|
|
17
|
+
"examples": [
|
|
18
|
+
"intent_resolution",
|
|
19
|
+
"delta_impact",
|
|
20
|
+
"pipeline_outcome",
|
|
21
|
+
"confirm_decision",
|
|
22
|
+
"graph_evolution",
|
|
23
|
+
"multi_agent_coordination"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"created_at": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"format": "date-time",
|
|
29
|
+
"description": "ISO 8601 timestamp when sample was generated"
|
|
30
|
+
},
|
|
31
|
+
"input": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"description": "Abstracted representation of input conditions, intent, context at sample creation time",
|
|
34
|
+
"additionalProperties": true
|
|
35
|
+
},
|
|
36
|
+
"state": {
|
|
37
|
+
"type": "object",
|
|
38
|
+
"description": "Snapshot of relevant system state before execution (PSG summary, config, roles, etc.)",
|
|
39
|
+
"additionalProperties": true
|
|
40
|
+
},
|
|
41
|
+
"output": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"description": "Abstracted representation of actual outcomes, decisions, changes, results",
|
|
44
|
+
"additionalProperties": true
|
|
45
|
+
},
|
|
46
|
+
"meta": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"description": "Metadata, labels, quality signals, provenance IDs, human feedback annotations",
|
|
49
|
+
"properties": {
|
|
50
|
+
"source_flow_id": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "Optional: Flow ID that generated this sample (e.g., FLOW-01, SA-01, MAP-01)"
|
|
53
|
+
},
|
|
54
|
+
"source_event_ids": {
|
|
55
|
+
"type": "array",
|
|
56
|
+
"items": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"format": "uuid"
|
|
59
|
+
},
|
|
60
|
+
"description": "Optional: Observability event IDs referenced by this sample"
|
|
61
|
+
},
|
|
62
|
+
"project_id": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"format": "uuid",
|
|
65
|
+
"description": "Optional: Project context identifier"
|
|
66
|
+
},
|
|
67
|
+
"human_feedback_label": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"enum": [
|
|
70
|
+
"approved",
|
|
71
|
+
"rejected",
|
|
72
|
+
"not_reviewed"
|
|
73
|
+
],
|
|
74
|
+
"description": "Optional: Human quality assessment"
|
|
75
|
+
},
|
|
76
|
+
"quality_score": {
|
|
77
|
+
"type": "number",
|
|
78
|
+
"minimum": 0,
|
|
79
|
+
"maximum": 1,
|
|
80
|
+
"description": "Optional: Automated quality score (0.0-1.0)"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"additionalProperties": true
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"required": [
|
|
87
|
+
"sample_id",
|
|
88
|
+
"sample_family",
|
|
89
|
+
"created_at",
|
|
90
|
+
"input",
|
|
91
|
+
"output"
|
|
92
|
+
],
|
|
93
|
+
"additionalProperties": true
|
|
94
|
+
}
|
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: ©
|
|
3
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
-
"$id": "https://mplp.dev/schemas/v1.0/learning/mplp-learning-sample-delta.schema.json",
|
|
5
|
-
"title": "MPLP LearningSample – Delta Impact v1.0",
|
|
6
|
-
"description": "Specialized schema for delta_impact samples capturing change effect analysis and compensation planning",
|
|
7
|
-
"allOf": [
|
|
8
|
-
{
|
|
9
|
-
"$ref": "mplp-learning-sample-core.schema.json"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"type": "object",
|
|
13
|
-
"properties": {
|
|
14
|
-
"sample_family": {
|
|
15
|
-
"const": "delta_impact",
|
|
16
|
-
"description": "Must be 'delta_impact' for this sample type"
|
|
17
|
-
},
|
|
18
|
-
"input": {
|
|
19
|
-
"type": "object",
|
|
20
|
-
"properties": {
|
|
21
|
-
"delta_id": {
|
|
22
|
-
"type": "string",
|
|
23
|
-
"description": "Delta Intent identifier"
|
|
24
|
-
},
|
|
25
|
-
"intent_id": {
|
|
26
|
-
"type": "string",
|
|
27
|
-
"description": "Original intent being modified"
|
|
28
|
-
},
|
|
29
|
-
"delta_type": {
|
|
30
|
-
"type": "string",
|
|
31
|
-
"enum": [
|
|
32
|
-
"refinement",
|
|
33
|
-
"correction",
|
|
34
|
-
"expansion",
|
|
35
|
-
"reduction",
|
|
36
|
-
"pivot"
|
|
37
|
-
],
|
|
38
|
-
"description": "Type of delta change"
|
|
39
|
-
},
|
|
40
|
-
"change_summary": {
|
|
41
|
-
"type": "string",
|
|
42
|
-
"description": "Abstracted summary of requested change"
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
"required": [
|
|
46
|
-
"delta_id",
|
|
47
|
-
"intent_id",
|
|
48
|
-
"change_summary"
|
|
49
|
-
],
|
|
50
|
-
"additionalProperties": true
|
|
51
|
-
},
|
|
52
|
-
"state": {
|
|
53
|
-
"type": "object",
|
|
54
|
-
"properties": {
|
|
55
|
-
"affected_artifact_count": {
|
|
56
|
-
"type": "integer",
|
|
57
|
-
"minimum": 0,
|
|
58
|
-
"description": "Optional: Number of artifacts potentially affected"
|
|
59
|
-
},
|
|
60
|
-
"risk_level": {
|
|
61
|
-
"type": "string",
|
|
62
|
-
"enum": [
|
|
63
|
-
"low",
|
|
64
|
-
"medium",
|
|
65
|
-
"high",
|
|
66
|
-
"critical"
|
|
67
|
-
],
|
|
68
|
-
"description": "Assessed risk level before change"
|
|
69
|
-
},
|
|
70
|
-
"psg_complexity_score": {
|
|
71
|
-
"type": "number",
|
|
72
|
-
"minimum": 0,
|
|
73
|
-
"description": "Optional: PSG complexity metric before change"
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
"additionalProperties": true
|
|
77
|
-
},
|
|
78
|
-
"output": {
|
|
79
|
-
"type": "object",
|
|
80
|
-
"properties": {
|
|
81
|
-
"actual_impact_summary": {
|
|
82
|
-
"type": "string",
|
|
83
|
-
"description": "Summary of actual impact after analysis"
|
|
84
|
-
},
|
|
85
|
-
"impact_scope": {
|
|
86
|
-
"type": "string",
|
|
87
|
-
"enum": [
|
|
88
|
-
"local",
|
|
89
|
-
"module",
|
|
90
|
-
"system",
|
|
91
|
-
"global"
|
|
92
|
-
],
|
|
93
|
-
"description": "Scope of detected impact"
|
|
94
|
-
},
|
|
95
|
-
"comp_plan_required": {
|
|
96
|
-
"type": "boolean",
|
|
97
|
-
"description": "Whether compensation plan was needed"
|
|
98
|
-
},
|
|
99
|
-
"comp_plan_applied": {
|
|
100
|
-
"type": "boolean",
|
|
101
|
-
"description": "Optional: Whether compensation was actually applied"
|
|
102
|
-
},
|
|
103
|
-
"rollback_used": {
|
|
104
|
-
"type": "boolean",
|
|
105
|
-
"description": "Optional: Whether rollback mechanism was triggered"
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
"required": [
|
|
109
|
-
"actual_impact_summary",
|
|
110
|
-
"impact_scope"
|
|
111
|
-
],
|
|
112
|
-
"additionalProperties": true
|
|
113
|
-
},
|
|
114
|
-
"meta": {
|
|
115
|
-
"type": "object",
|
|
116
|
-
"properties": {
|
|
117
|
-
"impact_analysis_duration_ms": {
|
|
118
|
-
"type": "integer",
|
|
119
|
-
"minimum": 0,
|
|
120
|
-
"description": "Optional: Time spent on impact analysis"
|
|
121
|
-
},
|
|
122
|
-
"predicted_vs_actual_accuracy": {
|
|
123
|
-
"type": "string",
|
|
124
|
-
"enum": [
|
|
125
|
-
"accurate",
|
|
126
|
-
"underestimated",
|
|
127
|
-
"overestimated"
|
|
128
|
-
],
|
|
129
|
-
"description": "Optional: Accuracy of impact prediction"
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
"additionalProperties": true
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
]
|
|
137
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$comment": "MPLP Protocol v1.0.0 — Frozen Specification\nFreeze Date: 2025-12-03\nStatus: FROZEN (no breaking changes permitted)\nGovernance: MPLP Protocol Governance Committee (MPGC)\nCopyright: © 2026 Bangshi Beijing Network Technology Limited Company\nLicense: Apache-2.0\nAny normative change requires a new protocol version.",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"$id": "https://mplp.dev/schemas/v1.0/learning/mplp-learning-sample-delta.schema.json",
|
|
5
|
+
"title": "MPLP LearningSample – Delta Impact v1.0",
|
|
6
|
+
"description": "Specialized schema for delta_impact samples capturing change effect analysis and compensation planning",
|
|
7
|
+
"allOf": [
|
|
8
|
+
{
|
|
9
|
+
"$ref": "mplp-learning-sample-core.schema.json"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"sample_family": {
|
|
15
|
+
"const": "delta_impact",
|
|
16
|
+
"description": "Must be 'delta_impact' for this sample type"
|
|
17
|
+
},
|
|
18
|
+
"input": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"properties": {
|
|
21
|
+
"delta_id": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "Delta Intent identifier"
|
|
24
|
+
},
|
|
25
|
+
"intent_id": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "Original intent being modified"
|
|
28
|
+
},
|
|
29
|
+
"delta_type": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"enum": [
|
|
32
|
+
"refinement",
|
|
33
|
+
"correction",
|
|
34
|
+
"expansion",
|
|
35
|
+
"reduction",
|
|
36
|
+
"pivot"
|
|
37
|
+
],
|
|
38
|
+
"description": "Type of delta change"
|
|
39
|
+
},
|
|
40
|
+
"change_summary": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "Abstracted summary of requested change"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"required": [
|
|
46
|
+
"delta_id",
|
|
47
|
+
"intent_id",
|
|
48
|
+
"change_summary"
|
|
49
|
+
],
|
|
50
|
+
"additionalProperties": true
|
|
51
|
+
},
|
|
52
|
+
"state": {
|
|
53
|
+
"type": "object",
|
|
54
|
+
"properties": {
|
|
55
|
+
"affected_artifact_count": {
|
|
56
|
+
"type": "integer",
|
|
57
|
+
"minimum": 0,
|
|
58
|
+
"description": "Optional: Number of artifacts potentially affected"
|
|
59
|
+
},
|
|
60
|
+
"risk_level": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"enum": [
|
|
63
|
+
"low",
|
|
64
|
+
"medium",
|
|
65
|
+
"high",
|
|
66
|
+
"critical"
|
|
67
|
+
],
|
|
68
|
+
"description": "Assessed risk level before change"
|
|
69
|
+
},
|
|
70
|
+
"psg_complexity_score": {
|
|
71
|
+
"type": "number",
|
|
72
|
+
"minimum": 0,
|
|
73
|
+
"description": "Optional: PSG complexity metric before change"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"additionalProperties": true
|
|
77
|
+
},
|
|
78
|
+
"output": {
|
|
79
|
+
"type": "object",
|
|
80
|
+
"properties": {
|
|
81
|
+
"actual_impact_summary": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "Summary of actual impact after analysis"
|
|
84
|
+
},
|
|
85
|
+
"impact_scope": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"enum": [
|
|
88
|
+
"local",
|
|
89
|
+
"module",
|
|
90
|
+
"system",
|
|
91
|
+
"global"
|
|
92
|
+
],
|
|
93
|
+
"description": "Scope of detected impact"
|
|
94
|
+
},
|
|
95
|
+
"comp_plan_required": {
|
|
96
|
+
"type": "boolean",
|
|
97
|
+
"description": "Whether compensation plan was needed"
|
|
98
|
+
},
|
|
99
|
+
"comp_plan_applied": {
|
|
100
|
+
"type": "boolean",
|
|
101
|
+
"description": "Optional: Whether compensation was actually applied"
|
|
102
|
+
},
|
|
103
|
+
"rollback_used": {
|
|
104
|
+
"type": "boolean",
|
|
105
|
+
"description": "Optional: Whether rollback mechanism was triggered"
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"required": [
|
|
109
|
+
"actual_impact_summary",
|
|
110
|
+
"impact_scope"
|
|
111
|
+
],
|
|
112
|
+
"additionalProperties": true
|
|
113
|
+
},
|
|
114
|
+
"meta": {
|
|
115
|
+
"type": "object",
|
|
116
|
+
"properties": {
|
|
117
|
+
"impact_analysis_duration_ms": {
|
|
118
|
+
"type": "integer",
|
|
119
|
+
"minimum": 0,
|
|
120
|
+
"description": "Optional: Time spent on impact analysis"
|
|
121
|
+
},
|
|
122
|
+
"predicted_vs_actual_accuracy": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"enum": [
|
|
125
|
+
"accurate",
|
|
126
|
+
"underestimated",
|
|
127
|
+
"overestimated"
|
|
128
|
+
],
|
|
129
|
+
"description": "Optional: Accuracy of impact prediction"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"additionalProperties": true
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|