@mplp/schema 1.0.1 → 1.0.3
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/README.md +61 -0
- package/dist/index.d.ts +0 -11
- package/dist/index.js +7 -11
- package/package.json +24 -5
- 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 +113 -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 +12 -8
- package/schemas/invariants/learning-invariants.yaml +12 -8
- package/schemas/invariants/map-invariants.yaml +12 -8
- package/schemas/invariants/observability-invariants.yaml +12 -8
- package/schemas/invariants/sa-invariants.yaml +12 -8
- 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,83 +1,83 @@
|
|
|
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: © 2025 邦士(北京)网络科技有限公司\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/integration/mplp-tool-event.json",
|
|
5
|
-
"title": "MPLP Tool Event v1.0",
|
|
6
|
-
"description": "External tool invocation and results (formatters, linters, test runners, generators)",
|
|
7
|
-
"type": "object",
|
|
8
|
-
"additionalProperties": false,
|
|
9
|
-
"properties": {
|
|
10
|
-
"tool_id": {
|
|
11
|
-
"type": "string",
|
|
12
|
-
"minLength": 1,
|
|
13
|
-
"description": "Unique identifier for the tool",
|
|
14
|
-
"examples": [
|
|
15
|
-
"eslint-v8.50.0",
|
|
16
|
-
"prettier-v3.0.0",
|
|
17
|
-
"black-v23.10.0"
|
|
18
|
-
]
|
|
19
|
-
},
|
|
20
|
-
"tool_kind": {
|
|
21
|
-
"type": "string",
|
|
22
|
-
"enum": [
|
|
23
|
-
"formatter",
|
|
24
|
-
"linter",
|
|
25
|
-
"test_runner",
|
|
26
|
-
"generator",
|
|
27
|
-
"other"
|
|
28
|
-
],
|
|
29
|
-
"description": "Category of tool"
|
|
30
|
-
},
|
|
31
|
-
"invocation_id": {
|
|
32
|
-
"type": "string",
|
|
33
|
-
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
|
|
34
|
-
"description": "UUID v4 identifier for this specific invocation"
|
|
35
|
-
},
|
|
36
|
-
"status": {
|
|
37
|
-
"type": "string",
|
|
38
|
-
"enum": [
|
|
39
|
-
"pending",
|
|
40
|
-
"running",
|
|
41
|
-
"succeeded",
|
|
42
|
-
"failed",
|
|
43
|
-
"cancelled"
|
|
44
|
-
],
|
|
45
|
-
"description": "Current execution status"
|
|
46
|
-
},
|
|
47
|
-
"started_at": {
|
|
48
|
-
"type": "string",
|
|
49
|
-
"format": "date-time",
|
|
50
|
-
"description": "Invocation start timestamp (ISO 8601)"
|
|
51
|
-
},
|
|
52
|
-
"completed_at": {
|
|
53
|
-
"type": "string",
|
|
54
|
-
"format": "date-time",
|
|
55
|
-
"description": "Invocation completion timestamp (ISO 8601)"
|
|
56
|
-
},
|
|
57
|
-
"exit_code": {
|
|
58
|
-
"type": "integer",
|
|
59
|
-
"description": "Tool process exit code (if applicable)"
|
|
60
|
-
},
|
|
61
|
-
"output_summary": {
|
|
62
|
-
"type": "string",
|
|
63
|
-
"description": "Brief summary of tool output or errors"
|
|
64
|
-
},
|
|
65
|
-
"args": {
|
|
66
|
-
"type": "array",
|
|
67
|
-
"items": {
|
|
68
|
-
"type": "string"
|
|
69
|
-
},
|
|
70
|
-
"description": "Command-line arguments passed to tool (optional)"
|
|
71
|
-
},
|
|
72
|
-
"working_directory": {
|
|
73
|
-
"type": "string",
|
|
74
|
-
"description": "Working directory where tool was executed (optional)"
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
"required": [
|
|
78
|
-
"tool_id",
|
|
79
|
-
"tool_kind",
|
|
80
|
-
"invocation_id",
|
|
81
|
-
"status"
|
|
82
|
-
]
|
|
83
|
-
}
|
|
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: © 2025 邦士(北京)网络科技有限公司\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/integration/mplp-tool-event.json",
|
|
5
|
+
"title": "MPLP Tool Event v1.0",
|
|
6
|
+
"description": "External tool invocation and results (formatters, linters, test runners, generators)",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"tool_id": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"minLength": 1,
|
|
13
|
+
"description": "Unique identifier for the tool",
|
|
14
|
+
"examples": [
|
|
15
|
+
"eslint-v8.50.0",
|
|
16
|
+
"prettier-v3.0.0",
|
|
17
|
+
"black-v23.10.0"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"tool_kind": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"enum": [
|
|
23
|
+
"formatter",
|
|
24
|
+
"linter",
|
|
25
|
+
"test_runner",
|
|
26
|
+
"generator",
|
|
27
|
+
"other"
|
|
28
|
+
],
|
|
29
|
+
"description": "Category of tool"
|
|
30
|
+
},
|
|
31
|
+
"invocation_id": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
|
|
34
|
+
"description": "UUID v4 identifier for this specific invocation"
|
|
35
|
+
},
|
|
36
|
+
"status": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"enum": [
|
|
39
|
+
"pending",
|
|
40
|
+
"running",
|
|
41
|
+
"succeeded",
|
|
42
|
+
"failed",
|
|
43
|
+
"cancelled"
|
|
44
|
+
],
|
|
45
|
+
"description": "Current execution status"
|
|
46
|
+
},
|
|
47
|
+
"started_at": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"format": "date-time",
|
|
50
|
+
"description": "Invocation start timestamp (ISO 8601)"
|
|
51
|
+
},
|
|
52
|
+
"completed_at": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"format": "date-time",
|
|
55
|
+
"description": "Invocation completion timestamp (ISO 8601)"
|
|
56
|
+
},
|
|
57
|
+
"exit_code": {
|
|
58
|
+
"type": "integer",
|
|
59
|
+
"description": "Tool process exit code (if applicable)"
|
|
60
|
+
},
|
|
61
|
+
"output_summary": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "Brief summary of tool output or errors"
|
|
64
|
+
},
|
|
65
|
+
"args": {
|
|
66
|
+
"type": "array",
|
|
67
|
+
"items": {
|
|
68
|
+
"type": "string"
|
|
69
|
+
},
|
|
70
|
+
"description": "Command-line arguments passed to tool (optional)"
|
|
71
|
+
},
|
|
72
|
+
"working_directory": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "Working directory where tool was executed (optional)"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"required": [
|
|
78
|
+
"tool_id",
|
|
79
|
+
"tool_kind",
|
|
80
|
+
"invocation_id",
|
|
81
|
+
"status"
|
|
82
|
+
]
|
|
83
|
+
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
# MPLP
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
|
|
1
|
+
# MPLP v1.0.0 FROZEN – Invariant Set
|
|
2
|
+
# © 2025 邦士(北京)网络科技有限公司 – Apache-2.0
|
|
3
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
4
|
+
|
|
5
|
+
# MPLP Protocol v1.0.0 — Frozen Specification
|
|
6
|
+
# Freeze Date: 2025-12-03
|
|
7
|
+
# Status: FROZEN (no breaking changes permitted)
|
|
8
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
9
|
+
# © 2025 邦士(北京)网络科技有限公司
|
|
10
|
+
# License: Apache-2.0
|
|
11
|
+
# Any normative change requires a new protocol version.
|
|
12
|
+
|
|
9
13
|
# MPLP Protocol 1.0.0 — Frozen Specification
|
|
10
14
|
# Status: Frozen as of 2025-11-30
|
|
11
15
|
# Copyright: © 2025 邦士(北京)网络科技有限公司
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
# MPLP
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
|
|
1
|
+
# MPLP v1.0.0 FROZEN – Invariant Set
|
|
2
|
+
# © 2025 邦士(北京)网络科技有限公司 – Apache-2.0
|
|
3
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
4
|
+
|
|
5
|
+
# MPLP Protocol v1.0.0 — Frozen Specification
|
|
6
|
+
# Freeze Date: 2025-12-03
|
|
7
|
+
# Status: FROZEN (no breaking changes permitted)
|
|
8
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
9
|
+
# © 2025 邦士(北京)网络科技有限公司
|
|
10
|
+
# License: Apache-2.0
|
|
11
|
+
# Any normative change requires a new protocol version.
|
|
12
|
+
|
|
9
13
|
# MPLP Protocol 1.0.0 — Frozen Specification
|
|
10
14
|
# Status: Frozen as of 2025-11-30
|
|
11
15
|
# Copyright: © 2025 邦士(北京)网络科技有限公司
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
# MPLP
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
|
|
1
|
+
# MPLP v1.0.0 FROZEN – Invariant Set
|
|
2
|
+
# © 2025 邦士(北京)网络科技有限公司 – Apache-2.0
|
|
3
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
4
|
+
|
|
5
|
+
# MPLP Protocol v1.0.0 — Frozen Specification
|
|
6
|
+
# Freeze Date: 2025-12-03
|
|
7
|
+
# Status: FROZEN (no breaking changes permitted)
|
|
8
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
9
|
+
# © 2025 邦士(北京)网络科技有限公司
|
|
10
|
+
# License: Apache-2.0
|
|
11
|
+
# Any normative change requires a new protocol version.
|
|
12
|
+
|
|
9
13
|
# MPLP Protocol 1.0.0 — Frozen Specification
|
|
10
14
|
# Status: Frozen as of 2025-11-30
|
|
11
15
|
# Copyright: © 2025 邦士(北京)网络科技有限公司
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
# MPLP
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
|
|
1
|
+
# MPLP v1.0.0 FROZEN – Invariant Set
|
|
2
|
+
# © 2025 邦士(北京)网络科技有限公司 – Apache-2.0
|
|
3
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
4
|
+
|
|
5
|
+
# MPLP Protocol v1.0.0 — Frozen Specification
|
|
6
|
+
# Freeze Date: 2025-12-03
|
|
7
|
+
# Status: FROZEN (no breaking changes permitted)
|
|
8
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
9
|
+
# © 2025 邦士(北京)网络科技有限公司
|
|
10
|
+
# License: Apache-2.0
|
|
11
|
+
# Any normative change requires a new protocol version.
|
|
12
|
+
|
|
9
13
|
# MPLP Protocol 1.0.0 — Frozen Specification
|
|
10
14
|
# Status: Frozen as of 2025-11-30
|
|
11
15
|
# Copyright: © 2025 邦士(北京)网络科技有限公司
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
# MPLP
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
|
|
1
|
+
# MPLP v1.0.0 FROZEN – Invariant Set
|
|
2
|
+
# © 2025 邦士(北京)网络科技有限公司 – Apache-2.0
|
|
3
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
4
|
+
|
|
5
|
+
# MPLP Protocol v1.0.0 — Frozen Specification
|
|
6
|
+
# Freeze Date: 2025-12-03
|
|
7
|
+
# Status: FROZEN (no breaking changes permitted)
|
|
8
|
+
# Governance: MPLP Protocol Governance Committee (MPGC)
|
|
9
|
+
# © 2025 邦士(北京)网络科技有限公司
|
|
10
|
+
# License: Apache-2.0
|
|
11
|
+
# Any normative change requires a new protocol version.
|
|
12
|
+
|
|
9
13
|
# MPLP Protocol 1.0.0 — Frozen Specification
|
|
10
14
|
# Status: Frozen as of 2025-11-30
|
|
11
15
|
# Copyright: © 2025 邦士(北京)网络科技有限公司
|
|
@@ -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: © 2025 邦士(北京)网络科技有限公司\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
|
+
{
|
|
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: © 2025 邦士(北京)网络科技有限公司\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
|
+
}
|