clink-cli 0.2.1__py3-none-any.whl

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 (141) hide show
  1. clink/__init__.py +19 -0
  2. clink/agents/__init__.py +30 -0
  3. clink/agents/base.py +70 -0
  4. clink/agents/claude.py +7 -0
  5. clink/agents/codex.py +7 -0
  6. clink/agents/gemini.py +7 -0
  7. clink/allowed_roots.py +356 -0
  8. clink/backend.py +765 -0
  9. clink/cli.py +594 -0
  10. clink/constants.py +78 -0
  11. clink/contracts.py +167 -0
  12. clink/files.py +70 -0
  13. clink/generation.py +274 -0
  14. clink/generation_capabilities.py +207 -0
  15. clink/generation_contracts.py +214 -0
  16. clink/generation_policy.py +174 -0
  17. clink/models.py +243 -0
  18. clink/native.py +409 -0
  19. clink/native_adapters.py +244 -0
  20. clink/native_contracts.py +68 -0
  21. clink/native_generation.py +421 -0
  22. clink/native_generation_claude_policy.py +59 -0
  23. clink/native_generation_contracts.py +264 -0
  24. clink/native_generation_families.py +218 -0
  25. clink/native_generation_family_policy.py +14 -0
  26. clink/native_generation_files.py +153 -0
  27. clink/native_generation_policy.py +82 -0
  28. clink/native_policy.py +86 -0
  29. clink/parsers/__init__.py +34 -0
  30. clink/parsers/agy.py +53 -0
  31. clink/parsers/agy_native.py +161 -0
  32. clink/parsers/agy_native_generation.py +189 -0
  33. clink/parsers/base.py +209 -0
  34. clink/parsers/claude.py +104 -0
  35. clink/parsers/claude_native.py +113 -0
  36. clink/parsers/claude_native_generation.py +346 -0
  37. clink/parsers/codex.py +172 -0
  38. clink/parsers/codex_generation.py +212 -0
  39. clink/parsers/codex_native.py +236 -0
  40. clink/parsers/codex_native_generation.py +367 -0
  41. clink/parsers/gemini.py +110 -0
  42. clink/parsers/grok.py +63 -0
  43. clink/parsers/grok_native.py +91 -0
  44. clink/parsers/grok_native_generation.py +157 -0
  45. clink/policy.py +180 -0
  46. clink/registry.py +544 -0
  47. clink/resources/CODEX-LICENSE +201 -0
  48. clink/resources/CODEX-NOTICE +6 -0
  49. clink/resources/PROVENANCE.md +16 -0
  50. clink/resources/codex-0.166.0-models-direct.json +1284 -0
  51. clink/resources/codex-0.166.0-models-generation.json +1269 -0
  52. clink/resources/native-agy-1.4.12-admission.json +746 -0
  53. clink/resources/native-claude-2.1.304-admission.json +99 -0
  54. clink/resources/native-generation-claude-2.1.304-admission.json +277 -0
  55. clink/resources/native-generation-codex-0.166.0-admission.json +309 -0
  56. clink/resources/native-generation-grok-1.0.70-admission.json +329 -0
  57. clink/resources/native-grok-1.0.70-admission.json +644 -0
  58. clink/runner.py +303 -0
  59. clink/setup.py +399 -0
  60. clink/tasks.py +695 -0
  61. clink_cli-0.2.1.dist-info/METADATA +225 -0
  62. clink_cli-0.2.1.dist-info/RECORD +141 -0
  63. clink_cli-0.2.1.dist-info/WHEEL +5 -0
  64. clink_cli-0.2.1.dist-info/entry_points.txt +3 -0
  65. clink_cli-0.2.1.dist-info/licenses/LICENSE +197 -0
  66. clink_cli-0.2.1.dist-info/licenses/clink/resources/CODEX-LICENSE +201 -0
  67. clink_cli-0.2.1.dist-info/licenses/clink/resources/CODEX-NOTICE +6 -0
  68. clink_cli-0.2.1.dist-info/top_level.txt +7 -0
  69. conf/__init__.py +1 -0
  70. conf/cli_clients/agy.json +40 -0
  71. conf/cli_clients/claude.json +39 -0
  72. conf/cli_clients/codex.json +40 -0
  73. conf/cli_clients/gemini.json +23 -0
  74. conf/cli_clients/grok.json +40 -0
  75. config.py +40 -0
  76. server.py +896 -0
  77. systemprompts/__init__.py +35 -0
  78. systemprompts/analyze_prompt.py +87 -0
  79. systemprompts/chat_prompt.py +57 -0
  80. systemprompts/clink/codex_codereviewer.txt +8 -0
  81. systemprompts/clink/default.txt +8 -0
  82. systemprompts/clink/default_codereviewer.txt +8 -0
  83. systemprompts/clink/default_planner.txt +7 -0
  84. systemprompts/clink/native_codereviewer.txt +1 -0
  85. systemprompts/clink/native_default.txt +1 -0
  86. systemprompts/clink/native_planner.txt +1 -0
  87. systemprompts/codereview_prompt.py +91 -0
  88. systemprompts/consensus_prompt.py +120 -0
  89. systemprompts/debug_prompt.py +150 -0
  90. systemprompts/docgen_prompt.py +252 -0
  91. systemprompts/generate_code_prompt.py +181 -0
  92. systemprompts/planner_prompt.py +127 -0
  93. systemprompts/precommit_prompt.py +179 -0
  94. systemprompts/refactor_prompt.py +323 -0
  95. systemprompts/secaudit_prompt.py +420 -0
  96. systemprompts/testgen_prompt.py +133 -0
  97. systemprompts/thinkdeep_prompt.py +55 -0
  98. systemprompts/tracer_prompt.py +145 -0
  99. tools/__init__.py +43 -0
  100. tools/analyze.py +583 -0
  101. tools/apilookup.py +97 -0
  102. tools/challenge.py +198 -0
  103. tools/chat.py +187 -0
  104. tools/clink.py +130 -0
  105. tools/codereview.py +724 -0
  106. tools/consensus.py +790 -0
  107. tools/debug.py +573 -0
  108. tools/docgen.py +577 -0
  109. tools/listmodels.py +48 -0
  110. tools/models.py +373 -0
  111. tools/planner.py +533 -0
  112. tools/precommit.py +776 -0
  113. tools/refactor.py +645 -0
  114. tools/secaudit.py +685 -0
  115. tools/shared/__init__.py +19 -0
  116. tools/shared/base_models.py +167 -0
  117. tools/shared/base_tool.py +659 -0
  118. tools/shared/exceptions.py +20 -0
  119. tools/shared/schema_builders.py +159 -0
  120. tools/simple/__init__.py +18 -0
  121. tools/simple/base.py +539 -0
  122. tools/testgen.py +513 -0
  123. tools/thinkdeep.py +586 -0
  124. tools/tracer.py +763 -0
  125. tools/version.py +53 -0
  126. tools/workflow/__init__.py +22 -0
  127. tools/workflow/base.py +448 -0
  128. tools/workflow/schema_builders.py +166 -0
  129. tools/workflow/workflow_mixin.py +1195 -0
  130. utils/__init__.py +21 -0
  131. utils/call_state.py +349 -0
  132. utils/client_info.py +293 -0
  133. utils/consensus_manifest.py +131 -0
  134. utils/conversation_memory.py +582 -0
  135. utils/env.py +111 -0
  136. utils/file_types.py +271 -0
  137. utils/file_utils.py +803 -0
  138. utils/image_utils.py +94 -0
  139. utils/security_config.py +163 -0
  140. utils/storage_backend.py +177 -0
  141. utils/token_utils.py +54 -0
