gentle-pi 1.2.0 → 2.1.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 (111) hide show
  1. package/README.md +32 -10
  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 +647 -58
  65. package/lib/gentle-ai-binary.ts +65 -18
  66. package/lib/native-review-cli.ts +824 -56
  67. package/lib/review-candidate-view.ts +135 -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 +1567 -0
  72. package/package.json +15 -11
  73. package/runtime/gentle-ai-binary.mjs +65 -18
  74. package/runtime/native-review-cli.mjs +808 -40
  75. package/runtime/review-integration-v2.mjs +1568 -0
  76. package/scripts/build-git-commit-transaction-runner.mjs +1 -1
  77. package/scripts/gentle-ai-installer.mjs +464 -76
  78. package/scripts/install-gentle-ai.mjs +7 -3
  79. package/scripts/test-packed-runner.mjs +3 -3
  80. package/scripts/verify-package-files.mjs +216 -64
  81. package/skills/_shared/review-ledger-contract.md +3 -1
  82. package/skills/release/SKILL.md +38 -11
  83. package/tests/devbinary/native-review-parity.devtest.ts +348 -0
  84. package/tests/gentle-ai-binary.test.ts +77 -3
  85. package/tests/gentle-ai-installer.test.ts +561 -22
  86. package/tests/gentle-ai.test.ts +2 -2
  87. package/tests/native-binary-gate.test.ts +145 -0
  88. package/tests/native-review-capability-contract.test.ts +87 -0
  89. package/tests/native-review-cli.test.ts +44 -1
  90. package/tests/native-review-consent.test.ts +128 -0
  91. package/tests/native-review-parity-runtime.test.ts +85 -29
  92. package/tests/native-review-parity.test.ts +782 -0
  93. package/tests/native-risk-evidence-parity.test.ts +91 -0
  94. package/tests/package-manifest.test.ts +80 -8
  95. package/tests/review-actor-tool-deny.test.ts +20 -5
  96. package/tests/review-candidate-view.test.ts +374 -1
  97. package/tests/review-compact-contract.test.ts +5 -0
  98. package/tests/review-consent-latch.test.ts +67 -0
  99. package/tests/review-controller-native-recovery.test.ts +180 -5
  100. package/tests/review-controller-native-routing.test.ts +632 -18
  101. package/tests/review-controller-workspace-root.test.ts +26 -6
  102. package/tests/review-controller.test.ts +1 -1
  103. package/tests/review-correction-lifecycle.test.ts +174 -0
  104. package/tests/review-integration-v2.test.ts +548 -0
  105. package/tests/runtime-harness.mjs +211 -12
  106. package/tests/support/native-binary-gate.ts +86 -0
  107. package/tests/verify-package-files.test.ts +119 -0
  108. package/lib/review-integration-v1.ts +0 -795
  109. package/runtime/review-integration-v1.mjs +0 -796
  110. package/tests/native-review-integration-v1.test.ts +0 -102
  111. package/tests/review-integration-v1.test.ts +0 -530
