gentle-pi 1.2.0 → 2.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.
Files changed (107) hide show
  1. package/README.md +40 -9
  2. package/assets/agents/review-readability.md +0 -1
  3. package/assets/agents/review-reliability.md +0 -1
  4. package/assets/agents/review-resilience.md +0 -1
  5. package/assets/agents/review-risk.md +0 -1
  6. package/contracts/review-integration/v1/fixtures/binding-revision-conflict.fixture.json +25 -0
  7. package/contracts/review-integration/v1/fixtures/capabilities-v1.2.fixture.json +263 -0
  8. package/contracts/review-integration/v1/fixtures/capabilities-v1.3.fixture.json +301 -0
  9. package/contracts/review-integration/v1/fixtures/capabilities-v1.4.fixture.json +312 -0
  10. package/contracts/review-integration/v1/fixtures/capabilities-v1.5.fixture.json +321 -0
  11. package/contracts/review-integration/v1/fixtures/consent.fixture.json +36 -0
  12. package/contracts/review-integration/v1/fixtures/final-verification-incident.fixture.json +1 -0
  13. package/contracts/review-integration/v1/fixtures/operation.fixture.json +4 -0
  14. package/contracts/review-integration/v1/fixtures/repair-preflight.fixture.json +54 -0
  15. package/contracts/review-integration/v1/fixtures/start-v2.fixture.json +97 -0
  16. package/contracts/review-integration/v1/fixtures/start.fixture.json +25 -1
  17. package/contracts/review-integration/v1/fixtures/status-ambiguous.fixture.json +4 -0
  18. package/contracts/review-integration/v1/fixtures/status-corrupted.fixture.json +4 -0
  19. package/contracts/review-integration/v1/fixtures/status-recover.fixture.json +4 -0
  20. package/contracts/review-integration/v1/fixtures/status-unrelated.fixture.json +4 -0
  21. package/contracts/review-integration/v1/fixtures/status-v2-ambiguous.fixture.json +110 -0
  22. package/contracts/review-integration/v1/fixtures/status-v2-corrupted.fixture.json +107 -0
  23. package/contracts/review-integration/v1/fixtures/status-v2-final-verification-retry.fixture.json +192 -0
  24. package/contracts/review-integration/v1/fixtures/status-v2-recover.fixture.json +130 -0
  25. package/contracts/review-integration/v1/fixtures/status-v2-repair.fixture.json +161 -0
  26. package/contracts/review-integration/v1/fixtures/status-v2-unrelated.fixture.json +103 -0
  27. package/contracts/review-integration/v1/fixtures/status-v2.fixture.json +193 -0
  28. package/contracts/review-integration/v1/fixtures/status.fixture.json +19 -5
  29. package/contracts/review-integration/v1/fixtures/verification-evidence.fixture.json +1 -0
  30. package/contracts/review-integration/v1/schemas/admitted-result.schema.json +35 -0
  31. package/contracts/review-integration/v1/schemas/artifact-subject.schema.json +33 -0
  32. package/contracts/review-integration/v1/schemas/authority-repair-assessment.schema.json +247 -0
  33. package/contracts/review-integration/v1/schemas/capabilities-v1.2.schema.json +249 -0
  34. package/contracts/review-integration/v1/schemas/capabilities-v1.3.schema.json +429 -0
  35. package/contracts/review-integration/v1/schemas/capabilities-v1.4.schema.json +432 -0
  36. package/contracts/review-integration/v1/schemas/capabilities-v1.5.schema.json +154 -0
  37. package/contracts/review-integration/v1/schemas/consent.schema.json +86 -0
  38. package/contracts/review-integration/v1/schemas/failure.schema.json +54 -8
  39. package/contracts/review-integration/v1/schemas/final-verification-incident.schema.json +51 -0
  40. package/contracts/review-integration/v1/schemas/operation.schema.json +204 -31
  41. package/contracts/review-integration/v1/schemas/repair.schema.json +251 -0
  42. package/contracts/review-integration/v1/schemas/result-artifact-v2.schema.json +38 -0
  43. package/contracts/review-integration/v1/schemas/start-v2.schema.json +216 -0
  44. package/contracts/review-integration/v1/schemas/start.schema.json +79 -3
  45. package/contracts/review-integration/v1/schemas/status-v2.schema.json +313 -0
  46. package/contracts/review-integration/v1/schemas/status.schema.json +37 -10
  47. package/contracts/review-integration/v1/schemas/targeted-validation-request.schema.json +46 -0
  48. package/contracts/review-integration/v1/schemas/verification-evidence.schema.json +64 -0
  49. package/contracts/review-integration/v2/fixtures/capabilities.fixture.json +111 -0
  50. package/contracts/review-integration/v2/fixtures/consent.fixture.json +36 -0
  51. package/contracts/review-integration/v2/fixtures/start.fixture.json +93 -0
  52. package/contracts/review-integration/v2/fixtures/status.fixture.json +113 -0
  53. package/contracts/review-integration/v2/schemas/admitted-result.schema.json +14 -0
  54. package/contracts/review-integration/v2/schemas/artifact-subject.schema.json +36 -0
  55. package/contracts/review-integration/v2/schemas/capabilities.schema.json +111 -0
  56. package/contracts/review-integration/v2/schemas/consent.schema.json +70 -0
  57. package/contracts/review-integration/v2/schemas/failure.schema.json +35 -0
  58. package/contracts/review-integration/v2/schemas/operation.schema.json +46 -0
  59. package/contracts/review-integration/v2/schemas/repair.schema.json +22 -0
  60. package/contracts/review-integration/v2/schemas/start.schema.json +106 -0
  61. package/contracts/review-integration/v2/schemas/status.schema.json +104 -0
  62. package/docs/native-authority-architecture.md +18 -3
  63. package/docs/review-integration.md +175 -27
  64. package/extensions/gentle-ai.ts +414 -19
  65. package/lib/gentle-ai-binary.ts +1 -1
  66. package/lib/native-review-cli.ts +679 -57
  67. package/lib/review-candidate-view.ts +131 -1
  68. package/lib/review-compact-contract.ts +12 -3
  69. package/lib/review-consent-latch.ts +51 -0
  70. package/lib/review-correction-lifecycle.ts +170 -0
  71. package/lib/review-integration-v2.ts +1563 -0
  72. package/package.json +15 -11
  73. package/runtime/gentle-ai-binary.mjs +1 -1
  74. package/runtime/native-review-cli.mjs +663 -41
  75. package/runtime/review-integration-v2.mjs +1564 -0
  76. package/scripts/build-git-commit-transaction-runner.mjs +1 -1
  77. package/scripts/gentle-ai-installer.mjs +16 -11
  78. package/scripts/install-gentle-ai.mjs +7 -3
  79. package/scripts/test-packed-runner.mjs +2 -2
  80. package/scripts/verify-package-files.mjs +216 -64
  81. package/skills/release/SKILL.md +38 -11
  82. package/tests/devbinary/native-review-parity.devtest.ts +348 -0
  83. package/tests/gentle-ai-binary.test.ts +8 -1
  84. package/tests/gentle-ai-installer.test.ts +24 -21
  85. package/tests/native-binary-gate.test.ts +145 -0
  86. package/tests/native-review-capability-contract.test.ts +87 -0
  87. package/tests/native-review-cli.test.ts +44 -1
  88. package/tests/native-review-parity-runtime.test.ts +70 -23
  89. package/tests/native-review-parity.test.ts +673 -0
  90. package/tests/native-risk-evidence-parity.test.ts +91 -0
  91. package/tests/package-manifest.test.ts +72 -7
  92. package/tests/review-actor-tool-deny.test.ts +20 -5
  93. package/tests/review-candidate-view.test.ts +331 -1
  94. package/tests/review-compact-contract.test.ts +5 -0
  95. package/tests/review-consent-latch.test.ts +67 -0
  96. package/tests/review-controller-native-recovery.test.ts +180 -5
  97. package/tests/review-controller-native-routing.test.ts +385 -12
  98. package/tests/review-controller-workspace-root.test.ts +26 -6
  99. package/tests/review-correction-lifecycle.test.ts +174 -0
  100. package/tests/review-integration-v2.test.ts +539 -0
  101. package/tests/runtime-harness.mjs +187 -0
  102. package/tests/support/native-binary-gate.ts +86 -0
  103. package/tests/verify-package-files.test.ts +119 -0
  104. package/lib/review-integration-v1.ts +0 -795
  105. package/runtime/review-integration-v1.mjs +0 -796
  106. package/tests/native-review-integration-v1.test.ts +0 -102
  107. package/tests/review-integration-v1.test.ts +0 -530