@@ -0,0 +1,746 @@
1
+ {
2
+ "accepted_checks": {
3
+ "cancel": {
4
+ "observations": {
5
+ "agy_fixture_cancel_command_approval_emitted": true,
6
+ "descendant_identity_observed": true,
7
+ "emergency_cleanup_requested": false,
8
+ "observed_mutation": true,
9
+ "pool_released": true,
10
+ "project_leases_released": true,
11
+ "synthetic_child_ready_observed": true,
12
+ "synthetic_descendant_absent": true
13
+ },
14
+ "ordinal": 10,
15
+ "passed": true,
16
+ "process_group_absent_after_cleanup": true,
17
+ "source_receipt": "docs/verification/native-agy-1.4.12-attempt10.json",
18
+ "source_sha256": "a76cd876e3a5843f37d7113a227f26d3b618bc5c74fea4a892365010ba6efd8b",
19
+ "state": "cancelled"
20
+ },
21
+ "edit": {
22
+ "native_denial_diagnostic": {
23
+ "denials": [],
24
+ "parser_valid": true,
25
+ "permission_denial_count": 0,
26
+ "schema_version": 1,
27
+ "tool_error_count": 0,
28
+ "truncated": false
29
+ },
30
+ "observations": {
31
+ "agy_fixture_arithmetic_edit_approval_emitted": true,
32
+ "agy_fixture_mcp_canary_approval_emitted": true,
33
+ "agy_fixture_subagent_approval_emitted": true,
34
+ "agy_fixture_test_command_approval_emitted": true,
35
+ "agy_session_start_observed": true,
36
+ "fixture_changed": true,
37
+ "fixture_subagent_canary_matches": false,
38
+ "fixture_subagent_read_observed": true,
39
+ "fixture_subagent_started": true,
40
+ "fixture_subagent_stopped": true,
41
+ "fixture_subagent_token_return_verified": false,
42
+ "independent_final_test_passed": true,
43
+ "mcp_environment_canary_matches": true,
44
+ "native_test_failure_observed": true,
45
+ "native_test_success_observed": true,
46
+ "protected_file_untouched": true,
47
+ "scope_hook_observed": true
48
+ },
49
+ "ordinal": 7,
50
+ "passed": true,
51
+ "process_group_absent_after_cleanup": true,
52
+ "source_receipt": "docs/verification/native-agy-1.4.12-attempt10.json",
53
+ "source_sha256": "a76cd876e3a5843f37d7113a227f26d3b618bc5c74fea4a892365010ba6efd8b",
54
+ "state": "completed"
55
+ },
56
+ "followup": {
57
+ "native_denial_diagnostic": {
58
+ "denials": [],
59
+ "parser_valid": true,
60
+ "permission_denial_count": 0,
61
+ "schema_version": 1,
62
+ "tool_error_count": 0,
63
+ "truncated": false
64
+ },
65
+ "observations": {
66
+ "context_token_matches": true,
67
+ "same_native_session": true
68
+ },
69
+ "ordinal": 8,
70
+ "passed": true,
71
+ "process_group_absent_after_cleanup": true,
72
+ "source_receipt": "docs/verification/native-agy-1.4.12-attempt10.json",
73
+ "source_sha256": "a76cd876e3a5843f37d7113a227f26d3b618bc5c74fea4a892365010ba6efd8b",
74
+ "state": "completed"
75
+ },
76
+ "permission": {
77
+ "native_denial_diagnostic": {
78
+ "denials": [
79
+ {
80
+ "fixture_operation": "unknown",
81
+ "reason_code": "agy_denied_action",
82
+ "signature": "agy_1_4_12_denied_action",
83
+ "tool_category": "unknown"
84
+ }
85
+ ],
86
+ "parser_valid": true,
87
+ "permission_denial_count": 1,
88
+ "schema_version": 1,
89
+ "tool_error_count": 1,
90
+ "truncated": false
91
+ },
92
+ "observations": {
93
+ "permission_hook_observed": true,
94
+ "protected_file_untouched": true
95
+ },
96
+ "ordinal": 9,
97
+ "passed": true,
98
+ "process_group_absent_after_cleanup": true,
99
+ "source_receipt": "docs/verification/native-agy-1.4.12-attempt10.json",
100
+ "source_sha256": "a76cd876e3a5843f37d7113a227f26d3b618bc5c74fea4a892365010ba6efd8b",
101
+ "state": "permission_needed"
102
+ }
103
+ },
104
+ "actual_model": null,
105
+ "actual_model_origin": "unknown",
106
+ "actual_models": [],
107
+ "adapter": "agy",
108
+ "admission": {
109
+ "basis": "One complete original attempt10 invocation passed all four checks; earlier six submissions remain failed history. Parent recorded independent evidence GO from native_execution_review; production integration has a separate review gate.",
110
+ "independent_review": "evidence_passed",
111
+ "production_integration": "Requires separate independent implementation review of policy, manifest and packaged-resource activation; this receipt records accepted lifecycle evidence."
112
+ },
113
+ "attempt_history": [
114
+ {
115
+ "actual_model": null,
116
+ "actual_model_origin": "unknown",
117
+ "cancellation_requested": false,
118
+ "check": "edit",
119
+ "exit_status": 0,
120
+ "followup_available": true,
121
+ "ordinal": 1,
122
+ "outcome": "Native permission refusal before required capabilities; retained failed edit gate.",
123
+ "passed": false,
124
+ "possible_partial_effects": true,
125
+ "process_group_absent_after_cleanup": true,
126
+ "reason": "exited",
127
+ "result_unavailable": false,
128
+ "spawn_observed": true,
129
+ "state": "permission_needed",
130
+ "stderr_bytes": 303,
131
+ "stdout_bytes": 4587
132
+ },
133
+ {
134
+ "actual_model": null,
135
+ "actual_model_origin": "unknown",
136
+ "cancellation_requested": false,
137
+ "check": "edit",
138
+ "error_code": "parse_error",
139
+ "exit_status": 0,
140
+ "followup_available": false,
141
+ "ordinal": 2,
142
+ "outcome": "Zero native exit with parse_error/uncertain; exact historical stream mismatch was not retained or established.",
143
+ "passed": false,
144
+ "possible_partial_effects": true,
145
+ "process_group_absent_after_cleanup": true,
146
+ "reason": "exited",
147
+ "result_unavailable": false,
148
+ "spawn_observed": true,
149
+ "state": "uncertain",
150
+ "stderr_bytes": 303,
151
+ "stdout_bytes": 4314
152
+ },
153
+ {
154
+ "actual_model": null,
155
+ "actual_model_origin": "unknown",
156
+ "cancellation_requested": false,
157
+ "check": "edit",
158
+ "exit_status": 0,
159
+ "followup_available": true,
160
+ "ordinal": 3,
161
+ "outcome": "Native permission refusal; required edit/capabilities were not observed.",
162
+ "passed": false,
163
+ "possible_partial_effects": true,
164
+ "process_group_absent_after_cleanup": true,
165
+ "reason": "exited",
166
+ "result_unavailable": false,
167
+ "spawn_observed": true,
168
+ "state": "permission_needed",
169
+ "stderr_bytes": 303,
170
+ "stdout_bytes": 3242
171
+ },
172
+ {
173
+ "actual_model": null,
174
+ "actual_model_origin": "unknown",
175
+ "cancellation_requested": false,
176
+ "check": "edit",
177
+ "exit_status": 0,
178
+ "followup_available": true,
179
+ "ordinal": 4,
180
+ "outcome": "Native permission refusal with exact command/wait but absent classic Cwd and unexpected arguments; installed alternate contract subsequently investigated.",
181
+ "passed": false,
182
+ "possible_partial_effects": true,
183
+ "process_group_absent_after_cleanup": true,
184
+ "reason": "exited",
185
+ "result_unavailable": false,
186
+ "spawn_observed": true,
187
+ "state": "permission_needed",
188
+ "stderr_bytes": 303,
189
+ "stdout_bytes": 4317
190
+ },
191
+ {
192
+ "actual_model": null,
193
+ "actual_model_origin": "unknown",
194
+ "cancellation_requested": false,
195
+ "check": "edit",
196
+ "exit_status": 0,
197
+ "followup_available": true,
198
+ "ordinal": 5,
199
+ "outcome": "Exact test-command approval and failing arithmetic test observed, then native MCP refusal; bounded later exact-session diagnosis identifies the generic synthetic canary dispatcher.",
200
+ "passed": false,
201
+ "possible_partial_effects": true,
202
+ "process_group_absent_after_cleanup": true,
203
+ "reason": "exited",
204
+ "result_unavailable": false,
205
+ "spawn_observed": true,
206
+ "state": "permission_needed",
207
+ "stderr_bytes": 295,
208
+ "stdout_bytes": 5066
209
+ },
210
+ {
211
+ "actual_model": null,
212
+ "actual_model_origin": "unknown",
213
+ "cancellation_requested": false,
214
+ "check": "edit",
215
+ "exit_status": 0,
216
+ "followup_available": true,
217
+ "native_denial_diagnostic": {
218
+ "denials": [],
219
+ "parser_valid": true,
220
+ "permission_denial_count": 0,
221
+ "schema_version": 1,
222
+ "tool_error_count": 0,
223
+ "truncated": false
224
+ },
225
+ "ordinal": 6,
226
+ "outcome": "Native edit/test and MCP succeeded; retained failed child lifecycle observer gate. Later bounded diagnosis establishes child execution/read and installed reason mismatch, with historical hook fullyIdle still unknown.",
227
+ "passed": false,
228
+ "possible_partial_effects": true,
229
+ "process_group_absent_after_cleanup": true,
230
+ "reason": "exited",
231
+ "result_unavailable": false,
232
+ "spawn_observed": true,
233
+ "state": "completed",
234
+ "stderr_bytes": 0,
235
+ "stdout_bytes": 25691
236
+ },
237
+ {
238
+ "actual_model": null,
239
+ "actual_model_origin": "unknown",
240
+ "cancellation_requested": false,
241
+ "check": "edit",
242
+ "exit_status": 0,
243
+ "followup_available": true,
244
+ "native_denial_diagnostic": {
245
+ "denials": [],
246
+ "parser_valid": true,
247
+ "permission_denial_count": 0,
248
+ "schema_version": 1,
249
+ "tool_error_count": 0,
250
+ "truncated": false
251
+ },
252
+ "ordinal": 7,
253
+ "outcome": "Accepted single-invocation edit/test, configured hook and inherited-environment MCP, plus named child start/exact read/strict idle stop.",
254
+ "passed": true,
255
+ "possible_partial_effects": true,
256
+ "process_group_absent_after_cleanup": true,
257
+ "reason": "exited",
258
+ "result_unavailable": false,
259
+ "spawn_observed": true,
260
+ "state": "completed",
261
+ "stderr_bytes": 0,
262
+ "stdout_bytes": 22369
263
+ },
264
+ {
265
+ "actual_model": null,
266
+ "actual_model_origin": "unknown",
267
+ "cancellation_requested": false,
268
+ "check": "followup",
269
+ "exit_status": 0,
270
+ "followup_available": true,
271
+ "native_denial_diagnostic": {
272
+ "denials": [],
273
+ "parser_valid": true,
274
+ "permission_denial_count": 0,
275
+ "schema_version": 1,
276
+ "tool_error_count": 0,
277
+ "truncated": false
278
+ },
279
+ "ordinal": 8,
280
+ "outcome": "Accepted explicit native continuation with the same private session and context token.",
281
+ "passed": true,
282
+ "possible_partial_effects": true,
283
+ "process_group_absent_after_cleanup": true,
284
+ "reason": "exited",
285
+ "result_unavailable": false,
286
+ "spawn_observed": true,
287
+ "state": "completed",
288
+ "stderr_bytes": 0,
289
+ "stdout_bytes": 2731
290
+ },
291
+ {
292
+ "actual_model": null,
293
+ "actual_model_origin": "unknown",
294
+ "cancellation_requested": false,
295
+ "check": "permission",
296
+ "exit_status": 0,
297
+ "followup_available": true,
298
+ "native_denial_diagnostic": {
299
+ "denials": [
300
+ {
301
+ "fixture_operation": "unknown",
302
+ "reason_code": "agy_denied_action",
303
+ "signature": "agy_1_4_12_denied_action",
304
+ "tool_category": "unknown"
305
+ }
306
+ ],
307
+ "parser_valid": true,
308
+ "permission_denial_count": 1,
309
+ "schema_version": 1,
310
+ "tool_error_count": 1,
311
+ "truncated": false
312
+ },
313
+ "ordinal": 9,
314
+ "outcome": "Accepted native permission_needed refusal with exact protected-target hook observed and target untouched; zero exit did not imply completion.",
315
+ "passed": true,
316
+ "possible_partial_effects": true,
317
+ "process_group_absent_after_cleanup": true,
318
+ "reason": "exited",
319
+ "result_unavailable": false,
320
+ "spawn_observed": true,
321
+ "state": "permission_needed",
322
+ "stderr_bytes": 309,
323
+ "stdout_bytes": 3496
324
+ },
325
+ {
326
+ "actual_model": null,
327
+ "actual_model_origin": "unknown",
328
+ "cancellation_requested": true,
329
+ "check": "cancel",
330
+ "followup_available": false,
331
+ "ordinal": 10,
332
+ "outcome": "Accepted cancellation after mutation and exact synthetic child readiness; identified child and CLI process group absent, pool and project leases released; no emergency cleanup.",
333
+ "passed": true,
334
+ "possible_partial_effects": true,
335
+ "process_group_absent_after_cleanup": true,
336
+ "reason": "cancelled",
337
+ "result_unavailable": true,
338
+ "spawn_observed": true,
339
+ "state": "cancelled"
340
+ }
341
+ ],
342
+ "budget": {
343
+ "automatic_retries": 0,
344
+ "consumed_submission_allowance": 10,
345
+ "internal_native_subagent_submissions": "not counted by top-level process allowance; native turns, tools and internal model requests may exceed ten",
346
+ "new_native_invocations_for_admission": 0,
347
+ "submission_allowance_total": 10,
348
+ "top_level_native_invocations": 10
349
+ },
350
+ "evidence_pairs": [
351
+ {
352
+ "fixture_config_sha256": "c1b1faee61c27e45006c815eed633c0b577912ddc420f9427e24812c0a34ccb2",
353
+ "original_native_verified": false,
354
+ "preflight": "docs/verification/native-agy-1.4.12-attempt1-prepare.preflight.json",
355
+ "prior_evidence_sha256": null,
356
+ "project_root_sha256": "8823af3dc1b402a310a7e97f64b5359a050400b0951c304256b359e145aa2b9d",
357
+ "receipt": "docs/verification/native-agy-1.4.12-attempt1-prepare.json",
358
+ "submission_allowance_total": 4,
359
+ "submissions_consumed_total": 0,
360
+ "submissions_in_this_invocation": 0
361
+ },
362
+ {
363
+ "fixture_config_sha256": "c1b1faee61c27e45006c815eed633c0b577912ddc420f9427e24812c0a34ccb2",
364
+ "original_native_verified": false,
365
+ "preflight": "docs/verification/native-agy-1.4.12-attempt2.preflight.json",
366
+ "prior_evidence_sha256": "a8e8b10b64b5063d577400e90778c495fe6cedc2e3302a51dbd3c9e0cb2ba994",
367
+ "project_root_sha256": "8823af3dc1b402a310a7e97f64b5359a050400b0951c304256b359e145aa2b9d",
368
+ "receipt": "docs/verification/native-agy-1.4.12-attempt2.json",
369
+ "submission_allowance_total": 4,
370
+ "submissions_consumed_total": 1,
371
+ "submissions_in_this_invocation": 1
372
+ },
373
+ {
374
+ "fixture_config_sha256": "5621985cd78c6e33115fe8a327e27ec537a326c286ccd773e466130954e7bdbc",
375
+ "original_native_verified": false,
376
+ "preflight": "docs/verification/native-agy-1.4.12-attempt3.preflight.json",
377
+ "prior_evidence_sha256": "8b2eccd5b61b3d94e571125cc321d1f7a2385aee3dc61578a72d289a60cfbda5",
378
+ "project_root_sha256": "c43f75b4ff2b296b01fd3b537ce7ec3941b919970d077e7f5299f76874723ee0",
379
+ "receipt": "docs/verification/native-agy-1.4.12-attempt3.json",
380
+ "submission_allowance_total": 5,
381
+ "submissions_consumed_total": 2,
382
+ "submissions_in_this_invocation": 1
383
+ },
384
+ {
385
+ "fixture_config_sha256": "5a420ad88cc1b330fb888f5770cad4f7f54b2ac70445b5f8903087ccdf0eb45b",
386
+ "original_native_verified": false,
387
+ "preflight": "docs/verification/native-agy-1.4.12-attempt4.preflight.json",
388
+ "prior_evidence_sha256": "26cca974a945b0f2a57257d7e7d0c9e864617d49e621a164780cf25a7b4f8f2a",
389
+ "project_root_sha256": "a8df869c257c0d60ec9550ec93a036f8bebabb8033f7fe2ac9ce2c085f86732e",
390
+ "receipt": "docs/verification/native-agy-1.4.12-attempt4.json",
391
+ "submission_allowance_total": 5,
392
+ "submissions_consumed_total": 3,
393
+ "submissions_in_this_invocation": 1
394
+ },
395
+ {
396
+ "fixture_config_sha256": "ea46f4aa064e07e7584b49b0915f20e371d9101a63cd45345e961303d03b40cb",
397
+ "original_native_verified": false,
398
+ "preflight": "docs/verification/native-agy-1.4.12-attempt5.preflight.json",
399
+ "prior_evidence_sha256": "b37f82ec293f0c3373d8cc184f17be388f44054f58eebcff52999e908b7684e0",
400
+ "project_root_sha256": "fa5b2dc3e285bccd88029f593709d6762b0e09fbd877e614cd44835f3a280926",
401
+ "receipt": "docs/verification/native-agy-1.4.12-attempt5.json",
402
+ "submission_allowance_total": 5,
403
+ "submissions_consumed_total": 4,
404
+ "submissions_in_this_invocation": 1
405
+ },
406
+ {
407
+ "fixture_config_sha256": "253d9ec3a5a8818293d45af3c1de62984d67e64581efdc855d9e9ed83c2aa2fc",
408
+ "original_native_verified": false,
409
+ "preflight": "docs/verification/native-agy-1.4.12-attempt6.preflight.json",
410
+ "prior_evidence_sha256": "bb76e3eb3336e00d63fb079cbf76b1ab8fc7584d59c9e24dd80ab80e8a56d39b",
411
+ "project_root_sha256": "f9a51dd043cc7ddcaff54ff68ba960fa932f02e527eca0b34ff09c777091acfb",
412
+ "receipt": "docs/verification/native-agy-1.4.12-attempt6.json",
413
+ "submission_allowance_total": 8,
414
+ "submissions_consumed_total": 5,
415
+ "submissions_in_this_invocation": 1
416
+ },
417
+ {
418
+ "fixture_config_sha256": "0dbfb61351f226e43caf9abaf03135e09ed3a4f8c9b900332cc676d2b89c2700",
419
+ "original_native_verified": false,
420
+ "preflight": "docs/verification/native-agy-1.4.12-attempt7-prepare.preflight.json",
421
+ "prior_evidence_sha256": "516f45532bfc2ac26ffd9000d0fe1de1d35376ae497b0db5e2d8a1a36414eef7",
422
+ "project_root_sha256": "91514e80e7aaa7b67b60bef2f2a01d5f80b82ebc9914b423f9453121f41ba499",
423
+ "receipt": "docs/verification/native-agy-1.4.12-attempt7-prepare.json",
424
+ "submission_allowance_total": 9,
425
+ "submissions_consumed_total": 5,
426
+ "submissions_in_this_invocation": 0
427
+ },
428
+ {
429
+ "fixture_config_sha256": "0dbfb61351f226e43caf9abaf03135e09ed3a4f8c9b900332cc676d2b89c2700",
430
+ "original_native_verified": false,
431
+ "preflight": "docs/verification/native-agy-1.4.12-attempt8.preflight.json",
432
+ "prior_evidence_sha256": "c362b387e3093243ca192b5dbc1c998597ddce7cc70a976b7f68bf76e9cb3cc6",
433
+ "project_root_sha256": "91514e80e7aaa7b67b60bef2f2a01d5f80b82ebc9914b423f9453121f41ba499",
434
+ "receipt": "docs/verification/native-agy-1.4.12-attempt8.json",
435
+ "submission_allowance_total": 9,
436
+ "submissions_consumed_total": 6,
437
+ "submissions_in_this_invocation": 1
438
+ },
439
+ {
440
+ "fixture_config_sha256": "eda36dcbcfe4ca26b08941a507f31ee5392a433b88a58e783b75dd8cf208a216",
441
+ "original_native_verified": false,
442
+ "preflight": "docs/verification/native-agy-1.4.12-attempt9-prepare.preflight.json",
443
+ "prior_evidence_sha256": "e00d4fdc944a547ddc5fc13be8f481b93d68693b90f1c5921e527efca2444c49",
444
+ "project_root_sha256": "9f46c8818684d7c7b8f5e204ec491435c273b99d53dc923919a5b76dcf0715fb",
445
+ "receipt": "docs/verification/native-agy-1.4.12-attempt9-prepare.json",
446
+ "submission_allowance_total": 10,
447
+ "submissions_consumed_total": 6,
448
+ "submissions_in_this_invocation": 0
449
+ },
450
+ {
451
+ "fixture_config_sha256": "eda36dcbcfe4ca26b08941a507f31ee5392a433b88a58e783b75dd8cf208a216",
452
+ "original_native_verified": true,
453
+ "preflight": "docs/verification/native-agy-1.4.12-attempt10.preflight.json",
454
+ "prior_evidence_sha256": "b66c55ae6361557920ebb56cea46e1ef96a538fac2225a1fdeede85bafb44c42",
455
+ "project_root_sha256": "9f46c8818684d7c7b8f5e204ec491435c273b99d53dc923919a5b76dcf0715fb",
456
+ "receipt": "docs/verification/native-agy-1.4.12-attempt10.json",
457
+ "submission_allowance_total": 10,
458
+ "submissions_consumed_total": 10,
459
+ "submissions_in_this_invocation": 4
460
+ }
461
+ ],
462
+ "executable_sha256": "34423fc9b0af3841e7646aa72a2d40ffeab8218b22d1cb99eac7355f9eba31e3",
463
+ "gate_source": {
464
+ "accepted_ordinals": [
465
+ 7,
466
+ 8,
467
+ 9,
468
+ 10
469
+ ],
470
+ "all_four_checks_same_invocation": true,
471
+ "gates": [],
472
+ "native_verified": true,
473
+ "path": "docs/verification/native-agy-1.4.12-attempt10.json",
474
+ "preflight": "docs/verification/native-agy-1.4.12-attempt10.preflight.json",
475
+ "preflight_sha256": "a683bd71ae0ffdd416f65d7987da59d142f8c1d642ed5a8a3ebdfc47958d8ebf",
476
+ "sha256": "a76cd876e3a5843f37d7113a227f26d3b618bc5c74fea4a892365010ba6efd8b"
477
+ },
478
+ "history_integrity": {
479
+ "all_accepted_gates_from_single_final_invocation": true,
480
+ "all_original_ledger_prefixes_preserved": true,
481
+ "earlier_failed_submissions_not_reclassified": true,
482
+ "same_version_binary_and_recipe": true,
483
+ "source_receipt_and_preflight_links_rechecked": true,
484
+ "source_receipts_unchanged": true
485
+ },
486
+ "limitations": [
487
+ "Actual execution model identity is unknown.",
488
+ "Named child start, exact successful canary read and strict fullyIdle/NO_TOOL_CALL/no-error stop are observed; returned token/final response content is not verified, and fixture_subagent_canary_matches remains false.",
489
+ "Native approval hooks were limited to exact synthetic commands, arithmetic edit, synthetic MCP canary and configured child; native user Ask/Deny rules retained priority. This evidence does not grant production approvals.",
490
+ "Earlier parse_error/uncertain submission remains an undiagnosed historical stream mismatch; later source/parser corrections are not proof of its exact cause.",
491
+ "Native approved roots constrain supplied project/context, not every capability available under native policy.",
492
+ "Cancellation proves the CLI process group and identified synthetic child absent; detached or remote work is not proven absent. Cancellation does not roll back prior effects.",
493
+ "Continuation/session bindings are volatile; restart loses server-side mappings. Native CLIs retain their own sessions."
494
+ ],
495
+ "model_limitation": "The original ledger reports actual_model null/unknown. Native configured model selection was retained; no independent execution-model identity is established.",
496
+ "observed_version": "1.4.12",
497
+ "platform": {
498
+ "context_capture": {
499
+ "binary_cpu_subtype": 0,
500
+ "binary_cpu_type": 16777228,
501
+ "binary_format": "Mach-O 64-bit little-endian",
502
+ "binary_machine": "arm64",
503
+ "binary_sha256_rechecked": true,
504
+ "captured_after_lifecycle_verification": true,
505
+ "host_machine": "arm64",
506
+ "host_system": "Darwin",
507
+ "native_cli_executed_for_context_capture": false,
508
+ "original_receipt_architecture_field_present": false,
509
+ "timestamp_utc": "2026-11-01T14:14:00.227996+00:00"
510
+ },
511
+ "machine": "arm64",
512
+ "scope": "exact recorded binary; other platforms require separate verification",
513
+ "system": "Darwin"
514
+ },
515
+ "privacy_and_configuration": {
516
+ "bounded_later_private_artifact_diagnoses": "Only exact synthetic attempt6 and attempt8 native records inspected read-only; durable notes retain fixed comparisons/source references only. No unrelated native sessions or credentials inspected.",
517
+ "final_fixture_configuration_intact_after_shutdown": true,
518
+ "host_configuration_changed": false,
519
+ "native_home_and_auth_preserved": true,
520
+ "pool_running_after_final_shutdown": 0,
521
+ "project_leases_after_final_shutdown": 0,
522
+ "source_receipts_report_no_raw_output_prompts_native_ids_or_environment_values": true
523
+ },
524
+ "profile": "native_task_v1",
525
+ "prompt_transport": {
526
+ "channel": "stdin_single_user_ndjson",
527
+ "input_envelope": {
528
+ "event": "user",
529
+ "message": {
530
+ "content": "@CLINK_NATIVE_PROMPT@"
531
+ }
532
+ },
533
+ "native_resume": "--conversation with one exact private session identity",
534
+ "stdin": "one bounded user event followed by EOF"
535
+ },
536
+ "recipe_sha256": "da740ab92a35b480344a4dc07a517681dfbd5768f18ea01fbb65074337659a4f",
537
+ "requested_model": null,
538
+ "schema_version": 1,
539
+ "source_binding": {
540
+ "binding_limit": "Original receipts/preflights bind binary, version, recipe, project and synthetic fixture configuration; they do not record historical per-file runtime source hashes. Current source snapshots are captured later and compared with the conductor-reported live checkpoint. They do not retroactively attest unrecorded historical source bytes.",
541
+ "conductor_reported_live_source_commit": "270d1e527eeca4d5ec0a8a0d782b70bb848bb653",
542
+ "core_files_before_production_admission_integration": [
543
+ {
544
+ "matches_source_commit": true,
545
+ "path": "clink/native.py",
546
+ "sha256": "83137ac3cec3dbd88cd574b11bdbf2b138782ab5a7ae27eea2c7c15819cfc2fd"
547
+ },
548
+ {
549
+ "matches_source_commit": true,
550
+ "path": "clink/native_adapters.py",
551
+ "sha256": "7a3daf32369e0492a69d307333441e8c27e936ffd0b156322fc5e7294a8d251f"
552
+ },
553
+ {
554
+ "matches_source_commit": true,
555
+ "path": "clink/native_policy.py",
556
+ "sha256": "ec295f6450d53d1362dd87a51cb5551942f26868b48b5e88a252c8cefe4234c4"
557
+ },
558
+ {
559
+ "matches_source_commit": true,
560
+ "path": "clink/native_contracts.py",
561
+ "sha256": "4b62bee1167e4026526f34b4890b3aee81948644031679691c4535990ee9745c"
562
+ },
563
+ {
564
+ "matches_source_commit": true,
565
+ "path": "clink/runner.py",
566
+ "sha256": "7fe67698f57ec1539ad3751f25dd0300166361d5d0b9159946836937f76a7632"
567
+ },
568
+ {
569
+ "matches_source_commit": true,
570
+ "path": "clink/tasks.py",
571
+ "sha256": "bd334096aed8af27d7f2813a07594b99d53805f3ea13deff33a31237f93b593b"
572
+ },
573
+ {
574
+ "matches_source_commit": true,
575
+ "path": "clink/registry.py",
576
+ "sha256": "fe8319eef076370c05c09f506bd703ae096ee9b386e19743991595f230feaf66"
577
+ },
578
+ {
579
+ "matches_source_commit": true,
580
+ "path": "clink/backend.py",
581
+ "sha256": "4a058f61ad58d227e06729fa8444762171566e7af72ac43b9aa0fb6ac2f9f11d"
582
+ },
583
+ {
584
+ "matches_source_commit": true,
585
+ "path": "clink/parsers/agy_native.py",
586
+ "sha256": "53090e591d518f18a65a9c4dfbf39d975e9072f65c9a1e687f56cf4e0489960e"
587
+ }
588
+ ],
589
+ "production_integration_delta": "After evidence acceptance: exact Agy native policy/receipt/platform binding, enabled bundled Agy native profile, focused rejection tests, and separately owned package resources. Existing launch recipes, parser, runner, task manager, advisory Codex policy and Claude/Grok receipts remain unchanged.",
590
+ "snapshot_captured_after_lifecycle_verification": true,
591
+ "snapshot_utc": "2026-11-01T14:14:00.227996+00:00",
592
+ "verifier_files": [
593
+ {
594
+ "matches_source_commit": true,
595
+ "path": "scripts/verify_native_adapters.py",
596
+ "sha256": "0feb0760d95cf3eceec57269155be47be2753723b3e470f88d0c8210787d5b6b"
597
+ },
598
+ {
599
+ "matches_source_commit": true,
600
+ "path": "scripts/native_agy_fixture.py",
601
+ "sha256": "86f595502f4660bcd5788d09cbb1861da9d344e1026205ca67921001456cf761"
602
+ },
603
+ {
604
+ "matches_source_commit": true,
605
+ "path": "scripts/native_mcp_fixture.py",
606
+ "sha256": "ebdbd420bf04cac3ca1cb2ee55126f695ada85aba51dbed1633a56d7cd26713a"
607
+ },
608
+ {
609
+ "matches_source_commit": true,
610
+ "path": "scripts/native_diagnostics.py",
611
+ "sha256": "4606c24e5075c2fe168c50288673438bd185f83abb2d4b3c23b6b50038df52c1"
612
+ },
613
+ {
614
+ "matches_source_commit": true,
615
+ "path": "scripts/native_fixture_trust.py",
616
+ "sha256": "b6d1ce2b948ac273257c7e99571f70330341540550c7b0a45b14a03b73f0625a"
617
+ }
618
+ ]
619
+ },
620
+ "source_evidence": [
621
+ {
622
+ "kind": "original_receipt",
623
+ "path": "docs/verification/native-agy-1.4.12-attempt1-prepare.json",
624
+ "sha256": "a8e8b10b64b5063d577400e90778c495fe6cedc2e3302a51dbd3c9e0cb2ba994"
625
+ },
626
+ {
627
+ "kind": "original_preflight",
628
+ "path": "docs/verification/native-agy-1.4.12-attempt1-prepare.preflight.json",
629
+ "sha256": "7ac97b329edb05463610788ad03d91d94adb6b790f55aef69b0d28db02f9ffd9"
630
+ },
631
+ {
632
+ "kind": "original_receipt",
633
+ "path": "docs/verification/native-agy-1.4.12-attempt2.json",
634
+ "sha256": "8b2eccd5b61b3d94e571125cc321d1f7a2385aee3dc61578a72d289a60cfbda5"
635
+ },
636
+ {
637
+ "kind": "original_preflight",
638
+ "path": "docs/verification/native-agy-1.4.12-attempt2.preflight.json",
639
+ "sha256": "7ac97b329edb05463610788ad03d91d94adb6b790f55aef69b0d28db02f9ffd9"
640
+ },
641
+ {
642
+ "kind": "original_receipt",
643
+ "path": "docs/verification/native-agy-1.4.12-attempt3.json",
644
+ "sha256": "26cca974a945b0f2a57257d7e7d0c9e864617d49e621a164780cf25a7b4f8f2a"
645
+ },
646
+ {
647
+ "kind": "original_preflight",
648
+ "path": "docs/verification/native-agy-1.4.12-attempt3.preflight.json",
649
+ "sha256": "4d6808841a8d1fee3de6b7f91a2cb68cd0642688da1f1aa0a54d0457b510e993"
650
+ },
651
+ {
652
+ "kind": "original_receipt",
653
+ "path": "docs/verification/native-agy-1.4.12-attempt4.json",
654
+ "sha256": "b37f82ec293f0c3373d8cc184f17be388f44054f58eebcff52999e908b7684e0"
655
+ },
656
+ {
657
+ "kind": "original_preflight",
658
+ "path": "docs/verification/native-agy-1.4.12-attempt4.preflight.json",
659
+ "sha256": "f7076989711e3b7c2cc5019bb71dcca620ecd6339da42e71d91d1731451dc869"
660
+ },
661
+ {
662
+ "kind": "original_receipt",
663
+ "path": "docs/verification/native-agy-1.4.12-attempt5.json",
664
+ "sha256": "bb76e3eb3336e00d63fb079cbf76b1ab8fc7584d59c9e24dd80ab80e8a56d39b"
665
+ },
666
+ {
667
+ "kind": "original_preflight",
668
+ "path": "docs/verification/native-agy-1.4.12-attempt5.preflight.json",
669
+ "sha256": "55ab18de6974592e0a0987b071cd44729bc77492b453374128dd072c89725132"
670
+ },
671
+ {
672
+ "kind": "original_receipt",
673
+ "path": "docs/verification/native-agy-1.4.12-attempt6.json",
674
+ "sha256": "516f45532bfc2ac26ffd9000d0fe1de1d35376ae497b0db5e2d8a1a36414eef7"
675
+ },
676
+ {
677
+ "kind": "original_preflight",
678
+ "path": "docs/verification/native-agy-1.4.12-attempt6.preflight.json",
679
+ "sha256": "1c86d035e53698d1e71d32f0c1e9fa1107c97c733292811e6e2d58882236470b"
680
+ },
681
+ {
682
+ "kind": "original_receipt",
683
+ "path": "docs/verification/native-agy-1.4.12-attempt7-prepare.json",
684
+ "sha256": "c362b387e3093243ca192b5dbc1c998597ddce7cc70a976b7f68bf76e9cb3cc6"
685
+ },
686
+ {
687
+ "kind": "original_preflight",
688
+ "path": "docs/verification/native-agy-1.4.12-attempt7-prepare.preflight.json",
689
+ "sha256": "2ca6a3805f10b7dff687a9c3d60038b99e117b3c51abb476f28111af963f4436"
690
+ },
691
+ {
692
+ "kind": "original_receipt",
693
+ "path": "docs/verification/native-agy-1.4.12-attempt8.json",
694
+ "sha256": "e00d4fdc944a547ddc5fc13be8f481b93d68693b90f1c5921e527efca2444c49"
695
+ },
696
+ {
697
+ "kind": "original_preflight",
698
+ "path": "docs/verification/native-agy-1.4.12-attempt8.preflight.json",
699
+ "sha256": "2ca6a3805f10b7dff687a9c3d60038b99e117b3c51abb476f28111af963f4436"
700
+ },
701
+ {
702
+ "kind": "original_receipt",
703
+ "path": "docs/verification/native-agy-1.4.12-attempt9-prepare.json",
704
+ "sha256": "b66c55ae6361557920ebb56cea46e1ef96a538fac2225a1fdeede85bafb44c42"
705
+ },
706
+ {
707
+ "kind": "original_preflight",
708
+ "path": "docs/verification/native-agy-1.4.12-attempt9-prepare.preflight.json",
709
+ "sha256": "a683bd71ae0ffdd416f65d7987da59d142f8c1d642ed5a8a3ebdfc47958d8ebf"
710
+ },
711
+ {
712
+ "kind": "original_receipt",
713
+ "path": "docs/verification/native-agy-1.4.12-attempt10.json",
714
+ "sha256": "a76cd876e3a5843f37d7113a227f26d3b618bc5c74fea4a892365010ba6efd8b"
715
+ },
716
+ {
717
+ "kind": "original_preflight",
718
+ "path": "docs/verification/native-agy-1.4.12-attempt10.preflight.json",
719
+ "sha256": "a683bd71ae0ffdd416f65d7987da59d142f8c1d642ed5a8a3ebdfc47958d8ebf"
720
+ }
721
+ ],
722
+ "status": "accepted_native_lifecycle",
723
+ "supporting_evidence": [
724
+ {
725
+ "path": "docs/verification/native-adapters-candidate13/result.json",
726
+ "sha256": "3658f11a7676347300d5eb73e71e0b6f5e470c8cd72bee3fe10cdc34a9fed30b"
727
+ },
728
+ {
729
+ "path": "docs/verification/native-adapters-candidate13/junit.xml",
730
+ "sha256": "84eec93214d051dc86b581121319562ab8688f57853b26c0d446e3173536eb3c"
731
+ },
732
+ {
733
+ "path": "docs/native-agy-installed-contract.md",
734
+ "sha256": "0fbde01b5a32f10590e252e349850c0dfc8a466bbe8a5cb112a4d0290770f7f9"
735
+ },
736
+ {
737
+ "path": "docs/native-agy-attempt6-diagnosis.md",
738
+ "sha256": "706311c3c0e4ac512abb1a20d6bab9e3b911aae2315e33bcbcce98372b5fd9b1"
739
+ },
740
+ {
741
+ "path": "docs/native-agy-attempt8-diagnosis.md",
742
+ "sha256": "43f4db7c65fe7741a2594a99badaf5f31e85d4782f8ae9fcc6544ed02987958d"
743
+ }
744
+ ],
745
+ "verification_path": "Actual ClinkRegistry, CLIBackend, NativeRuntime, shared ProcessPool and NativeTaskManager start/status/followup/cancel. Candidate admission override remained harness-only during original verification; production integration occurs separately after independent evidence acceptance."
746
+ }