@@ -0,0 +1,110 @@
1
+ {
2
+ "schema": "gentle-ai.review-integration.status/v2",
3
+ "contract": "gentle-ai.review-integration/v1",
4
+ "operation": "review.status",
5
+ "applicability": "ambiguous",
6
+ "receipt": {
7
+ "status": "not_applicable"
8
+ },
9
+ "action": "select_lineage",
10
+ "replayability": "status_required",
11
+ "target_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6",
12
+ "projection": {
13
+ "schema": "gentle-ai.review-integration.projection/v1",
14
+ "kind": "current-changes",
15
+ "projection": "workspace",
16
+ "base_tree": "3e21a205dd9b55021aeae87965092623807e455f",
17
+ "initial_review_tree": "1c3325617279b38743f073302ba190fc421b5a09",
18
+ "current_candidate_tree": "1c3325617279b38743f073302ba190fc421b5a09",
19
+ "paths_digest": "sha256:b93fca961a97d240c2b7023e98772f49ebd2995eda7db07043270b57bed75d71",
20
+ "paths": [
21
+ "tracked.txt"
22
+ ],
23
+ "intended_untracked": [],
24
+ "intended_untracked_proof": "sha256:b97229718d4c7fe50a8892eb474ae5aa6491697bccb400e3e31dbaca4894d2f3",
25
+ "initial_snapshot_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6",
26
+ "current_snapshot_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6"
27
+ },
28
+ "repair": {
29
+ "schema": "gentle-ai.review-authority-repair-assessment/v1",
30
+ "status": "unsupported",
31
+ "counts": {
32
+ "lineages": 0,
33
+ "compact_lineages": 0,
34
+ "legacy_lineages": 0,
35
+ "events": 0,
36
+ "bytes": 0,
37
+ "eligible_candidates": 0,
38
+ "unsupported_lineages": 0,
39
+ "conflicts": 0
40
+ },
41
+ "supported_operations": [
42
+ "review/complete-fix",
43
+ "review/validate-fix"
44
+ ],
45
+ "authorization_schema": "gentle-ai.review-repair-authorization/v1"
46
+ },
47
+ "candidates": [
48
+ "review-a",
49
+ "review-b"
50
+ ],
51
+ "eligibility": {
52
+ "allowed_actions": [
53
+ {
54
+ "action": "stop",
55
+ "reason_code": "forbidden_manual_intervention_required",
56
+ "required_inputs": []
57
+ }
58
+ ],
59
+ "forbidden_actions": [
60
+ {
61
+ "action": "review.abandon",
62
+ "reason_code": "forbidden_ambiguous_authority"
63
+ },
64
+ {
65
+ "action": "review.finalize",
66
+ "reason_code": "forbidden_ambiguous_authority"
67
+ },
68
+ {
69
+ "action": "review.invalidate",
70
+ "reason_code": "forbidden_ambiguous_authority"
71
+ },
72
+ {
73
+ "action": "review.quarantine-legacy",
74
+ "reason_code": "forbidden_ambiguous_authority"
75
+ },
76
+ {
77
+ "action": "review.reclaim",
78
+ "reason_code": "forbidden_ambiguous_authority"
79
+ },
80
+ {
81
+ "action": "review.reconcile-authority",
82
+ "reason_code": "forbidden_ambiguous_authority"
83
+ },
84
+ {
85
+ "action": "review.reconcile-authority-batch",
86
+ "reason_code": "forbidden_ambiguous_authority"
87
+ },
88
+ {
89
+ "action": "review.recover",
90
+ "reason_code": "forbidden_ambiguous_authority"
91
+ },
92
+ {
93
+ "action": "review.repair",
94
+ "reason_code": "forbidden_ambiguous_authority"
95
+ },
96
+ {
97
+ "action": "review.retry_final_verification",
98
+ "reason_code": "forbidden_ambiguous_authority"
99
+ },
100
+ {
101
+ "action": "review.start",
102
+ "reason_code": "forbidden_ambiguous_authority"
103
+ },
104
+ {
105
+ "action": "review.validate",
106
+ "reason_code": "forbidden_ambiguous_authority"
107
+ }
108
+ ]
109
+ }
110
+ }
@@ -0,0 +1,107 @@
1
+ {
2
+ "schema": "gentle-ai.review-integration.status/v2",
3
+ "contract": "gentle-ai.review-integration/v1",
4
+ "operation": "review.status",
5
+ "applicability": "corrupted",
6
+ "receipt": {
7
+ "status": "not_applicable"
8
+ },
9
+ "action": "repair_authority",
10
+ "replayability": "manual_action_required",
11
+ "target_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6",
12
+ "projection": {
13
+ "schema": "gentle-ai.review-integration.projection/v1",
14
+ "kind": "current-changes",
15
+ "projection": "workspace",
16
+ "base_tree": "3e21a205dd9b55021aeae87965092623807e455f",
17
+ "initial_review_tree": "1c3325617279b38743f073302ba190fc421b5a09",
18
+ "current_candidate_tree": "1c3325617279b38743f073302ba190fc421b5a09",
19
+ "paths_digest": "sha256:b93fca961a97d240c2b7023e98772f49ebd2995eda7db07043270b57bed75d71",
20
+ "paths": [
21
+ "tracked.txt"
22
+ ],
23
+ "intended_untracked": [],
24
+ "intended_untracked_proof": "sha256:b97229718d4c7fe50a8892eb474ae5aa6491697bccb400e3e31dbaca4894d2f3",
25
+ "initial_snapshot_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6",
26
+ "current_snapshot_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6"
27
+ },
28
+ "repair": {
29
+ "schema": "gentle-ai.review-authority-repair-assessment/v1",
30
+ "status": "unsupported",
31
+ "counts": {
32
+ "lineages": 0,
33
+ "compact_lineages": 0,
34
+ "legacy_lineages": 0,
35
+ "events": 0,
36
+ "bytes": 0,
37
+ "eligible_candidates": 0,
38
+ "unsupported_lineages": 0,
39
+ "conflicts": 0
40
+ },
41
+ "supported_operations": [
42
+ "review/complete-fix",
43
+ "review/validate-fix"
44
+ ],
45
+ "authorization_schema": "gentle-ai.review-repair-authorization/v1"
46
+ },
47
+ "candidates": [],
48
+ "eligibility": {
49
+ "allowed_actions": [
50
+ {
51
+ "action": "stop",
52
+ "reason_code": "forbidden_manual_intervention_required",
53
+ "required_inputs": []
54
+ }
55
+ ],
56
+ "forbidden_actions": [
57
+ {
58
+ "action": "review.abandon",
59
+ "reason_code": "forbidden_corrupted_authority"
60
+ },
61
+ {
62
+ "action": "review.finalize",
63
+ "reason_code": "forbidden_corrupted_authority"
64
+ },
65
+ {
66
+ "action": "review.invalidate",
67
+ "reason_code": "forbidden_corrupted_authority"
68
+ },
69
+ {
70
+ "action": "review.quarantine-legacy",
71
+ "reason_code": "forbidden_corrupted_authority"
72
+ },
73
+ {
74
+ "action": "review.reclaim",
75
+ "reason_code": "forbidden_corrupted_authority"
76
+ },
77
+ {
78
+ "action": "review.reconcile-authority",
79
+ "reason_code": "forbidden_corrupted_authority"
80
+ },
81
+ {
82
+ "action": "review.reconcile-authority-batch",
83
+ "reason_code": "forbidden_corrupted_authority"
84
+ },
85
+ {
86
+ "action": "review.recover",
87
+ "reason_code": "forbidden_corrupted_authority"
88
+ },
89
+ {
90
+ "action": "review.repair",
91
+ "reason_code": "forbidden_corrupted_authority"
92
+ },
93
+ {
94
+ "action": "review.retry_final_verification",
95
+ "reason_code": "forbidden_corrupted_authority"
96
+ },
97
+ {
98
+ "action": "review.start",
99
+ "reason_code": "forbidden_corrupted_authority"
100
+ },
101
+ {
102
+ "action": "review.validate",
103
+ "reason_code": "forbidden_corrupted_authority"
104
+ }
105
+ ]
106
+ }
107
+ }
@@ -0,0 +1,192 @@
1
+ {
2
+ "schema": "gentle-ai.review-integration.status/v2",
3
+ "contract": "gentle-ai.review-integration/v1",
4
+ "operation": "review.status",
5
+ "applicability": "current_target",
6
+ "authority": {
7
+ "version": "compact-v2",
8
+ "lineage_id": "review-final-verification-retry-fixture",
9
+ "state": "escalated",
10
+ "generation": 2,
11
+ "revision": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
12
+ },
13
+ "receipt": {
14
+ "status": "present",
15
+ "identity": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
16
+ },
17
+ "action": "retry_final_verification",
18
+ "replayability": "manual_action_required",
19
+ "frozen": {
20
+ "tier": "medium",
21
+ "original_changed_lines": 2,
22
+ "correction_budget": 1
23
+ },
24
+ "target_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6",
25
+ "authority_target_identity": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
26
+ "projection": {
27
+ "schema": "gentle-ai.review-integration.projection/v1",
28
+ "kind": "current-changes",
29
+ "projection": "workspace",
30
+ "base_tree": "3e21a205dd9b55021aeae87965092623807e455f",
31
+ "initial_review_tree": "1c3325617279b38743f073302ba190fc421b5a09",
32
+ "current_candidate_tree": "1c3325617279b38743f073302ba190fc421b5a09",
33
+ "paths_digest": "sha256:b93fca961a97d240c2b7023e98772f49ebd2995eda7db07043270b57bed75d71",
34
+ "paths": [
35
+ "tracked.txt"
36
+ ],
37
+ "intended_untracked": [],
38
+ "intended_untracked_proof": "sha256:b97229718d4c7fe50a8892eb474ae5aa6491697bccb400e3e31dbaca4894d2f3",
39
+ "initial_snapshot_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6",
40
+ "current_snapshot_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6"
41
+ },
42
+ "repair": {
43
+ "schema": "gentle-ai.review-authority-repair-assessment/v1",
44
+ "status": "unsupported",
45
+ "counts": {
46
+ "lineages": 0,
47
+ "compact_lineages": 0,
48
+ "legacy_lineages": 0,
49
+ "events": 0,
50
+ "bytes": 0,
51
+ "eligible_candidates": 0,
52
+ "unsupported_lineages": 0,
53
+ "conflicts": 0
54
+ },
55
+ "supported_operations": [
56
+ "review/complete-fix",
57
+ "review/validate-fix"
58
+ ],
59
+ "authorization_schema": "gentle-ai.review-repair-authorization/v1"
60
+ },
61
+ "candidates": [],
62
+ "eligibility": {
63
+ "allowed_actions": [
64
+ {
65
+ "action": "review.retry_final_verification",
66
+ "reason_code": "eligible_final_verification_retry",
67
+ "required_inputs": [
68
+ "predecessor_lineage",
69
+ "expected_predecessor_revision",
70
+ "successor_lineage",
71
+ "incident",
72
+ "actor",
73
+ "reason",
74
+ "maintainer_authorization"
75
+ ],
76
+ "disposition": "final_verification_retry",
77
+ "binding": {
78
+ "lineage_id": "review-final-verification-retry-fixture",
79
+ "revision": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
80
+ "target_identity": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
81
+ }
82
+ }
83
+ ],
84
+ "forbidden_actions": [
85
+ {
86
+ "action": "review.abandon",
87
+ "reason_code": "forbidden_not_selected_by_native_status"
88
+ },
89
+ {
90
+ "action": "review.finalize",
91
+ "reason_code": "forbidden_not_selected_by_native_status"
92
+ },
93
+ {
94
+ "action": "review.invalidate",
95
+ "reason_code": "forbidden_not_selected_by_native_status"
96
+ },
97
+ {
98
+ "action": "review.quarantine-legacy",
99
+ "reason_code": "forbidden_not_selected_by_native_status"
100
+ },
101
+ {
102
+ "action": "review.reclaim",
103
+ "reason_code": "forbidden_not_selected_by_native_status"
104
+ },
105
+ {
106
+ "action": "review.reconcile-authority",
107
+ "reason_code": "forbidden_not_selected_by_native_status"
108
+ },
109
+ {
110
+ "action": "review.reconcile-authority-batch",
111
+ "reason_code": "forbidden_not_selected_by_native_status"
112
+ },
113
+ {
114
+ "action": "review.recover",
115
+ "reason_code": "forbidden_not_selected_by_native_status"
116
+ },
117
+ {
118
+ "action": "review.repair",
119
+ "reason_code": "forbidden_not_selected_by_native_status"
120
+ },
121
+ {
122
+ "action": "review.start",
123
+ "reason_code": "forbidden_not_selected_by_native_status"
124
+ },
125
+ {
126
+ "action": "review.validate",
127
+ "reason_code": "forbidden_not_selected_by_native_status"
128
+ }
129
+ ]
130
+ },
131
+ "next_transition": {
132
+ "kind": "collect",
133
+ "reason_code": "final_verification_retry_authorization_required",
134
+ "collect": {
135
+ "inputs": [
136
+ {
137
+ "name": "final_verification_retry_authorization",
138
+ "schema": "gentle-ai.review-final-verification-retry-authorization/v1",
139
+ "capture_operation": "external.authorize_final_verification_retry",
140
+ "arguments": [
141
+ {
142
+ "name": "predecessor-lineage",
143
+ "value": "review-final-verification-retry-fixture"
144
+ },
145
+ {
146
+ "name": "expected-predecessor-revision",
147
+ "value": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
148
+ },
149
+ {
150
+ "name": "validating-revision",
151
+ "value": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
152
+ },
153
+ {
154
+ "name": "target",
155
+ "value": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
156
+ },
157
+ {
158
+ "name": "failed-evidence-hash",
159
+ "value": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
160
+ },
161
+ {
162
+ "name": "failed-evidence-record-digest",
163
+ "value": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
164
+ },
165
+ {
166
+ "name": "finalize-request-digest",
167
+ "value": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
168
+ },
169
+ {
170
+ "name": "incident-schema",
171
+ "value": "gentle-ai.review-final-verification-incident/v1"
172
+ },
173
+ {
174
+ "name": "incident-class",
175
+ "value": "procedural_tooling_failure"
176
+ }
177
+ ]
178
+ }
179
+ ]
180
+ }
181
+ },
182
+ "action_disposition": "final_verification_retry",
183
+ "final_verification_retry": {
184
+ "incident_schema": "gentle-ai.review-final-verification-incident/v1",
185
+ "incident_class": "procedural_tooling_failure",
186
+ "validating_revision": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
187
+ "target_identity": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
188
+ "failed_evidence_hash": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
189
+ "failed_evidence_record_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
190
+ "finalize_request_digest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
191
+ }
192
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "schema": "gentle-ai.review-integration.status/v2",
3
+ "contract": "gentle-ai.review-integration/v1",
4
+ "operation": "review.status",
5
+ "applicability": "current_target",
6
+ "authority": {
7
+ "version": "compact-v2",
8
+ "lineage_id": "review-status-recover-fixture",
9
+ "state": "correction_required",
10
+ "generation": 3,
11
+ "revision": "sha256:81cdad8f3182d4919147d3c4fe8f614814068e5ef68417e3dcbd5e326dd3e390"
12
+ },
13
+ "receipt": {
14
+ "status": "expected_missing"
15
+ },
16
+ "action": "recover",
17
+ "action_disposition": "scope_changed",
18
+ "replayability": "manual_action_required",
19
+ "frozen": {
20
+ "tier": "medium",
21
+ "original_changed_lines": 2,
22
+ "correction_budget": 1
23
+ },
24
+ "target_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6",
25
+ "projection": {
26
+ "schema": "gentle-ai.review-integration.projection/v1",
27
+ "kind": "current-changes",
28
+ "projection": "workspace",
29
+ "base_tree": "3e21a205dd9b55021aeae87965092623807e455f",
30
+ "initial_review_tree": "1c3325617279b38743f073302ba190fc421b5a09",
31
+ "current_candidate_tree": "1c3325617279b38743f073302ba190fc421b5a09",
32
+ "paths_digest": "sha256:b93fca961a97d240c2b7023e98772f49ebd2995eda7db07043270b57bed75d71",
33
+ "paths": [
34
+ "tracked.txt"
35
+ ],
36
+ "intended_untracked": [],
37
+ "intended_untracked_proof": "sha256:b97229718d4c7fe50a8892eb474ae5aa6491697bccb400e3e31dbaca4894d2f3",
38
+ "initial_snapshot_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6",
39
+ "current_snapshot_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6"
40
+ },
41
+ "repair": {
42
+ "schema": "gentle-ai.review-authority-repair-assessment/v1",
43
+ "status": "unsupported",
44
+ "counts": {
45
+ "lineages": 0,
46
+ "compact_lineages": 0,
47
+ "legacy_lineages": 0,
48
+ "events": 0,
49
+ "bytes": 0,
50
+ "eligible_candidates": 0,
51
+ "unsupported_lineages": 0,
52
+ "conflicts": 0
53
+ },
54
+ "supported_operations": [
55
+ "review/complete-fix",
56
+ "review/validate-fix"
57
+ ],
58
+ "authorization_schema": "gentle-ai.review-repair-authorization/v1"
59
+ },
60
+ "candidates": [],
61
+ "eligibility": {
62
+ "allowed_actions": [
63
+ {
64
+ "action": "review.recover",
65
+ "reason_code": "eligible_recovery",
66
+ "required_inputs": [
67
+ "predecessor_lineage",
68
+ "expected_predecessor_revision",
69
+ "successor_lineage",
70
+ "disposition",
71
+ "reason",
72
+ "actor",
73
+ "maintainer_authorization"
74
+ ],
75
+ "disposition": "scope_changed",
76
+ "binding": {
77
+ "lineage_id": "review-status-recover-fixture",
78
+ "revision": "sha256:81cdad8f3182d4919147d3c4fe8f614814068e5ef68417e3dcbd5e326dd3e390",
79
+ "target_identity": "sha256:e6faad1cb9ceb2db170e0ec9ea5394b44c3991dff6cbd02fb6787539715968f6"
80
+ }
81
+ }
82
+ ],
83
+ "forbidden_actions": [
84
+ {
85
+ "action": "review.abandon",
86
+ "reason_code": "forbidden_not_selected_by_native_status"
87
+ },
88
+ {
89
+ "action": "review.finalize",
90
+ "reason_code": "forbidden_not_selected_by_native_status"
91
+ },
92
+ {
93
+ "action": "review.invalidate",
94
+ "reason_code": "forbidden_not_selected_by_native_status"
95
+ },
96
+ {
97
+ "action": "review.quarantine-legacy",
98
+ "reason_code": "forbidden_not_selected_by_native_status"
99
+ },
100
+ {
101
+ "action": "review.reclaim",
102
+ "reason_code": "forbidden_not_selected_by_native_status"
103
+ },
104
+ {
105
+ "action": "review.reconcile-authority",
106
+ "reason_code": "forbidden_not_selected_by_native_status"
107
+ },
108
+ {
109
+ "action": "review.reconcile-authority-batch",
110
+ "reason_code": "forbidden_not_selected_by_native_status"
111
+ },
112
+ {
113
+ "action": "review.repair",
114
+ "reason_code": "forbidden_not_selected_by_native_status"
115
+ },
116
+ {
117
+ "action": "review.retry_final_verification",
118
+ "reason_code": "forbidden_not_selected_by_native_status"
119
+ },
120
+ {
121
+ "action": "review.start",
122
+ "reason_code": "forbidden_not_selected_by_native_status"
123
+ },
124
+ {
125
+ "action": "review.validate",
126
+ "reason_code": "forbidden_not_selected_by_native_status"
127
+ }
128
+ ]
129
+ }
130
+ }