You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -88,6 +90,18 @@ Each gate must include `gate_id`, `condition`, `on_pass`, and `on_failure`. `fai
88
90
89
91
If required evidence, tools, specs, gates, artifacts, or verification policy are missing, the workflow must return `ok=false` with `failure_state` and `details`. It must not claim success.
90
92
93
+
## Execution Result Shape
94
+
95
+
Contracts are pre-execution constraints. Execution results are post-execution acceptance records.
96
+
97
+
`verify-result` checks that a result has matching `contract_id`, gate results for every contract gate, artifacts for every expected artifact, explicit status, failure semantics checks, and correct `failure_state` behavior.
98
+
99
+
Execution statuses:
100
+
101
+
-`passed`: every required gate and artifact is present; `failure_state` must be null or empty.
102
+
-`failed`: execution failed; `failure_state` must be explicit.
103
+
-`blocked`: execution stopped before completion; `failure_state` must be explicit.
104
+
91
105
## Demos
92
106
93
107
Demo 1: Software engineering
@@ -116,13 +130,15 @@ Demo 3: Multi-agent system
116
130
-`docs/comparison.md`
117
131
-`docs/mcp-tools.md`
118
132
-`docs/contract-schema-v0.1.md`
133
+
-`docs/execution-result-v0.1.md`
119
134
-`docs/cli.md`
120
135
121
136
## Roadmap
122
137
123
138
P0:
124
139
125
140
- Contract schema v0.1 adoption feedback.
141
+
- Execution result adoption feedback.
126
142
- MCP integration tests against real Codex marketplace install.
`verify-result` checks the execution result schema, contract id, expected artifacts, gate results, verification checks, and failure-state semantics. A complete `failed` or `blocked` result can pass protocol verification while still reporting `execution_status: failed` or `execution_status: blocked`.
The contract is the pre-execution constraint. The execution result is the post-execution acceptance record.
4
+
5
+
`verify-result` checks that an execution result is complete and aligned with its governing contract. It does not turn a failed or blocked workflow into success.
6
+
7
+
## Required Fields
8
+
9
+
-`result_id`
10
+
-`schema_version`: must be `"0.1"`
11
+
-`contract_id`
12
+
-`status`: `passed`, `failed`, or `blocked`
13
+
-`executed_agents`
14
+
-`tool_calls`
15
+
-`evidence_collected`
16
+
-`gate_results`
17
+
-`artifacts`
18
+
-`verification_results`
19
+
-`failure_state`
20
+
-`risk_notes`
21
+
22
+
## Gate Results
23
+
24
+
Each `gate_results[]` item must include:
25
+
26
+
-`gate_id`
27
+
-`status`
28
+
-`evidence`
29
+
-`details`
30
+
31
+
Every contract gate must have a matching gate result.
32
+
33
+
## Status Semantics
34
+
35
+
-`passed`: all required contract gates and artifacts are present; `failure_state` must be null or empty.
36
+
-`failed`: execution failed; `failure_state` must be non-empty.
37
+
-`blocked`: execution stopped because a required gate, evidence item, tool, or approval was unavailable; `failure_state` must be non-empty.
38
+
39
+
## Fake Success Prevention
40
+
41
+
`verify-result` prevents fake success by checking:
42
+
43
+
-`contract_id` matches the contract.
44
+
- Every contract gate has a result.
45
+
- Every `expected_artifacts` item is represented.
46
+
-`passed` results do not carry a failure state.
47
+
-`failed` and `blocked` results have an explicit failure state.
48
+
-`verification_results` includes `no_fake_success`, `no_silent_fallback`, and `explicit_failure_state`.
49
+
50
+
## Samples
51
+
52
+
-`examples/sample_execution_result_passed.json`
53
+
-`examples/sample_execution_result_failed.json`
54
+
-`examples/sample_execution_result_blocked.json`
55
+
56
+
Samples are protocol fixtures. They are not proof of real external execution.
Copy file name to clipboardExpand all lines: docs/mcp-tools.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,7 @@ SpecX exposes four MCP tools:
5
5
-`specx.validate`
6
6
-`specx.compile`
7
7
-`specx.verify`
8
+
-`specx.verify_result`
8
9
-`specx.explain`
9
10
-`specx.init`
10
11
@@ -53,6 +54,10 @@ Compiles a valid contract into a governed execution plan with agents, tools, evi
53
54
54
55
Fails closed when gates, expected artifacts, required agents, required tools, or `no_fake_success` / `no_silent_fallback` constraints are missing.
55
56
57
+
### specx.verify_result
58
+
59
+
Verifies a SpecX execution result against its governing contract. It checks `contract_id`, gate coverage, artifact coverage, verification checks, and status/failure-state semantics.
60
+
56
61
### specx.init
57
62
58
63
Creates a verified Contract Schema v0.1 skeleton from `research`, `software_refactor`, or `content_pipeline`.
0 commit comments