gentle-pi 2.1.2 → 2.2.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 (171) hide show
  1. package/README.md +70 -12
  2. package/assets/agents/gentle-ai-worker.md +7 -3
  3. package/assets/agents/jd-fix-agent.md +1 -1
  4. package/assets/agents/jd-judge-a.md +3 -1
  5. package/assets/agents/jd-judge-b.md +3 -1
  6. package/assets/agents/review-readability.md +4 -1
  7. package/assets/agents/review-reliability.md +4 -1
  8. package/assets/agents/review-resilience.md +4 -1
  9. package/assets/agents/review-risk.md +4 -1
  10. package/assets/agents/sdd-apply.md +6 -1
  11. package/assets/agents/sdd-archive.md +6 -1
  12. package/assets/agents/sdd-design.md +6 -1
  13. package/assets/agents/sdd-explore.md +6 -2
  14. package/assets/agents/sdd-init.md +10 -2
  15. package/assets/agents/sdd-onboard.md +6 -1
  16. package/assets/agents/sdd-proposal.md +6 -1
  17. package/assets/agents/sdd-spec.md +6 -1
  18. package/assets/agents/sdd-status.md +6 -1
  19. package/assets/agents/sdd-sync.md +6 -1
  20. package/assets/agents/sdd-tasks.md +6 -1
  21. package/assets/agents/sdd-verify.md +6 -1
  22. package/assets/chains/4r-review.chain.md +2 -0
  23. package/assets/chains/sdd-full.chain.md +1 -1
  24. package/assets/chains/sdd-plan.chain.md +1 -1
  25. package/assets/chains/sdd-verify.chain.md +1 -1
  26. package/assets/orchestrator-delegation.md +246 -67
  27. package/assets/orchestrator.md +7 -14
  28. package/assets/sdd-orchestrator-workflow.md +154 -9
  29. package/assets/support/sdd-status-contract.md +19 -1
  30. package/contracts/review-integration/v1/fixtures/consent.fixture.json +3 -3
  31. package/contracts/review-integration/v1/fixtures/start-v2.fixture.json +19 -28
  32. package/contracts/review-integration/v1/fixtures/start.fixture.json +1 -10
  33. package/contracts/review-integration/v1/fixtures/status-v2.fixture.json +12 -21
  34. package/contracts/review-integration/v1/schemas/correction-plan-request.schema.json +49 -0
  35. package/contracts/review-integration/v1/schemas/operation.schema.json +76 -0
  36. package/contracts/review-integration/v1/schemas/repair.schema.json +39 -0
  37. package/contracts/review-integration/v1/schemas/status-v2.schema.json +4 -2
  38. package/contracts/review-integration/v1/schemas/status.schema.json +4 -2
  39. package/contracts/review-integration/v2/fixtures/consent.fixture.json +1 -1
  40. package/contracts/review-integration/v2/fixtures/start.fixture.json +1 -10
  41. package/contracts/review-integration/v2/fixtures/status.fixture.json +1 -10
  42. package/contracts/review-integration/v2/schemas/failure.schema.json +5 -1
  43. package/contracts/review-integration/v2/schemas/operation.schema.json +6 -1
  44. package/contracts/review-integration/v2/schemas/repair.schema.json +4 -2
  45. package/contracts/review-integration/v2/schemas/start.schema.json +5 -2
  46. package/contracts/review-integration/v2/schemas/status.schema.json +4 -2
  47. package/contracts/review-provider-contract-mirror/provider-contract.lock.json +30 -0
  48. package/contracts/review-provider-contract-mirror/v1.1.0/bundle/README.md +12 -0
  49. package/contracts/review-provider-contract-mirror/v1.1.0/bundle/manifest.json +65 -0
  50. package/contracts/review-provider-contract-mirror/v1.1.0/bundle/schemas/lens.schema.json +16 -0
  51. package/contracts/review-provider-contract-mirror/v1.1.0/bundle/schemas/refuter.schema.json +1 -0
  52. package/contracts/review-provider-contract-mirror/v1.1.0/bundle/schemas/targeted-validator.schema.json +1 -0
  53. package/contracts/review-provider-contract-mirror/v1.1.0/bundle/vectors/lens.json +1 -0
  54. package/contracts/review-provider-contract-mirror/v1.1.0/bundle/vectors/refuter.json +1 -0
  55. package/contracts/review-provider-contract-mirror/v1.1.0/bundle/vectors/targeted-validator.json +1 -0
  56. package/contracts/review-provider-contract-mirror/v1.1.0/generated/provider-capabilities.baseline.json +15 -0
  57. package/contracts/review-provider-contract-mirror/v1.1.0/generated/provider-roles.baseline.json +42 -0
  58. package/docs/native-authority-architecture.md +5 -5
  59. package/docs/review-integration.md +22 -2
  60. package/extensions/gentle-ai.ts +1595 -201
  61. package/extensions/sdd-init.ts +19 -6
  62. package/extensions/skill-registry.ts +10 -2
  63. package/extensions/startup-banner.ts +10 -4
  64. package/lib/gentle-ai-binary.ts +173 -2
  65. package/lib/git-commit-transaction.ts +77 -17
  66. package/lib/native-review-cli.ts +528 -65
  67. package/lib/provider-contract-bundle.ts +704 -0
  68. package/lib/review-candidate-view.ts +527 -18
  69. package/lib/review-compact-contract.ts +59 -248
  70. package/lib/review-host-relay.ts +436 -0
  71. package/lib/review-integration-v2.ts +537 -36
  72. package/lib/review-relay-contract.ts +16 -0
  73. package/lib/sdd-preflight.ts +53 -1
  74. package/package.json +5 -2
  75. package/runtime/gentle-ai-binary.mjs +173 -2
  76. package/runtime/git-commit-transaction.mjs +75 -15
  77. package/runtime/native-review-cli.mjs +524 -61
  78. package/runtime/review-integration-v2.mjs +536 -35
  79. package/runtime/review-relay-contract.mjs +17 -0
  80. package/scripts/build-git-commit-transaction-runner.mjs +1 -0
  81. package/scripts/check-provider-contract.mjs +138 -0
  82. package/scripts/gentle-ai-installer.mjs +23 -13
  83. package/scripts/maintainer/provider-relay-matrix.mjs +219 -0
  84. package/scripts/mirror-provider-contract.mjs +143 -0
  85. package/scripts/test-packed-runner.mjs +16 -2
  86. package/scripts/verify-package-files.mjs +110 -33
  87. package/skills/_shared/review-ledger-contract.md +4 -6
  88. package/skills/gentle-ai/SKILL.md +4 -4
  89. package/skills/issue-creation/SKILL.md +94 -168
  90. package/skills/judgment-day/SKILL.md +7 -1
  91. package/skills/judgment-day/references/prompts-and-formats.md +2 -0
  92. package/skills/rdd-defect-workflow/SKILL.md +54 -0
  93. package/tests/background-subagents.test.ts +771 -0
  94. package/tests/crosslane/cross-lane.mjs +1169 -0
  95. package/tests/delegated-key-learnings-contract.test.ts +238 -0
  96. package/tests/fixtures/devbinary/capabilities-v2.1.derived.json +331 -0
  97. package/tests/fixtures/devbinary/capabilities-v2.2.captured.json +340 -0
  98. package/tests/fixtures/devbinary/consent-v3.captured.json +37 -0
  99. package/tests/fixtures/devbinary/failure-v2-capture-evidence.captured.json +16 -0
  100. package/tests/fixtures/devbinary/result-artifact-v2-path.captured.json +12 -0
  101. package/tests/fixtures/devbinary/result-artifact-v2.captured.json +12 -0
  102. package/tests/fixtures/devbinary/start-v3-consent-declined.captured.json +19 -0
  103. package/tests/fixtures/devbinary/start-v3-consent-granted.captured.json +109 -0
  104. package/tests/fixtures/devbinary/status-v5-capture-result-submission.captured.json +184 -0
  105. package/tests/fixtures/devbinary/status-v5-repository-context.captured.json +138 -0
  106. package/tests/fixtures/devbinary/status-v5.captured.json +88 -0
  107. package/tests/fixtures/provider-contract-bundle/v1.1.0/README.md +12 -0
  108. package/tests/fixtures/provider-contract-bundle/v1.1.0/manifest.json +65 -0
  109. package/tests/fixtures/provider-contract-bundle/v1.1.0/schemas/lens.schema.json +16 -0
  110. package/tests/fixtures/provider-contract-bundle/v1.1.0/schemas/refuter.schema.json +1 -0
  111. package/tests/fixtures/provider-contract-bundle/v1.1.0/schemas/targeted-validator.schema.json +1 -0
  112. package/tests/fixtures/provider-contract-bundle/v1.1.0/vectors/lens.json +1 -0
  113. package/tests/fixtures/provider-contract-bundle/v1.1.0/vectors/refuter.json +1 -0
  114. package/tests/fixtures/provider-contract-bundle/v1.1.0/vectors/targeted-validator.json +1 -0
  115. package/tests/gentle-ai-binary.test.ts +1 -1
  116. package/tests/gentle-ai-dev-binary-surfacing.test.ts +195 -0
  117. package/tests/gentle-ai-dev-binary.test.ts +336 -0
  118. package/tests/gentle-ai-installer.test.ts +46 -46
  119. package/tests/git-commit-transaction.test.ts +229 -1
  120. package/tests/maintainer/provider-relay.maintest.ts +265 -0
  121. package/tests/native-review-capability-contract.test.ts +48 -2
  122. package/tests/native-review-cli.test.ts +56 -0
  123. package/tests/native-review-consent.test.ts +164 -3
  124. package/tests/native-review-parity-runtime.test.ts +37 -0
  125. package/tests/native-review-parity.test.ts +218 -15
  126. package/tests/native-sdd-attempt-authority.test.ts +235 -0
  127. package/tests/orchestrator-budget.test.ts +30 -5
  128. package/tests/package-manifest.test.ts +98 -72
  129. package/tests/provider-contract-bundle.test.ts +385 -0
  130. package/tests/provider-contract-mirror.test.ts +206 -0
  131. package/tests/provider-defect-handoff.test.ts +355 -0
  132. package/tests/review-actor-tool-deny.test.ts +12 -13
  133. package/tests/review-candidate-view.test.ts +489 -9
  134. package/tests/review-compact-contract.test.ts +52 -119
  135. package/tests/review-controller-native-recovery.test.ts +643 -47
  136. package/tests/review-controller-native-routing.test.ts +1667 -222
  137. package/tests/review-controller-workspace-root.test.ts +17 -2
  138. package/tests/review-corrected-finalize-binding.test.ts +175 -0
  139. package/tests/review-dispatch-hydration-gap.test.ts +197 -0
  140. package/tests/review-host-relay-routing.test.ts +317 -0
  141. package/tests/review-host-relay.test.ts +520 -0
  142. package/tests/review-integration-v2-forward.test.ts +631 -0
  143. package/tests/review-integration-v2.test.ts +114 -0
  144. package/tests/review-ledger-contract.test.ts +12 -28
  145. package/tests/review-recovered-lineage-routing.test.ts +246 -0
  146. package/tests/review-relay-transport-agent.test.ts +249 -0
  147. package/tests/runtime-harness.mjs +242 -14
  148. package/tests/sdd-agent-tools.test.ts +18 -33
  149. package/tests/skill-collision-prefixes.test.ts +1 -0
  150. package/tests/skill-registry.test.ts +50 -1
  151. package/tests/verify-package-files.test.ts +62 -0
  152. package/assets/agents/review-refuter.md +0 -40
  153. package/assets/agents/review-validator.md +0 -23
  154. package/lib/native-review-remediation.ts +0 -49
  155. package/lib/review-compact.ts +0 -947
  156. package/lib/review-refuter-adapter.ts +0 -129
  157. package/lib/review-runtime-contract.ts +0 -68
  158. package/prompts/gcl.md +0 -54
  159. package/prompts/gis.md +0 -25
  160. package/prompts/gpr.md +0 -41
  161. package/prompts/gwr.md +0 -31
  162. package/tests/fixtures/native-review-cli/v2.1.2/bind-sdd.json +0 -25
  163. package/tests/fixtures/native-review-cli/v2.1.2/finalize.json +0 -8
  164. package/tests/fixtures/native-review-cli/v2.1.2/sdd-status-engram.json +0 -139
  165. package/tests/fixtures/native-review-cli/v2.1.2/sdd-status.json +0 -200
  166. package/tests/fixtures/native-review-cli/v2.1.2/start.json +0 -12
  167. package/tests/fixtures/native-review-cli/v2.1.2/validate-allow.json +0 -24
  168. package/tests/fixtures/native-review-cli/v2.1.2/validate-deny-empty-context.json +0 -20
  169. package/tests/fixtures/native-review-cli/v2.1.2/validate-deny.json +0 -28
  170. package/tests/review-compact.test.ts +0 -243
  171. package/tests/review-refuter-adapter.test.ts +0 -89