@@ -0,0 +1,301 @@
1
+ {
2
+ "schema": "gentle-ai.review-integration.capabilities/v1.3",
3
+ "contract": "gentle-ai.review-integration/v1",
4
+ "protocol": {
5
+ "major": 1,
6
+ "minor": 3
7
+ },
8
+ "package": {
9
+ "name": "gentle-ai",
10
+ "version": "2.1.7-test",
11
+ "release_channel": "prerelease"
12
+ },
13
+ "build": {
14
+ "id": "sha256:444a9f0608eb22c4697fd2092f3afcfab040c0918343e7e04087730fd33fd5e1",
15
+ "go_version": "go1.25.10",
16
+ "module_version": "v2.1.7",
17
+ "vcs": "git",
18
+ "vcs_revision": "0123456789abcdef0123456789abcdef01234567",
19
+ "vcs_time": "2026-07-15T18:00:00Z",
20
+ "vcs_modified": "false"
21
+ },
22
+ "executable": {
23
+ "sha256": "sha256:dcc846103b16d365eaeeb9d7f289c23fc4f2897f23def1cb3fe7f05557b64705",
24
+ "evidence": "self-reported",
25
+ "verification": "compare-with-published-manifest"
26
+ },
27
+ "operations": [
28
+ "review.bind_sdd",
29
+ "review.capabilities",
30
+ "review.finalize",
31
+ "review.repair",
32
+ "review.start",
33
+ "review.status",
34
+ "review.validate"
35
+ ],
36
+ "gates": [
37
+ "post-apply",
38
+ "pre-commit",
39
+ "pre-push",
40
+ "pre-pr",
41
+ "release"
42
+ ],
43
+ "projections": [
44
+ "staged",
45
+ "workspace"
46
+ ],
47
+ "schemas": [
48
+ "gentle-ai.review-admitted-result/v1",
49
+ "gentle-ai.review-artifact-subject/v1",
50
+ "gentle-ai.review-authority-repair-assessment/v1",
51
+ "gentle-ai.review-authority-status/v1",
52
+ "gentle-ai.review-gate-request/v1",
53
+ "gentle-ai.review-integration.capabilities/v1.3",
54
+ "gentle-ai.review-integration.failure/v1",
55
+ "gentle-ai.review-integration.operation/v1",
56
+ "gentle-ai.review-integration.projection/v1",
57
+ "gentle-ai.review-integration.repair/v1",
58
+ "gentle-ai.review-integration.start/v2",
59
+ "gentle-ai.review-integration.status/v2",
60
+ "gentle-ai.review-receipt/v1",
61
+ "gentle-ai.review-receipt/v2",
62
+ "gentle-ai.review-result-artifact/v2",
63
+ "gentle-ai.review-targeted-validation-request/v1",
64
+ "https://gentle-ai.dev/schema/review/refuter/v1",
65
+ "https://gentle-ai.dev/schema/review/reviewer/v1",
66
+ "https://gentle-ai.dev/schema/review/validator/v1"
67
+ ],
68
+ "features": {
69
+ "mandatory": [
70
+ {
71
+ "name": "compact_v2_authority",
72
+ "supported": true,
73
+ "requires": []
74
+ },
75
+ {
76
+ "name": "exact_receipt_replay",
77
+ "supported": true,
78
+ "requires": [
79
+ "compact_v2_authority"
80
+ ]
81
+ },
82
+ {
83
+ "name": "five_delivery_gates",
84
+ "supported": true,
85
+ "requires": [
86
+ "compact_v2_authority"
87
+ ]
88
+ },
89
+ {
90
+ "name": "immutable_snapshot",
91
+ "supported": true,
92
+ "requires": []
93
+ },
94
+ {
95
+ "name": "legacy_v1_target_scoped_read_only",
96
+ "supported": true,
97
+ "requires": [
98
+ "target_scoped_status"
99
+ ]
100
+ },
101
+ {
102
+ "name": "repository_independent_capabilities",
103
+ "supported": true,
104
+ "requires": []
105
+ },
106
+ {
107
+ "name": "restart_safe_projection",
108
+ "supported": true,
109
+ "requires": [
110
+ "target_scoped_status"
111
+ ]
112
+ },
113
+ {
114
+ "name": "sdd_receipt_binding",
115
+ "supported": true,
116
+ "requires": [
117
+ "compact_v2_authority"
118
+ ]
119
+ },
120
+ {
121
+ "name": "target_scoped_status",
122
+ "supported": true,
123
+ "requires": [
124
+ "repository_independent_capabilities"
125
+ ]
126
+ },
127
+ {
128
+ "name": "uniform_failure_envelope",
129
+ "supported": true,
130
+ "requires": [
131
+ "repository_independent_capabilities"
132
+ ]
133
+ }
134
+ ],
135
+ "optional": [
136
+ {
137
+ "name": "base_ref_workspace_overlay",
138
+ "supported": true,
139
+ "requires": [
140
+ "immutable_snapshot",
141
+ "restart_safe_projection"
142
+ ]
143
+ },
144
+ {
145
+ "name": "bounded_process_waits",
146
+ "supported": true,
147
+ "requires": [
148
+ "uniform_failure_envelope"
149
+ ]
150
+ },
151
+ {
152
+ "name": "classified_authority_repair",
153
+ "supported": true,
154
+ "requires": [
155
+ "native_next_transition",
156
+ "uniform_failure_envelope"
157
+ ]
158
+ },
159
+ {
160
+ "name": "exact_gate_receipt_discovery",
161
+ "supported": true,
162
+ "requires": [
163
+ "five_delivery_gates"
164
+ ]
165
+ },
166
+ {
167
+ "name": "native_frozen_candidate_context",
168
+ "supported": true,
169
+ "requires": [
170
+ "immutable_snapshot"
171
+ ]
172
+ },
173
+ {
174
+ "name": "native_low_risk_verification",
175
+ "supported": true,
176
+ "requires": [
177
+ "compact_v2_authority"
178
+ ]
179
+ },
180
+ {
181
+ "name": "native_next_transition",
182
+ "supported": true,
183
+ "requires": [
184
+ "target_scoped_status"
185
+ ]
186
+ },
187
+ {
188
+ "name": "opaque_repository_context",
189
+ "supported": true,
190
+ "requires": [
191
+ "compact_v2_authority",
192
+ "native_next_transition"
193
+ ]
194
+ },
195
+ {
196
+ "name": "provider_artifact_admission",
197
+ "supported": true,
198
+ "requires": [
199
+ "compact_v2_authority",
200
+ "native_frozen_candidate_context",
201
+ "opaque_repository_context"
202
+ ]
203
+ },
204
+ {
205
+ "name": "provider_targeted_validation_request",
206
+ "supported": true,
207
+ "requires": [
208
+ "compact_v2_authority",
209
+ "native_next_transition"
210
+ ]
211
+ },
212
+ {
213
+ "name": "recovered_correction_evidence",
214
+ "supported": true,
215
+ "requires": [
216
+ "compact_v2_authority",
217
+ "provider_targeted_validation_request"
218
+ ]
219
+ },
220
+ {
221
+ "name": "risk_reasons",
222
+ "supported": true,
223
+ "requires": [
224
+ "repository_independent_capabilities"
225
+ ]
226
+ },
227
+ {
228
+ "name": "scope_change_diagnostics",
229
+ "supported": true,
230
+ "requires": [
231
+ "uniform_failure_envelope"
232
+ ]
233
+ },
234
+ {
235
+ "name": "validating_result_reopen",
236
+ "supported": true,
237
+ "requires": [
238
+ "compact_v2_authority",
239
+ "provider_artifact_admission"
240
+ ]
241
+ }
242
+ ]
243
+ },
244
+ "bootstrap": {
245
+ "command": "gentle-ai review status --cwd \u003crepo\u003e --contract gentle-ai.review-integration/v1 --next-transition",
246
+ "target_selector_variants": [
247
+ {
248
+ "target_type": "staged",
249
+ "arguments": [
250
+ "--projection",
251
+ "staged"
252
+ ]
253
+ },
254
+ {
255
+ "target_type": "base_ref",
256
+ "arguments": [
257
+ "--base-ref",
258
+ "\u003cref\u003e"
259
+ ]
260
+ },
261
+ {
262
+ "target_type": "workspace_overlay_base_ref",
263
+ "arguments": [
264
+ "--workspace-overlay",
265
+ "--base-ref",
266
+ "\u003cref\u003e"
267
+ ]
268
+ },
269
+ {
270
+ "target_type": "workspace_overlay_base_tree",
271
+ "arguments": [
272
+ "--workspace-overlay",
273
+ "--base-tree",
274
+ "\u003ctree\u003e"
275
+ ]
276
+ }
277
+ ],
278
+ "required_feature": "native_next_transition",
279
+ "unsupported_outcome": "unsupported-capability",
280
+ "parent_only": true
281
+ },
282
+ "compatibility": {
283
+ "minimum_protocol_major": 1,
284
+ "maximum_protocol_major": 1,
285
+ "additive_minor_policy": "optional-fields-only",
286
+ "unknown_mandatory": "reject",
287
+ "unknown_optional": "ignore",
288
+ "modes": [
289
+ "compact-v2",
290
+ "legacy-v1"
291
+ ],
292
+ "legacy_window": {
293
+ "mode": "legacy-v1",
294
+ "state": "active",
295
+ "read_only": true,
296
+ "deprecation_started": true,
297
+ "removal": "not-scheduled",
298
+ "minimum_compatibility_releases": 1
299
+ }
300
+ }
301
+ }
@@ -0,0 +1,312 @@
1
+ {
2
+ "schema": "gentle-ai.review-integration.capabilities/v1.4",
3
+ "contract": "gentle-ai.review-integration/v1",
4
+ "protocol": {
5
+ "major": 1,
6
+ "minor": 4
7
+ },
8
+ "package": {
9
+ "name": "gentle-ai",
10
+ "version": "2.1.7-test",
11
+ "release_channel": "prerelease"
12
+ },
13
+ "build": {
14
+ "id": "sha256:444a9f0608eb22c4697fd2092f3afcfab040c0918343e7e04087730fd33fd5e1",
15
+ "go_version": "go1.25.10",
16
+ "module_version": "v2.1.7",
17
+ "vcs": "git",
18
+ "vcs_revision": "0123456789abcdef0123456789abcdef01234567",
19
+ "vcs_time": "2026-07-15T18:00:00Z",
20
+ "vcs_modified": "false"
21
+ },
22
+ "executable": {
23
+ "sha256": "sha256:dcc846103b16d365eaeeb9d7f289c23fc4f2897f23def1cb3fe7f05557b64705",
24
+ "evidence": "self-reported",
25
+ "verification": "compare-with-published-manifest"
26
+ },
27
+ "operations": [
28
+ "review.bind_sdd",
29
+ "review.capabilities",
30
+ "review.finalize",
31
+ "review.repair",
32
+ "review.retry_final_verification",
33
+ "review.start",
34
+ "review.status",
35
+ "review.validate"
36
+ ],
37
+ "gates": [
38
+ "post-apply",
39
+ "pre-commit",
40
+ "pre-push",
41
+ "pre-pr",
42
+ "release"
43
+ ],
44
+ "projections": [
45
+ "staged",
46
+ "workspace"
47
+ ],
48
+ "schemas": [
49
+ "gentle-ai.review-admitted-result/v1",
50
+ "gentle-ai.review-artifact-subject/v1",
51
+ "gentle-ai.review-authority-repair-assessment/v1",
52
+ "gentle-ai.review-authority-status/v1",
53
+ "gentle-ai.review-gate-request/v1",
54
+ "gentle-ai.review-integration.capabilities/v1.4",
55
+ "gentle-ai.review-integration.failure/v1",
56
+ "gentle-ai.review-final-verification-incident/v1",
57
+ "gentle-ai.review-integration.operation/v1",
58
+ "gentle-ai.review-integration.projection/v1",
59
+ "gentle-ai.review-integration.repair/v1",
60
+ "gentle-ai.review-integration.start/v2",
61
+ "gentle-ai.review-integration.status/v2",
62
+ "gentle-ai.review-receipt/v1",
63
+ "gentle-ai.review-receipt/v2",
64
+ "gentle-ai.review-result-artifact/v2",
65
+ "gentle-ai.review-targeted-validation-request/v1",
66
+ "https://gentle-ai.dev/schema/review/refuter/v1",
67
+ "https://gentle-ai.dev/schema/review/reviewer/v1",
68
+ "https://gentle-ai.dev/schema/review/validator/v1"
69
+ ],
70
+ "features": {
71
+ "mandatory": [
72
+ {
73
+ "name": "compact_v2_authority",
74
+ "supported": true,
75
+ "requires": []
76
+ },
77
+ {
78
+ "name": "exact_receipt_replay",
79
+ "supported": true,
80
+ "requires": [
81
+ "compact_v2_authority"
82
+ ]
83
+ },
84
+ {
85
+ "name": "five_delivery_gates",
86
+ "supported": true,
87
+ "requires": [
88
+ "compact_v2_authority"
89
+ ]
90
+ },
91
+ {
92
+ "name": "immutable_snapshot",
93
+ "supported": true,
94
+ "requires": []
95
+ },
96
+ {
97
+ "name": "legacy_v1_target_scoped_read_only",
98
+ "supported": true,
99
+ "requires": [
100
+ "target_scoped_status"
101
+ ]
102
+ },
103
+ {
104
+ "name": "repository_independent_capabilities",
105
+ "supported": true,
106
+ "requires": []
107
+ },
108
+ {
109
+ "name": "restart_safe_projection",
110
+ "supported": true,
111
+ "requires": [
112
+ "target_scoped_status"
113
+ ]
114
+ },
115
+ {
116
+ "name": "sdd_receipt_binding",
117
+ "supported": true,
118
+ "requires": [
119
+ "compact_v2_authority"
120
+ ]
121
+ },
122
+ {
123
+ "name": "target_scoped_status",
124
+ "supported": true,
125
+ "requires": [
126
+ "repository_independent_capabilities"
127
+ ]
128
+ },
129
+ {
130
+ "name": "uniform_failure_envelope",
131
+ "supported": true,
132
+ "requires": [
133
+ "repository_independent_capabilities"
134
+ ]
135
+ }
136
+ ],
137
+ "optional": [
138
+ {
139
+ "name": "base_ref_workspace_overlay",
140
+ "supported": true,
141
+ "requires": [
142
+ "immutable_snapshot",
143
+ "restart_safe_projection"
144
+ ]
145
+ },
146
+ {
147
+ "name": "bounded_process_waits",
148
+ "supported": true,
149
+ "requires": [
150
+ "uniform_failure_envelope"
151
+ ]
152
+ },
153
+ {
154
+ "name": "classified_authority_repair",
155
+ "supported": true,
156
+ "requires": [
157
+ "native_next_transition",
158
+ "uniform_failure_envelope"
159
+ ]
160
+ },
161
+ {
162
+ "name": "exact_gate_receipt_discovery",
163
+ "supported": true,
164
+ "requires": [
165
+ "five_delivery_gates"
166
+ ]
167
+ },
168
+ {
169
+ "name": "native_frozen_candidate_context",
170
+ "supported": true,
171
+ "requires": [
172
+ "immutable_snapshot"
173
+ ]
174
+ },
175
+ {
176
+ "name": "native_low_risk_verification",
177
+ "supported": true,
178
+ "requires": [
179
+ "compact_v2_authority"
180
+ ]
181
+ },
182
+ {
183
+ "name": "native_next_transition",
184
+ "supported": true,
185
+ "requires": [
186
+ "target_scoped_status"
187
+ ]
188
+ },
189
+ {
190
+ "name": "one_shot_final_verification_retry",
191
+ "supported": true,
192
+ "requires": [
193
+ "compact_v2_authority",
194
+ "exact_receipt_replay",
195
+ "native_next_transition"
196
+ ]
197
+ },
198
+ {
199
+ "name": "opaque_repository_context",
200
+ "supported": true,
201
+ "requires": [
202
+ "compact_v2_authority",
203
+ "native_next_transition"
204
+ ]
205
+ },
206
+ {
207
+ "name": "provider_artifact_admission",
208
+ "supported": true,
209
+ "requires": [
210
+ "compact_v2_authority",
211
+ "native_frozen_candidate_context",
212
+ "opaque_repository_context"
213
+ ]
214
+ },
215
+ {
216
+ "name": "provider_targeted_validation_request",
217
+ "supported": true,
218
+ "requires": [
219
+ "compact_v2_authority",
220
+ "native_next_transition"
221
+ ]
222
+ },
223
+ {
224
+ "name": "recovered_correction_evidence",
225
+ "supported": true,
226
+ "requires": [
227
+ "compact_v2_authority",
228
+ "provider_targeted_validation_request"
229
+ ]
230
+ },
231
+ {
232
+ "name": "risk_reasons",
233
+ "supported": true,
234
+ "requires": [
235
+ "repository_independent_capabilities"
236
+ ]
237
+ },
238
+ {
239
+ "name": "scope_change_diagnostics",
240
+ "supported": true,
241
+ "requires": [
242
+ "uniform_failure_envelope"
243
+ ]
244
+ },
245
+ {
246
+ "name": "validating_result_reopen",
247
+ "supported": true,
248
+ "requires": [
249
+ "compact_v2_authority",
250
+ "provider_artifact_admission"
251
+ ]
252
+ }
253
+ ]
254
+ },
255
+ "bootstrap": {
256
+ "command": "gentle-ai review status --cwd \u003crepo\u003e --contract gentle-ai.review-integration/v1 --next-transition",
257
+ "target_selector_variants": [
258
+ {
259
+ "target_type": "staged",
260
+ "arguments": [
261
+ "--projection",
262
+ "staged"
263
+ ]
264
+ },
265
+ {
266
+ "target_type": "base_ref",
267
+ "arguments": [
268
+ "--base-ref",
269
+ "\u003cref\u003e"
270
+ ]
271
+ },
272
+ {
273
+ "target_type": "workspace_overlay_base_ref",
274
+ "arguments": [
275
+ "--workspace-overlay",
276
+ "--base-ref",
277
+ "\u003cref\u003e"
278
+ ]
279
+ },
280
+ {
281
+ "target_type": "workspace_overlay_base_tree",
282
+ "arguments": [
283
+ "--workspace-overlay",
284
+ "--base-tree",
285
+ "\u003ctree\u003e"
286
+ ]
287
+ }
288
+ ],
289
+ "required_feature": "native_next_transition",
290
+ "unsupported_outcome": "unsupported-capability",
291
+ "parent_only": true
292
+ },
293
+ "compatibility": {
294
+ "minimum_protocol_major": 1,
295
+ "maximum_protocol_major": 1,
296
+ "additive_minor_policy": "optional-fields-only",
297
+ "unknown_mandatory": "reject",
298
+ "unknown_optional": "ignore",
299
+ "modes": [
300
+ "compact-v2",
301
+ "legacy-v1"
302
+ ],
303
+ "legacy_window": {
304
+ "mode": "legacy-v1",
305
+ "state": "active",
306
+ "read_only": true,
307
+ "deprecation_started": true,
308
+ "removal": "not-scheduled",
309
+ "minimum_compatibility_releases": 1
310
+ }
311
+ }
312
+ }