@@ -0,0 +1,340 @@
1
+ {
2
+ "schema": "gentle-ai.review-integration.capabilities/v2.2",
3
+ "contract": "gentle-ai.review-integration/v2",
4
+ "protocol": {
5
+ "major": 2,
6
+ "minor": 2
7
+ },
8
+ "package": {
9
+ "name": "gentle-ai",
10
+ "version": "2.4.0-rc.8+fix.verify-attestation-recovery",
11
+ "release_channel": "prerelease"
12
+ },
13
+ "build": {
14
+ "id": "sha256:4db874cd6a31fc1bc0deb2b94c22ad4668e878ffc5c0bc9acc2c81bcbe03e054",
15
+ "go_version": "go1.26.5",
16
+ "module_version": "(devel)",
17
+ "vcs": "git",
18
+ "vcs_revision": "",
19
+ "vcs_time": "",
20
+ "vcs_modified": "true"
21
+ },
22
+ "executable": {
23
+ "sha256": "sha256:ffc91d8fa79c869aba9aa3d1ec80edebb5b1744e5a06fef75d4c8b73c0e46bc1",
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/v2",
50
+ "gentle-ai.review-artifact-subject/v2",
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/v2.2",
55
+ "gentle-ai.review-integration.failure/v2",
56
+ "gentle-ai.review-final-verification-incident/v1",
57
+ "gentle-ai.review-integration.operation/v2",
58
+ "gentle-ai.review-integration.projection/v1",
59
+ "gentle-ai.review-integration.repair/v2",
60
+ "gentle-ai.review-integration.start/v3",
61
+ "gentle-ai.review-integration.status/v5",
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
+ "gentle-ai.review-verification-evidence/v2",
67
+ "https://gentle-ai.dev/schema/review/refuter/v1",
68
+ "https://gentle-ai.dev/schema/review/reviewer/v1",
69
+ "https://gentle-ai.dev/schema/review/validator/v1",
70
+ "gentle-ai.review-integration.consent/v3"
71
+ ],
72
+ "features": {
73
+ "mandatory": [
74
+ {
75
+ "name": "compact_v2_authority",
76
+ "supported": true,
77
+ "requires": []
78
+ },
79
+ {
80
+ "name": "exact_receipt_replay",
81
+ "supported": true,
82
+ "requires": [
83
+ "compact_v2_authority"
84
+ ]
85
+ },
86
+ {
87
+ "name": "five_delivery_gates",
88
+ "supported": true,
89
+ "requires": [
90
+ "compact_v2_authority"
91
+ ]
92
+ },
93
+ {
94
+ "name": "immutable_snapshot",
95
+ "supported": true,
96
+ "requires": []
97
+ },
98
+ {
99
+ "name": "legacy_v1_target_scoped_read_only",
100
+ "supported": true,
101
+ "requires": [
102
+ "target_scoped_status"
103
+ ]
104
+ },
105
+ {
106
+ "name": "repository_independent_capabilities",
107
+ "supported": true,
108
+ "requires": []
109
+ },
110
+ {
111
+ "name": "restart_safe_projection",
112
+ "supported": true,
113
+ "requires": [
114
+ "target_scoped_status"
115
+ ]
116
+ },
117
+ {
118
+ "name": "sdd_receipt_binding",
119
+ "supported": true,
120
+ "requires": [
121
+ "compact_v2_authority"
122
+ ]
123
+ },
124
+ {
125
+ "name": "target_scoped_status",
126
+ "supported": true,
127
+ "requires": [
128
+ "repository_independent_capabilities"
129
+ ]
130
+ },
131
+ {
132
+ "name": "uniform_failure_envelope",
133
+ "supported": true,
134
+ "requires": [
135
+ "repository_independent_capabilities"
136
+ ]
137
+ }
138
+ ],
139
+ "optional": [
140
+ {
141
+ "name": "base_ref_workspace_overlay",
142
+ "supported": true,
143
+ "requires": [
144
+ "immutable_snapshot",
145
+ "restart_safe_projection"
146
+ ]
147
+ },
148
+ {
149
+ "name": "bounded_process_waits",
150
+ "supported": true,
151
+ "requires": [
152
+ "uniform_failure_envelope"
153
+ ]
154
+ },
155
+ {
156
+ "name": "classified_authority_repair",
157
+ "supported": true,
158
+ "requires": [
159
+ "native_next_transition",
160
+ "uniform_failure_envelope"
161
+ ]
162
+ },
163
+ {
164
+ "name": "exact_gate_receipt_discovery",
165
+ "supported": true,
166
+ "requires": [
167
+ "five_delivery_gates"
168
+ ]
169
+ },
170
+ {
171
+ "name": "native_frozen_candidate_context",
172
+ "supported": true,
173
+ "requires": [
174
+ "immutable_snapshot"
175
+ ]
176
+ },
177
+ {
178
+ "name": "native_low_risk_verification",
179
+ "supported": true,
180
+ "requires": [
181
+ "compact_v2_authority"
182
+ ]
183
+ },
184
+ {
185
+ "name": "native_next_transition",
186
+ "supported": true,
187
+ "requires": [
188
+ "target_scoped_status"
189
+ ]
190
+ },
191
+ {
192
+ "name": "one_shot_final_verification_retry",
193
+ "supported": true,
194
+ "requires": [
195
+ "compact_v2_authority",
196
+ "exact_receipt_replay",
197
+ "native_next_transition"
198
+ ]
199
+ },
200
+ {
201
+ "name": "opaque_repository_context",
202
+ "supported": true,
203
+ "requires": [
204
+ "compact_v2_authority",
205
+ "native_next_transition"
206
+ ]
207
+ },
208
+ {
209
+ "name": "outcome_bound_verification_evidence",
210
+ "supported": true,
211
+ "requires": [
212
+ "compact_v2_authority",
213
+ "native_next_transition"
214
+ ]
215
+ },
216
+ {
217
+ "name": "provider_artifact_admission",
218
+ "supported": true,
219
+ "requires": [
220
+ "compact_v2_authority",
221
+ "native_frozen_candidate_context",
222
+ "opaque_repository_context"
223
+ ]
224
+ },
225
+ {
226
+ "name": "provider_targeted_validation_request",
227
+ "supported": true,
228
+ "requires": [
229
+ "compact_v2_authority",
230
+ "native_next_transition"
231
+ ]
232
+ },
233
+ {
234
+ "name": "recovered_correction_evidence",
235
+ "supported": true,
236
+ "requires": [
237
+ "compact_v2_authority",
238
+ "provider_targeted_validation_request"
239
+ ]
240
+ },
241
+ {
242
+ "name": "risk_reasons",
243
+ "supported": true,
244
+ "requires": [
245
+ "repository_independent_capabilities"
246
+ ]
247
+ },
248
+ {
249
+ "name": "scope_change_diagnostics",
250
+ "supported": true,
251
+ "requires": [
252
+ "uniform_failure_envelope"
253
+ ]
254
+ },
255
+ {
256
+ "name": "validating_result_reopen",
257
+ "supported": true,
258
+ "requires": [
259
+ "compact_v2_authority",
260
+ "provider_artifact_admission"
261
+ ]
262
+ },
263
+ {
264
+ "name": "provider_bound_native_git_context",
265
+ "supported": true,
266
+ "requires": [
267
+ "native_frozen_candidate_context",
268
+ "opaque_repository_context",
269
+ "provider_artifact_admission"
270
+ ]
271
+ },
272
+ {
273
+ "name": "provider_submission_descriptors",
274
+ "supported": true,
275
+ "requires": [
276
+ "native_next_transition",
277
+ "opaque_repository_context",
278
+ "provider_targeted_validation_request"
279
+ ]
280
+ }
281
+ ]
282
+ },
283
+ "bootstrap": {
284
+ "command": "gentle-ai review status --cwd \u003crepo\u003e --contract gentle-ai.review-integration/v2 --next-transition",
285
+ "target_selector_variants": [
286
+ {
287
+ "target_type": "staged",
288
+ "arguments": [
289
+ "--projection",
290
+ "staged"
291
+ ]
292
+ },
293
+ {
294
+ "target_type": "base_ref",
295
+ "arguments": [
296
+ "--base-ref",
297
+ "\u003cref\u003e"
298
+ ]
299
+ },
300
+ {
301
+ "target_type": "workspace_overlay_base_ref",
302
+ "arguments": [
303
+ "--workspace-overlay",
304
+ "--base-ref",
305
+ "\u003cref\u003e"
306
+ ]
307
+ },
308
+ {
309
+ "target_type": "workspace_overlay_base_tree",
310
+ "arguments": [
311
+ "--workspace-overlay",
312
+ "--base-tree",
313
+ "\u003ctree\u003e"
314
+ ]
315
+ }
316
+ ],
317
+ "required_feature": "native_next_transition",
318
+ "unsupported_outcome": "unsupported-capability",
319
+ "parent_only": true
320
+ },
321
+ "compatibility": {
322
+ "minimum_protocol_major": 2,
323
+ "maximum_protocol_major": 2,
324
+ "additive_minor_policy": "optional-fields-only",
325
+ "unknown_mandatory": "reject",
326
+ "unknown_optional": "ignore",
327
+ "modes": [
328
+ "compact-v2",
329
+ "legacy-v1"
330
+ ],
331
+ "legacy_window": {
332
+ "mode": "legacy-v1",
333
+ "state": "active",
334
+ "read_only": true,
335
+ "deprecation_started": true,
336
+ "removal": "not-scheduled",
337
+ "minimum_compatibility_releases": 1
338
+ }
339
+ }
340
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "schema": "gentle-ai.review-integration.consent/v3",
3
+ "contract": "gentle-ai.review-integration/v2",
4
+ "operation": "review.start",
5
+ "action": "consent_required",
6
+ "agent": "claude-code",
7
+ "blocking": true,
8
+ "target_identity": "sha256:377c60e10b852cfcbcca6cd101e6ee7def9621a24a9f4b361d32137a3b0b3988",
9
+ "projection": "workspace",
10
+ "risk_level": "high",
11
+ "changed_files": 2,
12
+ "changed_lines": 12,
13
+ "headline": "Gentle AI can review this change before you call it done.",
14
+ "reason": "this change gets a deeper review because it touches code that starts other processes in internal/runner/runner.go.",
15
+ "value": "Reviewing takes a bit longer, and it makes the result substantially safer.",
16
+ "risk_evidence": [
17
+ "code that starts other processes in internal/runner/runner.go"
18
+ ],
19
+ "choices": [
20
+ {
21
+ "answer": "granted",
22
+ "label": "Run the review now",
23
+ "effect": "Reviews this exact frozen candidate now; nothing is granted for later candidates, so each later medium- or high-risk candidate asks again.",
24
+ "invocation": "gentle-ai review start --contract gentle-ai.review-integration/v2 --cwd /tmp/claude-1000/-home-gentleman-work-gentle-ai/7629c2de-8b8b-4005-b117-ab45c0869f70/scratchpad/consentcap/repo --target sha256:377c60e10b852cfcbcca6cd101e6ee7def9621a24a9f4b361d32137a3b0b3988 --projection workspace --consent granted"
25
+ },
26
+ {
27
+ "answer": "declined",
28
+ "label": "Not now, just this once",
29
+ "effect": "Skips the review for this exact candidate only; no review lineage or receipt is created, and ordinary delivery is unmanaged by candidate choice. The next candidate is asked again. This is not the kill switch.",
30
+ "invocation": "gentle-ai review start --contract gentle-ai.review-integration/v2 --cwd /tmp/claude-1000/-home-gentleman-work-gentle-ai/7629c2de-8b8b-4005-b117-ab45c0869f70/scratchpad/consentcap/repo --target sha256:377c60e10b852cfcbcca6cd101e6ee7def9621a24a9f4b361d32137a3b0b3988 --projection workspace --consent declined"
31
+ }
32
+ ],
33
+ "off_path": {
34
+ "note": "To turn reviews off for good, run 'gentle-ai review mode disable'.",
35
+ "command": "gentle-ai review mode disable"
36
+ }
37
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "schema": "gentle-ai.review-integration.failure/v2",
3
+ "contract": "gentle-ai.review-integration/v2",
4
+ "operation": "review.capture-evidence",
5
+ "phase": "preflight",
6
+ "code": "verification_evidence_binding_mismatch",
7
+ "message": "The verification evidence binding does not match the current validating or correction authority; re-derive the exact next transition before retrying.",
8
+ "mutation_outcome": "not_started",
9
+ "authority_applicability": "not_evaluated",
10
+ "retry_safe": true,
11
+ "replayability": "not_replayable",
12
+ "lineage_id": "review-ceeb2b862bd39709",
13
+ "required_inputs": [],
14
+ "next_action": "review.status",
15
+ "cause": "verification evidence binding does not match the current validating or correction authority"
16
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "schema": "gentle-ai.review-result-artifact/v2",
3
+ "capability": "review.native_result_artifact",
4
+ "path": "/tmp/claude-1000/-home-gentleman-work-gentle-ai/7629c2de-8b8b-4005-b117-ab45c0869f70/scratchpad/rart-capture/.git/gentle-ai/review-transactions/v2/review-ceeb2b862bd39709/reviewer-results/00-review-reliability.json",
5
+ "sha256": "sha256:c8b2d0ce70f22ff924447fe591dab4b4008e0b6cd7d4ac884439eaf6e47bd26e",
6
+ "lineage_id": "review-ceeb2b862bd39709",
7
+ "target_identity": "sha256:ceeb2b862bd39709a0c1d2642ba89711127de7e859d6c008bf1add73e4dc783e",
8
+ "lens": "review-reliability",
9
+ "selected_order": 0,
10
+ "subject_hash": "sha256:6952f7ea0b589d882201943449b3f4ab9505551ad306460ee7bebc6b4671ae1e",
11
+ "admission_decision": "completed"
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "schema": "gentle-ai.review-result-artifact/v2",
3
+ "capability": "review.native_result_artifact",
4
+ "reference": "rart1_ade967893b51f2e280f5393f154fe9e232b6cb8c22fd60b2ba65b301e8e23d47",
5
+ "sha256": "sha256:c8b2d0ce70f22ff924447fe591dab4b4008e0b6cd7d4ac884439eaf6e47bd26e",
6
+ "lineage_id": "review-ceeb2b862bd39709",
7
+ "target_identity": "sha256:ceeb2b862bd39709a0c1d2642ba89711127de7e859d6c008bf1add73e4dc783e",
8
+ "lens": "review-reliability",
9
+ "selected_order": 0,
10
+ "subject_hash": "sha256:6952f7ea0b589d882201943449b3f4ab9505551ad306460ee7bebc6b4671ae1e",
11
+ "admission_decision": "completed"
12
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "operation": "review/start",
3
+ "action": "declined",
4
+ "lenses_required": false,
5
+ "lineage_id": "",
6
+ "state": "",
7
+ "risk_level": "high",
8
+ "selected_lenses": [],
9
+ "lens_bindings": [],
10
+ "projection": "workspace",
11
+ "target_identity": "sha256:377c60e10b852cfcbcca6cd101e6ee7def9621a24a9f4b361d32137a3b0b3988",
12
+ "changed_files": 2,
13
+ "changed_lines": 12,
14
+ "correction_budget": 0,
15
+ "risk_evidence": [
16
+ "code that starts other processes in internal/runner/runner.go"
17
+ ],
18
+ "consent": "declined_this_candidate"
19
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "schema": "gentle-ai.review-integration.start/v3",
3
+ "contract": "gentle-ai.review-integration/v2",
4
+ "operation": "review.start",
5
+ "action": "created",
6
+ "lenses_required": true,
7
+ "lineage_id": "review-377c60e10b852cfc",
8
+ "state": "reviewing",
9
+ "risk_level": "high",
10
+ "selected_lenses": [
11
+ "review-risk",
12
+ "review-resilience",
13
+ "review-readability",
14
+ "review-reliability"
15
+ ],
16
+ "projection": "workspace",
17
+ "base_tree": "6f76421f34880aec8e73618ca7ce69b2f894cb47",
18
+ "candidate_tree": "b6d3cea0ddd081a71e83120d003953872754a617",
19
+ "changed_files": 2,
20
+ "changed_lines": 12,
21
+ "correction_budget": 6,
22
+ "risk_reasons": [
23
+ {
24
+ "code": "process_boundary",
25
+ "signal": "shell_process",
26
+ "path": "internal/runner/runner.go"
27
+ }
28
+ ],
29
+ "artifact_subjects": [
30
+ {
31
+ "schema": "gentle-ai.review-artifact-subject/v2",
32
+ "subject_hash": "sha256:83a75b97a02e17dca2a466f2a247466751d3d610ed5b18ea45cc6b258dbc4a31",
33
+ "lineage_id": "review-377c60e10b852cfc",
34
+ "authority_revision": "sha256:fe7f383e1b3b0854f8974c94b60597b59a4384c8c6f30c04779d13c6ec32fb66",
35
+ "target_identity": "sha256:377c60e10b852cfcbcca6cd101e6ee7def9621a24a9f4b361d32137a3b0b3988",
36
+ "base_tree": "6f76421f34880aec8e73618ca7ce69b2f894cb47",
37
+ "candidate_tree": "b6d3cea0ddd081a71e83120d003953872754a617",
38
+ "changed_path_manifest_sha256": "sha256:487bf2f5df250d6f9d76a28fded97bfad6aec57c62f92e2b997bfd9bf25e7a53",
39
+ "lens": "review-risk",
40
+ "selected_order": 0
41
+ },
42
+ {
43
+ "schema": "gentle-ai.review-artifact-subject/v2",
44
+ "subject_hash": "sha256:5abb925fdd448ca0add3f1ce95e84c9f4742e0c1241bade2bde0b3205f3879d8",
45
+ "lineage_id": "review-377c60e10b852cfc",
46
+ "authority_revision": "sha256:fe7f383e1b3b0854f8974c94b60597b59a4384c8c6f30c04779d13c6ec32fb66",
47
+ "target_identity": "sha256:377c60e10b852cfcbcca6cd101e6ee7def9621a24a9f4b361d32137a3b0b3988",
48
+ "base_tree": "6f76421f34880aec8e73618ca7ce69b2f894cb47",
49
+ "candidate_tree": "b6d3cea0ddd081a71e83120d003953872754a617",
50
+ "changed_path_manifest_sha256": "sha256:487bf2f5df250d6f9d76a28fded97bfad6aec57c62f92e2b997bfd9bf25e7a53",
51
+ "lens": "review-resilience",
52
+ "selected_order": 1
53
+ },
54
+ {
55
+ "schema": "gentle-ai.review-artifact-subject/v2",
56
+ "subject_hash": "sha256:cbf59cec5a008893a97b46248c214f4c007ac1b9a18052bfd4f478eaf560e04c",
57
+ "lineage_id": "review-377c60e10b852cfc",
58
+ "authority_revision": "sha256:fe7f383e1b3b0854f8974c94b60597b59a4384c8c6f30c04779d13c6ec32fb66",
59
+ "target_identity": "sha256:377c60e10b852cfcbcca6cd101e6ee7def9621a24a9f4b361d32137a3b0b3988",
60
+ "base_tree": "6f76421f34880aec8e73618ca7ce69b2f894cb47",
61
+ "candidate_tree": "b6d3cea0ddd081a71e83120d003953872754a617",
62
+ "changed_path_manifest_sha256": "sha256:487bf2f5df250d6f9d76a28fded97bfad6aec57c62f92e2b997bfd9bf25e7a53",
63
+ "lens": "review-readability",
64
+ "selected_order": 2
65
+ },
66
+ {
67
+ "schema": "gentle-ai.review-artifact-subject/v2",
68
+ "subject_hash": "sha256:4a3d37cc911e1b39b03acb15df07be6e3cb041a6c2d493dd4aa9e7446f4b7dfa",
69
+ "lineage_id": "review-377c60e10b852cfc",
70
+ "authority_revision": "sha256:fe7f383e1b3b0854f8974c94b60597b59a4384c8c6f30c04779d13c6ec32fb66",
71
+ "target_identity": "sha256:377c60e10b852cfcbcca6cd101e6ee7def9621a24a9f4b361d32137a3b0b3988",
72
+ "base_tree": "6f76421f34880aec8e73618ca7ce69b2f894cb47",
73
+ "candidate_tree": "b6d3cea0ddd081a71e83120d003953872754a617",
74
+ "changed_path_manifest_sha256": "sha256:487bf2f5df250d6f9d76a28fded97bfad6aec57c62f92e2b997bfd9bf25e7a53",
75
+ "lens": "review-reliability",
76
+ "selected_order": 3
77
+ }
78
+ ],
79
+ "changed_path_manifest": [
80
+ {
81
+ "path": "internal/runner/runner.go",
82
+ "status": "M",
83
+ "old_mode": "100644",
84
+ "new_mode": "100644",
85
+ "deleted": false,
86
+ "type_changed": false,
87
+ "mode_only": false,
88
+ "intended_untracked": false
89
+ },
90
+ {
91
+ "path": "internal/runner/runner_test.go",
92
+ "status": "M",
93
+ "old_mode": "100644",
94
+ "new_mode": "100644",
95
+ "deleted": false,
96
+ "type_changed": false,
97
+ "mode_only": false,
98
+ "intended_untracked": false
99
+ }
100
+ ],
101
+ "repository_context": {
102
+ "capability": "review.opaque_repository_context",
103
+ "handle": "rctx1_5ce64550b975f58fae189cf4ae1da04aea489928f386dc9f17b45f12d26de8e8",
104
+ "revision": "sha256:fe7f383e1b3b0854f8974c94b60597b59a4384c8c6f30c04779d13c6ec32fb66",
105
+ "target_identity": "sha256:377c60e10b852cfcbcca6cd101e6ee7def9621a24a9f4b361d32137a3b0b3988",
106
+ "event_id": "sha256:48ac0c2d153f410d4292a24e6dfa20ae16599cb6c3d5416bb87fa7f515007b71",
107
+ "outcome": "applied"
108
+ }
109
+ }