Seal Phase 4AP isolated delta interface PASS, not learning
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
146.1513214111328,
|
||||
169.39305114746094
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125263037,
|
||||
1126786207
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "df76e3bdfde0b7529784710a99c21e3d0c8de3d0619dc22577bd59b13641bd50",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-pending-tail.float32.npy": "3ddb9b60337068ad52fe5542d35a842647c44c77c0a589519d794faf7d9631a4",
|
||||
"apl-timing-audit.json": "203ee0300f83b33281b6e796ddeed76e9cc18235a83c35d2dc8080ae9e47d0c3",
|
||||
"finite-audit.json": "241b984cb87fcad0795846b61bb1d2baa956f448e3a7f45c23c51493504e5753",
|
||||
"overlay-audit.json": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"overlay-input.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"overlay-manifest.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"requests.csv": "726fafb4fc3ec6771d87bfdeb45758f151ee616b88ffa669ff702ab51dfa1fbc",
|
||||
"runtime-provenance.json": "62baba8ac3ebeef1f04efc0fc863a7d9e956e98ed4a1cb5f1a139bf5d0bfc91e",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "cb53be39e7fb1fa45d6be38007a592b89e149b2f3dea9ff7cb2ecce478cc49da",
|
||||
"summary.json": "71423d0480a19a9f7fb0b9d6f0042894130402097cb98903983aee7bea69c176",
|
||||
"terminal-queues.npz": "5b3436c0696afbc13ea877e1e072fd227e09028db0f0acc7ea3e412f89c94e62"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"accepted_arriving_edges": 16241627,
|
||||
"all_finite": true,
|
||||
"arriving_edges": 17655024,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "light",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9e443dd967cfbeceb84ddf3958ee65d1d4785a1693dd7c9d292b2164d1685ae0",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"eligibility_v2_source_sha256": null,
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 0,
|
||||
"overlay_name": "zero",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": null,
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "zero",
|
||||
"overlay_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"_runtime.timing(steps, pending)",
|
||||
"_runtime.after_tick(tick, v, g, ref, drive, apl_state, h, applied_h)",
|
||||
"_runtime.arrivals(expanded, destination, ref)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "4572043a15a53b3874766b40b4521422567761dbc75db57535ab44b817210429",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": false,
|
||||
"removed_diagnostic_statements": [
|
||||
"Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='apl-applied.float32.npy')), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Constant(value=4064)], ctx=Load())], keywords=[]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='width', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='drive'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='state'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='inhibition'), Constant(value=4064)], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=Constant(value='apl-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.float32.npy'))), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='width', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='dtype', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='-history.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[])), Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=BinOp(left=Constant(value='preAPL-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int64', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='uint8', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Subscript(value=Subscript(value=Name(id='graph', ctx=Load()), slice=Constant(value='edge_id'), ctx=Load()), slice=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='expanded', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), ctx=Load()), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Compare(left=Subscript(value=Name(id='ref', ctx=Load()), slice=Call(func=Attribute(value=Name(id='destination', ctx=Load()), attr='long', ctx=Load()), args=[], keywords=[]), ctx=Load()), ops=[Eq()], comparators=[Constant(value=0)]), attr='to', ctx=Load()), args=[Attribute(value=Name(id='torch', ctx=Load()), attr='uint8', ctx=Load())], keywords=[]), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='queue', ctx=Store())], value=Call(func=Name(id='queue_summary', ctx=Load()), args=[Name(id='tick', ctx=Load()), Name(id='expanded_global', ctx=Load()), Name(id='accepted_cpu', ctx=Load())], keywords=[]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='queue_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='queue', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"AugAssign(target=Name(id='due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='count'), ctx=Load()))",
|
||||
"AugAssign(target=Name(id='accepted_due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='accepted_count'), ctx=Load()))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Name(id='v', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Name(id='g', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Name(id='ref', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='value', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='apl_cpu', ctx=Store())], value=Dict(keys=[Constant(value='drive'), Constant(value='state'), Constant(value='inhibition'), Constant(value='applied')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='drive', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='apl_state', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='applied_h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])",
|
||||
"Assign(targets=[Name(id='actual', ctx=Store())], value=Dict(keys=[Constant(value='v'), Constant(value='g'), Constant(value='ref')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='v', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='g', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='ref', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"Assign(targets=[Name(id='finite', ctx=Store())], value=Call(func=Name(id='all', ctx=Load()), args=[GeneratorExp(elt=Call(func=Name(id='bool', ctx=Load()), args=[Call(func=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='isfinite', ctx=Load()), args=[Name(id='value', ctx=Load())], keywords=[]), attr='all', ctx=Load()), args=[], keywords=[])], keywords=[]), generators=[comprehension(target=Name(id='value', ctx=Store()), iter=BinOp(left=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[]), op=Add(), right=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[])), ifs=[], is_async=0)])], keywords=[]))",
|
||||
"Assign(targets=[Name(id='row', ctx=Store())], value=Dict(keys=[Constant(value='tick'), None], values=[Name(id='tick', ctx=Load()), DictComp(key=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='_sha256')), value=Call(func=Name(id='raw_hash', ctx=Load()), args=[Name(id='value', ctx=Load()), IfExp(test=Compare(left=Name(id='name', ctx=Load()), ops=[Eq()], comparators=[Constant(value='ref')]), body=Constant(value='<i4'), orelse=Constant(value='<f8'))], keywords=[]), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)])]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='hash_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='row', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])], orelse=[])",
|
||||
"If(test=UnaryOp(op=Not(), operand=Name(id='finite', ctx=Load())), body=[With(items=[withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='first-failure-state.npz')), attr='open', ctx=Load()), args=[Constant(value='xb')], keywords=[]), optional_vars=Name(id='target', ctx=Store()))], body=[Expr(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='savez_compressed', ctx=Load()), args=[Name(id='target', ctx=Load())], keywords=[keyword(arg='tick', value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='array', ctx=Load()), args=[Name(id='tick', ctx=Load())], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load()))])), keyword(value=Name(id='actual', ctx=Load())), keyword(value=DictComp(key=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), value=Name(id='value', ctx=Load()), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)]))]))]), Expr(value=Call(func=Name(id='require', ctx=Load()), args=[Constant(value=False), Constant(value='Nonfinite state; first failure saved')], keywords=[]))], orelse=[])"
|
||||
],
|
||||
"replaced_diagnostic_nodes": [
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='queue.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='queue_output', ctx=Store()))",
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='tick-state-hashes.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='hash_output', ctx=Store()))",
|
||||
"Assign(targets=[Name(id='timing', ctx=Store())], value=Call(func=Name(id='audit_sequence', ctx=Load()), args=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_inhibition'), ctx=Load()), Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Load()), Name(id='pending', ctx=Load()), Name(id='apl_delay', ctx=Load())], keywords=[]))"
|
||||
]
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "241b984cb87fcad0795846b61bb1d2baa956f448e3a7f45c23c51493504e5753",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/overlays/zero.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4an-engineering-validation/overlays/zero.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D0--light--epoch-000/requests.npz": "e3df9625b996a62c38e137a64bbfa7ea2d421ba02303bb9da09850a741e0d85f",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D0--light--epoch-000/spec.json": "90937041385291c4368d44c3b2c6de88898ce1b200702c6c1b2f3bd22377c910",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "71423d0480a19a9f7fb0b9d6f0042894130402097cb98903983aee7bea69c176",
|
||||
"terminal_queues_sha256": "5b3436c0696afbc13ea877e1e072fd227e09028db0f0acc7ea3e412f89c94e62",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"accepted_arriving_edges": 16241627,
|
||||
"accepted_requests": 55,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
146.1513214111328,
|
||||
169.39305114746094
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125263037,
|
||||
1126786207
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "df76e3bdfde0b7529784710a99c21e3d0c8de3d0619dc22577bd59b13641bd50",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 17655024,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 0.42653698900539894,
|
||||
"case": "D0--light--epoch-000",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "light",
|
||||
"diagnostic_simulation_seconds": 2.575886314996751,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": false,
|
||||
"full_queue_hashes_recorded": false,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"full_tick_state_hashes_recorded": false,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "e3df9625b996a62c38e137a64bbfa7ea2d421ba02303bb9da09850a741e0d85f",
|
||||
"spec.json": "90937041385291c4368d44c3b2c6de88898ce1b200702c6c1b2f3bd22377c910"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 27,
|
||||
"requested": 82,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 36539,
|
||||
"wall_seconds": 4.135504629004572,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-pending-tail.float32.npy": "d26056012aaebe26ee9acdb2ee0ac226fa5496d87fe33c4378cc9359a0c5d5c8",
|
||||
"apl-timing-audit.json": "92812c9cb2a35d53034799317a94c4d1f369968d378fe7806ba4b6d9c667e5ca",
|
||||
"finite-audit.json": "5f0182167c4c628ec8fd6354a2fecde3dc99282894397aba155e7cb7e1fbce40",
|
||||
"overlay-audit.json": "e99f52536b83f9bdb48806ce085ba5079a8776360792f5ffef83957c36609a67",
|
||||
"overlay-input.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"overlay-manifest.json": "3be5d1a9d7dd1d8a580f272d3dca3616adbc157fafb4fbdfc89258719650c01e",
|
||||
"requests.csv": "f448e63324feba55899e634b1ef79b89c80cb8842b1d2e38b74a198cb9af36f8",
|
||||
"runtime-provenance.json": "fc0d01654224a9b56c11473b375b37abc620f5d5d78ae73a1d5788f3b6c0baa6",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "3d7bd8be6127ad563262addcd3262471f6b964457c12f93b81415a6c5f15cc61",
|
||||
"summary.json": "c05c9048b4c5c799d56e1435aff2e8c15ab620e2c1885fd07984a3dc0d1b74a1",
|
||||
"terminal-queues.npz": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"accepted_arriving_edges": 14570540,
|
||||
"all_finite": true,
|
||||
"arriving_edges": 15867420,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "light",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9e443dd967cfbeceb84ddf3958ee65d1d4785a1693dd7c9d292b2164d1685ae0",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 0,
|
||||
"overlay_name": "learned",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "learned",
|
||||
"overlay_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"_runtime.timing(steps, pending)",
|
||||
"_runtime.after_tick(tick, v, g, ref, drive, apl_state, h, applied_h)",
|
||||
"_runtime.arrivals(expanded, destination, ref)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "4572043a15a53b3874766b40b4521422567761dbc75db57535ab44b817210429",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": false,
|
||||
"removed_diagnostic_statements": [
|
||||
"Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='apl-applied.float32.npy')), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Constant(value=4064)], ctx=Load())], keywords=[]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='width', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='drive'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='state'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='inhibition'), Constant(value=4064)], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=Constant(value='apl-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.float32.npy'))), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='width', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='dtype', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='-history.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[])), Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=BinOp(left=Constant(value='preAPL-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int64', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='uint8', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Subscript(value=Subscript(value=Name(id='graph', ctx=Load()), slice=Constant(value='edge_id'), ctx=Load()), slice=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='expanded', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), ctx=Load()), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Compare(left=Subscript(value=Name(id='ref', ctx=Load()), slice=Call(func=Attribute(value=Name(id='destination', ctx=Load()), attr='long', ctx=Load()), args=[], keywords=[]), ctx=Load()), ops=[Eq()], comparators=[Constant(value=0)]), attr='to', ctx=Load()), args=[Attribute(value=Name(id='torch', ctx=Load()), attr='uint8', ctx=Load())], keywords=[]), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='queue', ctx=Store())], value=Call(func=Name(id='queue_summary', ctx=Load()), args=[Name(id='tick', ctx=Load()), Name(id='expanded_global', ctx=Load()), Name(id='accepted_cpu', ctx=Load())], keywords=[]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='queue_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='queue', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"AugAssign(target=Name(id='due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='count'), ctx=Load()))",
|
||||
"AugAssign(target=Name(id='accepted_due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='accepted_count'), ctx=Load()))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Name(id='v', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Name(id='g', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Name(id='ref', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='value', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='apl_cpu', ctx=Store())], value=Dict(keys=[Constant(value='drive'), Constant(value='state'), Constant(value='inhibition'), Constant(value='applied')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='drive', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='apl_state', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='applied_h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])",
|
||||
"Assign(targets=[Name(id='actual', ctx=Store())], value=Dict(keys=[Constant(value='v'), Constant(value='g'), Constant(value='ref')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='v', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='g', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='ref', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"Assign(targets=[Name(id='finite', ctx=Store())], value=Call(func=Name(id='all', ctx=Load()), args=[GeneratorExp(elt=Call(func=Name(id='bool', ctx=Load()), args=[Call(func=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='isfinite', ctx=Load()), args=[Name(id='value', ctx=Load())], keywords=[]), attr='all', ctx=Load()), args=[], keywords=[])], keywords=[]), generators=[comprehension(target=Name(id='value', ctx=Store()), iter=BinOp(left=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[]), op=Add(), right=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[])), ifs=[], is_async=0)])], keywords=[]))",
|
||||
"Assign(targets=[Name(id='row', ctx=Store())], value=Dict(keys=[Constant(value='tick'), None], values=[Name(id='tick', ctx=Load()), DictComp(key=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='_sha256')), value=Call(func=Name(id='raw_hash', ctx=Load()), args=[Name(id='value', ctx=Load()), IfExp(test=Compare(left=Name(id='name', ctx=Load()), ops=[Eq()], comparators=[Constant(value='ref')]), body=Constant(value='<i4'), orelse=Constant(value='<f8'))], keywords=[]), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)])]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='hash_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='row', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])], orelse=[])",
|
||||
"If(test=UnaryOp(op=Not(), operand=Name(id='finite', ctx=Load())), body=[With(items=[withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='first-failure-state.npz')), attr='open', ctx=Load()), args=[Constant(value='xb')], keywords=[]), optional_vars=Name(id='target', ctx=Store()))], body=[Expr(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='savez_compressed', ctx=Load()), args=[Name(id='target', ctx=Load())], keywords=[keyword(arg='tick', value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='array', ctx=Load()), args=[Name(id='tick', ctx=Load())], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load()))])), keyword(value=Name(id='actual', ctx=Load())), keyword(value=DictComp(key=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), value=Name(id='value', ctx=Load()), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)]))]))]), Expr(value=Call(func=Name(id='require', ctx=Load()), args=[Constant(value=False), Constant(value='Nonfinite state; first failure saved')], keywords=[]))], orelse=[])"
|
||||
],
|
||||
"replaced_diagnostic_nodes": [
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='queue.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='queue_output', ctx=Store()))",
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='tick-state-hashes.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='hash_output', ctx=Store()))",
|
||||
"Assign(targets=[Name(id='timing', ctx=Store())], value=Call(func=Name(id='audit_sequence', ctx=Load()), args=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_inhibition'), ctx=Load()), Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Load()), Name(id='pending', ctx=Load()), Name(id='apl_delay', ctx=Load())], keywords=[]))"
|
||||
]
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "5f0182167c4c628ec8fd6354a2fecde3dc99282894397aba155e7cb7e1fbce40",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D0--light--epoch-001/requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D0--light--epoch-001/spec.json": "f0f190667ebaf07bbc4be55807323b91f567f2b176bc268501acfaee9db08db4",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/D0--light--epoch-000/delta-after.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/D0--light--epoch-000/overlay-manifest.json": "3be5d1a9d7dd1d8a580f272d3dca3616adbc157fafb4fbdfc89258719650c01e",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "e99f52536b83f9bdb48806ce085ba5079a8776360792f5ffef83957c36609a67",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "c05c9048b4c5c799d56e1435aff2e8c15ab620e2c1885fd07984a3dc0d1b74a1",
|
||||
"terminal_queues_sha256": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"accepted_arriving_edges": 14570540,
|
||||
"accepted_requests": 48,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 15867420,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 0.43058467600349104,
|
||||
"case": "D0--light--epoch-001",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "light",
|
||||
"diagnostic_simulation_seconds": 2.494268494003336,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": false,
|
||||
"full_queue_hashes_recorded": false,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"full_tick_state_hashes_recorded": false,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"spec.json": "f0f190667ebaf07bbc4be55807323b91f567f2b176bc268501acfaee9db08db4"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 21,
|
||||
"requested": 69,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 33390,
|
||||
"wall_seconds": 4.051077190000797,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": "apl-applied.float32.npy",
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
146.1513214111328,
|
||||
169.39305114746094
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125263037,
|
||||
1126786207
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": "apl-inhibition.float32.npy",
|
||||
"initial_padding_positive_zero": true,
|
||||
"pass_all": true,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "df76e3bdfde0b7529784710a99c21e3d0c8de3d0619dc22577bd59b13641bd50",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"sample_bits_preserved": true,
|
||||
"steps": 1200
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-applied.float32.npy": "e4500bf43b206c0efc27dc78e49ca598a6cc9260b1f69f22f57b0c431b777d1a",
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-drive.float32.npy": "f6254aa0346d959f47a3861fe3c0ca06b186156ce7fd18b0ba595d3a9d86d579",
|
||||
"apl-inhibition.float32.npy": "233a2165b57b9d23f854048dbd353824e4be1f962cc79496ed2d82911e5655ba",
|
||||
"apl-pending-tail.float32.npy": "3ddb9b60337068ad52fe5542d35a842647c44c77c0a589519d794faf7d9631a4",
|
||||
"apl-state.float32.npy": "eaac68dac00b5d46abfe7cb89109e24cc64a4ffa936019f071b36948a91c6524",
|
||||
"apl-timing-audit.json": "61fc2049716d8b6af170e9b26a10415a5f0c4b7fb8a21ed71d51d7f777a10f6e",
|
||||
"finite-audit.json": "a230387da908449ff29f1acf53f3157ec4dee893208f32a424260d75924ad620",
|
||||
"overlay-audit.json": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"overlay-input.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"overlay-manifest.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"queue.jsonl": "66ae736e3eccacd5fffa7f3df4b4c9b3eeca7b51f60d110a8403421531c3f73a",
|
||||
"requests.csv": "726fafb4fc3ec6771d87bfdeb45758f151ee616b88ffa669ff702ab51dfa1fbc",
|
||||
"runtime-provenance.json": "8fac7dbf40ba739965f7ed7ea01593ad441ab5a35a33d8be91ec5d2267c37dce",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "cb53be39e7fb1fa45d6be38007a592b89e149b2f3dea9ff7cb2ecce478cc49da",
|
||||
"summary.json": "a36a698c88f338b2f6da16b464af9bf66d47679380733b8e3e2a47a7c05cda5b",
|
||||
"terminal-queues.npz": "5b3436c0696afbc13ea877e1e072fd227e09028db0f0acc7ea3e412f89c94e62",
|
||||
"tick-state-hashes.jsonl": "9c212550a155052507a2093412f7272a62b06fd3f5c8a202695025936fe3df48"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"all_finite": true,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "reference",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9e443dd967cfbeceb84ddf3958ee65d1d4785a1693dd7c9d292b2164d1685ae0",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"eligibility_v2_source_sha256": null,
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 0,
|
||||
"overlay_name": "zero",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": null,
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "zero",
|
||||
"overlay_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "30a31f88436823309666d33cc138520684777c50b96f0ef31af166b354b18da8",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "reference",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": true,
|
||||
"removed_diagnostic_statements": [],
|
||||
"replaced_diagnostic_nodes": []
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "a230387da908449ff29f1acf53f3157ec4dee893208f32a424260d75924ad620",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/overlays/zero.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4an-engineering-validation/overlays/zero.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D0--reference--epoch-000/requests.npz": "e3df9625b996a62c38e137a64bbfa7ea2d421ba02303bb9da09850a741e0d85f",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D0--reference--epoch-000/spec.json": "2e3f35333fba64f85c0c34ba227e469f197da38a73092450f6b408a9ae3bf907",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "reference",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "a36a698c88f338b2f6da16b464af9bf66d47679380733b8e3e2a47a7c05cda5b",
|
||||
"terminal_queues_sha256": "5b3436c0696afbc13ea877e1e072fd227e09028db0f0acc7ea3e412f89c94e62",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
{
|
||||
"accepted_arriving_edges": 16241627,
|
||||
"accepted_requests": 55,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": "apl-applied.float32.npy",
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
146.1513214111328,
|
||||
169.39305114746094
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125263037,
|
||||
1126786207
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": "apl-inhibition.float32.npy",
|
||||
"initial_padding_positive_zero": true,
|
||||
"pass_all": true,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "df76e3bdfde0b7529784710a99c21e3d0c8de3d0619dc22577bd59b13641bd50",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"sample_bits_preserved": true,
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 17655024,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 0.4280861210063449,
|
||||
"case": "D0--reference--epoch-000",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "reference",
|
||||
"diagnostic_simulation_seconds": 6.643839541997295,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": true,
|
||||
"full_queue_hashes_recorded": true,
|
||||
"full_sequence_bitwise_audit_performed": true,
|
||||
"full_tick_state_hashes_recorded": true,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "e3df9625b996a62c38e137a64bbfa7ea2d421ba02303bb9da09850a741e0d85f",
|
||||
"spec.json": "2e3f35333fba64f85c0c34ba227e469f197da38a73092450f6b408a9ae3bf907"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 27,
|
||||
"requested": 82,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 36539,
|
||||
"wall_seconds": 8.194456829005503,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": "apl-applied.float32.npy",
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": "apl-inhibition.float32.npy",
|
||||
"initial_padding_positive_zero": true,
|
||||
"pass_all": true,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"sample_bits_preserved": true,
|
||||
"steps": 1200
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-applied.float32.npy": "a624f458c5c0e920d29f126178241378ba6f06b37188e9ad1c9401f60d479836",
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-drive.float32.npy": "6b301fdef4f58981f7457bcd9b053ff9d6a5a4a586c0d7d11636478770a1e768",
|
||||
"apl-inhibition.float32.npy": "f8cb8e9b36c20c340e05bf25dba6840f49255c18f1cf725bb345243056b50994",
|
||||
"apl-pending-tail.float32.npy": "d26056012aaebe26ee9acdb2ee0ac226fa5496d87fe33c4378cc9359a0c5d5c8",
|
||||
"apl-state.float32.npy": "e303c5c3140c5c719d465f8fb735eb80efb8be0c3e8b367be95b33dcefd4c47a",
|
||||
"apl-timing-audit.json": "73d3c3279aa7643803aa440b21ad573b99240469a17a295b13a99ab97f9d05c3",
|
||||
"finite-audit.json": "a230387da908449ff29f1acf53f3157ec4dee893208f32a424260d75924ad620",
|
||||
"overlay-audit.json": "e99f52536b83f9bdb48806ce085ba5079a8776360792f5ffef83957c36609a67",
|
||||
"overlay-input.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"overlay-manifest.json": "3be5d1a9d7dd1d8a580f272d3dca3616adbc157fafb4fbdfc89258719650c01e",
|
||||
"queue.jsonl": "ac26135508b16491714fb54f8779dc01409f1c0a5961f8bfcb79a7477394fc90",
|
||||
"requests.csv": "f448e63324feba55899e634b1ef79b89c80cb8842b1d2e38b74a198cb9af36f8",
|
||||
"runtime-provenance.json": "5959ca8856ece39f98cd1cecd170853fb46ec56d2051b06fba7c8ed241124319",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "3d7bd8be6127ad563262addcd3262471f6b964457c12f93b81415a6c5f15cc61",
|
||||
"summary.json": "223df1b8bf04a22691e4e8b60b523cc8600abf007f0e8094fdec417f867e8576",
|
||||
"terminal-queues.npz": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c",
|
||||
"tick-state-hashes.jsonl": "57cb1ff4f2d09d8ab195f9925fdffcbdc5443c935f3d35e16165362dcb2ee21b"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"all_finite": true,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "reference",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9e443dd967cfbeceb84ddf3958ee65d1d4785a1693dd7c9d292b2164d1685ae0",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 0,
|
||||
"overlay_name": "learned",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "learned",
|
||||
"overlay_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "30a31f88436823309666d33cc138520684777c50b96f0ef31af166b354b18da8",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "reference",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": true,
|
||||
"removed_diagnostic_statements": [],
|
||||
"replaced_diagnostic_nodes": []
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "a230387da908449ff29f1acf53f3157ec4dee893208f32a424260d75924ad620",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D0--reference--epoch-001/requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D0--reference--epoch-001/spec.json": "6dbeea4df0f4844c91f9967ff2f42c2e73c67d32bf4a3600d9e34854a06cf0ea",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/D0--reference--epoch-000/delta-after.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/D0--reference--epoch-000/overlay-manifest.json": "3be5d1a9d7dd1d8a580f272d3dca3616adbc157fafb4fbdfc89258719650c01e",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "reference",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "e99f52536b83f9bdb48806ce085ba5079a8776360792f5ffef83957c36609a67",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "223df1b8bf04a22691e4e8b60b523cc8600abf007f0e8094fdec417f867e8576",
|
||||
"terminal_queues_sha256": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
{
|
||||
"accepted_arriving_edges": 14570540,
|
||||
"accepted_requests": 48,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": "apl-applied.float32.npy",
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": "apl-inhibition.float32.npy",
|
||||
"initial_padding_positive_zero": true,
|
||||
"pass_all": true,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"sample_bits_preserved": true,
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 15867420,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 0.4274684789997991,
|
||||
"case": "D0--reference--epoch-001",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "reference",
|
||||
"diagnostic_simulation_seconds": 6.5776551329981885,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": true,
|
||||
"full_queue_hashes_recorded": true,
|
||||
"full_sequence_bitwise_audit_performed": true,
|
||||
"full_tick_state_hashes_recorded": true,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"spec.json": "6dbeea4df0f4844c91f9967ff2f42c2e73c67d32bf4a3600d9e34854a06cf0ea"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 21,
|
||||
"requested": 69,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 33390,
|
||||
"wall_seconds": 8.149172700002964,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
146.1513214111328,
|
||||
169.39305114746094
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125263037,
|
||||
1126786207
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "df76e3bdfde0b7529784710a99c21e3d0c8de3d0619dc22577bd59b13641bd50",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-pending-tail.float32.npy": "3ddb9b60337068ad52fe5542d35a842647c44c77c0a589519d794faf7d9631a4",
|
||||
"apl-timing-audit.json": "203ee0300f83b33281b6e796ddeed76e9cc18235a83c35d2dc8080ae9e47d0c3",
|
||||
"finite-audit.json": "241b984cb87fcad0795846b61bb1d2baa956f448e3a7f45c23c51493504e5753",
|
||||
"overlay-audit.json": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"overlay-input.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"overlay-manifest.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"requests.csv": "726fafb4fc3ec6771d87bfdeb45758f151ee616b88ffa669ff702ab51dfa1fbc",
|
||||
"runtime-provenance.json": "52f13e1d8cfdbe140d49d2007a2b5eecce636338e579b2080abd1edb6d1c38a2",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "cb53be39e7fb1fa45d6be38007a592b89e149b2f3dea9ff7cb2ecce478cc49da",
|
||||
"summary.json": "284d74da477224798ddc7d4c3f1d4a3c5e4fb25224ab81740ab3f3777fe9288b",
|
||||
"terminal-queues.npz": "5b3436c0696afbc13ea877e1e072fd227e09028db0f0acc7ea3e412f89c94e62"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"accepted_arriving_edges": 16241627,
|
||||
"all_finite": true,
|
||||
"arriving_edges": 17655024,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "light",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9e443dd967cfbeceb84ddf3958ee65d1d4785a1693dd7c9d292b2164d1685ae0",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"eligibility_v2_source_sha256": null,
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 0,
|
||||
"overlay_name": "zero",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": null,
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "zero",
|
||||
"overlay_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"_runtime.timing(steps, pending)",
|
||||
"_runtime.after_tick(tick, v, g, ref, drive, apl_state, h, applied_h)",
|
||||
"_runtime.arrivals(expanded, destination, ref)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "4572043a15a53b3874766b40b4521422567761dbc75db57535ab44b817210429",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": false,
|
||||
"removed_diagnostic_statements": [
|
||||
"Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='apl-applied.float32.npy')), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Constant(value=4064)], ctx=Load())], keywords=[]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='width', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='drive'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='state'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='inhibition'), Constant(value=4064)], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=Constant(value='apl-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.float32.npy'))), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='width', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='dtype', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='-history.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[])), Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=BinOp(left=Constant(value='preAPL-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int64', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='uint8', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Subscript(value=Subscript(value=Name(id='graph', ctx=Load()), slice=Constant(value='edge_id'), ctx=Load()), slice=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='expanded', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), ctx=Load()), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Compare(left=Subscript(value=Name(id='ref', ctx=Load()), slice=Call(func=Attribute(value=Name(id='destination', ctx=Load()), attr='long', ctx=Load()), args=[], keywords=[]), ctx=Load()), ops=[Eq()], comparators=[Constant(value=0)]), attr='to', ctx=Load()), args=[Attribute(value=Name(id='torch', ctx=Load()), attr='uint8', ctx=Load())], keywords=[]), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='queue', ctx=Store())], value=Call(func=Name(id='queue_summary', ctx=Load()), args=[Name(id='tick', ctx=Load()), Name(id='expanded_global', ctx=Load()), Name(id='accepted_cpu', ctx=Load())], keywords=[]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='queue_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='queue', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"AugAssign(target=Name(id='due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='count'), ctx=Load()))",
|
||||
"AugAssign(target=Name(id='accepted_due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='accepted_count'), ctx=Load()))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Name(id='v', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Name(id='g', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Name(id='ref', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='value', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='apl_cpu', ctx=Store())], value=Dict(keys=[Constant(value='drive'), Constant(value='state'), Constant(value='inhibition'), Constant(value='applied')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='drive', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='apl_state', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='applied_h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])",
|
||||
"Assign(targets=[Name(id='actual', ctx=Store())], value=Dict(keys=[Constant(value='v'), Constant(value='g'), Constant(value='ref')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='v', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='g', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='ref', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"Assign(targets=[Name(id='finite', ctx=Store())], value=Call(func=Name(id='all', ctx=Load()), args=[GeneratorExp(elt=Call(func=Name(id='bool', ctx=Load()), args=[Call(func=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='isfinite', ctx=Load()), args=[Name(id='value', ctx=Load())], keywords=[]), attr='all', ctx=Load()), args=[], keywords=[])], keywords=[]), generators=[comprehension(target=Name(id='value', ctx=Store()), iter=BinOp(left=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[]), op=Add(), right=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[])), ifs=[], is_async=0)])], keywords=[]))",
|
||||
"Assign(targets=[Name(id='row', ctx=Store())], value=Dict(keys=[Constant(value='tick'), None], values=[Name(id='tick', ctx=Load()), DictComp(key=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='_sha256')), value=Call(func=Name(id='raw_hash', ctx=Load()), args=[Name(id='value', ctx=Load()), IfExp(test=Compare(left=Name(id='name', ctx=Load()), ops=[Eq()], comparators=[Constant(value='ref')]), body=Constant(value='<i4'), orelse=Constant(value='<f8'))], keywords=[]), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)])]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='hash_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='row', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])], orelse=[])",
|
||||
"If(test=UnaryOp(op=Not(), operand=Name(id='finite', ctx=Load())), body=[With(items=[withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='first-failure-state.npz')), attr='open', ctx=Load()), args=[Constant(value='xb')], keywords=[]), optional_vars=Name(id='target', ctx=Store()))], body=[Expr(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='savez_compressed', ctx=Load()), args=[Name(id='target', ctx=Load())], keywords=[keyword(arg='tick', value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='array', ctx=Load()), args=[Name(id='tick', ctx=Load())], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load()))])), keyword(value=Name(id='actual', ctx=Load())), keyword(value=DictComp(key=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), value=Name(id='value', ctx=Load()), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)]))]))]), Expr(value=Call(func=Name(id='require', ctx=Load()), args=[Constant(value=False), Constant(value='Nonfinite state; first failure saved')], keywords=[]))], orelse=[])"
|
||||
],
|
||||
"replaced_diagnostic_nodes": [
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='queue.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='queue_output', ctx=Store()))",
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='tick-state-hashes.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='hash_output', ctx=Store()))",
|
||||
"Assign(targets=[Name(id='timing', ctx=Store())], value=Call(func=Name(id='audit_sequence', ctx=Load()), args=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_inhibition'), ctx=Load()), Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Load()), Name(id='pending', ctx=Load()), Name(id='apl_delay', ctx=Load())], keywords=[]))"
|
||||
]
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "241b984cb87fcad0795846b61bb1d2baa956f448e3a7f45c23c51493504e5753",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/overlays/zero.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4an-engineering-validation/overlays/zero.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D1--light--epoch-000/requests.npz": "e3df9625b996a62c38e137a64bbfa7ea2d421ba02303bb9da09850a741e0d85f",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D1--light--epoch-000/spec.json": "bebfb0eac035a6d2b961fde53463f42fbad83e67c4b99b70b746e07394a1f48d",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "284d74da477224798ddc7d4c3f1d4a3c5e4fb25224ab81740ab3f3777fe9288b",
|
||||
"terminal_queues_sha256": "5b3436c0696afbc13ea877e1e072fd227e09028db0f0acc7ea3e412f89c94e62",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"accepted_arriving_edges": 16241627,
|
||||
"accepted_requests": 55,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
146.1513214111328,
|
||||
169.39305114746094
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125263037,
|
||||
1126786207
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "df76e3bdfde0b7529784710a99c21e3d0c8de3d0619dc22577bd59b13641bd50",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 17655024,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 0.4332650879950961,
|
||||
"case": "D1--light--epoch-000",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "light",
|
||||
"diagnostic_simulation_seconds": 2.5347203290002653,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": false,
|
||||
"full_queue_hashes_recorded": false,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"full_tick_state_hashes_recorded": false,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "e3df9625b996a62c38e137a64bbfa7ea2d421ba02303bb9da09850a741e0d85f",
|
||||
"spec.json": "bebfb0eac035a6d2b961fde53463f42fbad83e67c4b99b70b746e07394a1f48d"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 27,
|
||||
"requested": 82,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 36539,
|
||||
"wall_seconds": 4.115151603000413,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-pending-tail.float32.npy": "d26056012aaebe26ee9acdb2ee0ac226fa5496d87fe33c4378cc9359a0c5d5c8",
|
||||
"apl-timing-audit.json": "92812c9cb2a35d53034799317a94c4d1f369968d378fe7806ba4b6d9c667e5ca",
|
||||
"finite-audit.json": "5f0182167c4c628ec8fd6354a2fecde3dc99282894397aba155e7cb7e1fbce40",
|
||||
"overlay-audit.json": "cfa98093495747b091d9863c5de8b30571ae4d9579771ed4a42b9fda72d2f912",
|
||||
"overlay-input.npz": "b89e407a5d93b5f1901f901b00428dc19bd20cee2d81e57b117a2fa68d200a48",
|
||||
"overlay-manifest.json": "38dabc55ea0569843ee70f13cf570832ecaa8f1ee7f26a7420e7ebc3ea86f6bd",
|
||||
"requests.csv": "f448e63324feba55899e634b1ef79b89c80cb8842b1d2e38b74a198cb9af36f8",
|
||||
"runtime-provenance.json": "8773b8c23c6613ff1fffc88e21cbbdf2cbf78f5edcc34c0694044b8cbe0075b1",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "137d5a73a869f27df8a3f97002ca6a683c80d3d715057759fb2aad64a05d37ff",
|
||||
"summary.json": "e373b001d2b3e724b0723ddcb7fa0df85cef071a014c1c8d3f8f6ba7025d7642",
|
||||
"terminal-queues.npz": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"accepted_arriving_edges": 14570540,
|
||||
"all_finite": true,
|
||||
"arriving_edges": 15867420,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "light",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9aa157009196340e0d6caf47c016b69db3a4e27d2da268cb650707747efe96e5",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "ed6b47d2ee3c7376167ba0bbd414d1592c3b779a9af10a539240633aac59f9a8",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 90,
|
||||
"overlay_name": "learned",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "learned",
|
||||
"overlay_sha256": "b89e407a5d93b5f1901f901b00428dc19bd20cee2d81e57b117a2fa68d200a48",
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"_runtime.timing(steps, pending)",
|
||||
"_runtime.after_tick(tick, v, g, ref, drive, apl_state, h, applied_h)",
|
||||
"_runtime.arrivals(expanded, destination, ref)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "4572043a15a53b3874766b40b4521422567761dbc75db57535ab44b817210429",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": false,
|
||||
"removed_diagnostic_statements": [
|
||||
"Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='apl-applied.float32.npy')), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Constant(value=4064)], ctx=Load())], keywords=[]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='width', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='drive'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='state'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='inhibition'), Constant(value=4064)], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=Constant(value='apl-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.float32.npy'))), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='width', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='dtype', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='-history.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[])), Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=BinOp(left=Constant(value='preAPL-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int64', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='uint8', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Subscript(value=Subscript(value=Name(id='graph', ctx=Load()), slice=Constant(value='edge_id'), ctx=Load()), slice=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='expanded', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), ctx=Load()), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Compare(left=Subscript(value=Name(id='ref', ctx=Load()), slice=Call(func=Attribute(value=Name(id='destination', ctx=Load()), attr='long', ctx=Load()), args=[], keywords=[]), ctx=Load()), ops=[Eq()], comparators=[Constant(value=0)]), attr='to', ctx=Load()), args=[Attribute(value=Name(id='torch', ctx=Load()), attr='uint8', ctx=Load())], keywords=[]), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='queue', ctx=Store())], value=Call(func=Name(id='queue_summary', ctx=Load()), args=[Name(id='tick', ctx=Load()), Name(id='expanded_global', ctx=Load()), Name(id='accepted_cpu', ctx=Load())], keywords=[]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='queue_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='queue', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"AugAssign(target=Name(id='due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='count'), ctx=Load()))",
|
||||
"AugAssign(target=Name(id='accepted_due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='accepted_count'), ctx=Load()))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Name(id='v', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Name(id='g', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Name(id='ref', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='value', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='apl_cpu', ctx=Store())], value=Dict(keys=[Constant(value='drive'), Constant(value='state'), Constant(value='inhibition'), Constant(value='applied')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='drive', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='apl_state', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='applied_h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])",
|
||||
"Assign(targets=[Name(id='actual', ctx=Store())], value=Dict(keys=[Constant(value='v'), Constant(value='g'), Constant(value='ref')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='v', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='g', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='ref', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"Assign(targets=[Name(id='finite', ctx=Store())], value=Call(func=Name(id='all', ctx=Load()), args=[GeneratorExp(elt=Call(func=Name(id='bool', ctx=Load()), args=[Call(func=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='isfinite', ctx=Load()), args=[Name(id='value', ctx=Load())], keywords=[]), attr='all', ctx=Load()), args=[], keywords=[])], keywords=[]), generators=[comprehension(target=Name(id='value', ctx=Store()), iter=BinOp(left=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[]), op=Add(), right=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[])), ifs=[], is_async=0)])], keywords=[]))",
|
||||
"Assign(targets=[Name(id='row', ctx=Store())], value=Dict(keys=[Constant(value='tick'), None], values=[Name(id='tick', ctx=Load()), DictComp(key=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='_sha256')), value=Call(func=Name(id='raw_hash', ctx=Load()), args=[Name(id='value', ctx=Load()), IfExp(test=Compare(left=Name(id='name', ctx=Load()), ops=[Eq()], comparators=[Constant(value='ref')]), body=Constant(value='<i4'), orelse=Constant(value='<f8'))], keywords=[]), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)])]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='hash_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='row', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])], orelse=[])",
|
||||
"If(test=UnaryOp(op=Not(), operand=Name(id='finite', ctx=Load())), body=[With(items=[withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='first-failure-state.npz')), attr='open', ctx=Load()), args=[Constant(value='xb')], keywords=[]), optional_vars=Name(id='target', ctx=Store()))], body=[Expr(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='savez_compressed', ctx=Load()), args=[Name(id='target', ctx=Load())], keywords=[keyword(arg='tick', value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='array', ctx=Load()), args=[Name(id='tick', ctx=Load())], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load()))])), keyword(value=Name(id='actual', ctx=Load())), keyword(value=DictComp(key=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), value=Name(id='value', ctx=Load()), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)]))]))]), Expr(value=Call(func=Name(id='require', ctx=Load()), args=[Constant(value=False), Constant(value='Nonfinite state; first failure saved')], keywords=[]))], orelse=[])"
|
||||
],
|
||||
"replaced_diagnostic_nodes": [
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='queue.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='queue_output', ctx=Store()))",
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='tick-state-hashes.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='hash_output', ctx=Store()))",
|
||||
"Assign(targets=[Name(id='timing', ctx=Store())], value=Call(func=Name(id='audit_sequence', ctx=Load()), args=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_inhibition'), ctx=Load()), Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Load()), Name(id='pending', ctx=Load()), Name(id='apl_delay', ctx=Load())], keywords=[]))"
|
||||
]
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "5f0182167c4c628ec8fd6354a2fecde3dc99282894397aba155e7cb7e1fbce40",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D1--light--epoch-001/requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D1--light--epoch-001/spec.json": "7718d21453fdee9f040007a8c2f8fc39f5adf7a3ec15699fceb0901f38f2ab9a",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/D1--light--epoch-000/delta-after.npz": "b89e407a5d93b5f1901f901b00428dc19bd20cee2d81e57b117a2fa68d200a48",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/D1--light--epoch-000/overlay-manifest.json": "38dabc55ea0569843ee70f13cf570832ecaa8f1ee7f26a7420e7ebc3ea86f6bd",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "cfa98093495747b091d9863c5de8b30571ae4d9579771ed4a42b9fda72d2f912",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "e373b001d2b3e724b0723ddcb7fa0df85cef071a014c1c8d3f8f6ba7025d7642",
|
||||
"terminal_queues_sha256": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"accepted_arriving_edges": 14570540,
|
||||
"accepted_requests": 48,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 15867420,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 0.4336121020023711,
|
||||
"case": "D1--light--epoch-001",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "light",
|
||||
"diagnostic_simulation_seconds": 2.43696464200184,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "ed6b47d2ee3c7376167ba0bbd414d1592c3b779a9af10a539240633aac59f9a8",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": false,
|
||||
"full_queue_hashes_recorded": false,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"full_tick_state_hashes_recorded": false,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"spec.json": "7718d21453fdee9f040007a8c2f8fc39f5adf7a3ec15699fceb0901f38f2ab9a"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 21,
|
||||
"requested": 69,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 33390,
|
||||
"wall_seconds": 4.03936322699883,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": "apl-applied.float32.npy",
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": "apl-inhibition.float32.npy",
|
||||
"initial_padding_positive_zero": true,
|
||||
"pass_all": true,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"sample_bits_preserved": true,
|
||||
"steps": 1200
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-applied.float32.npy": "a624f458c5c0e920d29f126178241378ba6f06b37188e9ad1c9401f60d479836",
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-drive.float32.npy": "6b301fdef4f58981f7457bcd9b053ff9d6a5a4a586c0d7d11636478770a1e768",
|
||||
"apl-inhibition.float32.npy": "f8cb8e9b36c20c340e05bf25dba6840f49255c18f1cf725bb345243056b50994",
|
||||
"apl-pending-tail.float32.npy": "d26056012aaebe26ee9acdb2ee0ac226fa5496d87fe33c4378cc9359a0c5d5c8",
|
||||
"apl-state.float32.npy": "e303c5c3140c5c719d465f8fb735eb80efb8be0c3e8b367be95b33dcefd4c47a",
|
||||
"apl-timing-audit.json": "73d3c3279aa7643803aa440b21ad573b99240469a17a295b13a99ab97f9d05c3",
|
||||
"finite-audit.json": "a230387da908449ff29f1acf53f3157ec4dee893208f32a424260d75924ad620",
|
||||
"overlay-audit.json": "cfa98093495747b091d9863c5de8b30571ae4d9579771ed4a42b9fda72d2f912",
|
||||
"overlay-input.npz": "b89e407a5d93b5f1901f901b00428dc19bd20cee2d81e57b117a2fa68d200a48",
|
||||
"overlay-manifest.json": "38dabc55ea0569843ee70f13cf570832ecaa8f1ee7f26a7420e7ebc3ea86f6bd",
|
||||
"queue.jsonl": "ac26135508b16491714fb54f8779dc01409f1c0a5961f8bfcb79a7477394fc90",
|
||||
"requests.csv": "f448e63324feba55899e634b1ef79b89c80cb8842b1d2e38b74a198cb9af36f8",
|
||||
"runtime-provenance.json": "48a2162161295fc7297dc7032a4fba5442a5392b0484e25c4976cdb14d7084cb",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "137d5a73a869f27df8a3f97002ca6a683c80d3d715057759fb2aad64a05d37ff",
|
||||
"summary.json": "92284fe84ec6b5ab00788d361167cddb07f59553a07f51f1f253fb97bd8fd596",
|
||||
"terminal-queues.npz": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c",
|
||||
"tick-state-hashes.jsonl": "74af989a0975d490ad5f729adc5bdc30e90ddbb6c4c9f7ee57199c8c695d0d3e"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"all_finite": true,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "reference",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9aa157009196340e0d6caf47c016b69db3a4e27d2da268cb650707747efe96e5",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "ed6b47d2ee3c7376167ba0bbd414d1592c3b779a9af10a539240633aac59f9a8",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 90,
|
||||
"overlay_name": "learned",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "learned",
|
||||
"overlay_sha256": "b89e407a5d93b5f1901f901b00428dc19bd20cee2d81e57b117a2fa68d200a48",
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "30a31f88436823309666d33cc138520684777c50b96f0ef31af166b354b18da8",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "reference",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": true,
|
||||
"removed_diagnostic_statements": [],
|
||||
"replaced_diagnostic_nodes": []
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "a230387da908449ff29f1acf53f3157ec4dee893208f32a424260d75924ad620",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D1--reference--epoch-001/requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/D1--reference--epoch-001/spec.json": "f0b8eddd78a2dc0e1d6fcae07489dcb24aa3c5bb14326367fa32cfdf960739ba",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/D1--reference--epoch-000/delta-after.npz": "b89e407a5d93b5f1901f901b00428dc19bd20cee2d81e57b117a2fa68d200a48",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/D1--reference--epoch-000/overlay-manifest.json": "38dabc55ea0569843ee70f13cf570832ecaa8f1ee7f26a7420e7ebc3ea86f6bd",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "reference",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "cfa98093495747b091d9863c5de8b30571ae4d9579771ed4a42b9fda72d2f912",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "92284fe84ec6b5ab00788d361167cddb07f59553a07f51f1f253fb97bd8fd596",
|
||||
"terminal_queues_sha256": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
{
|
||||
"accepted_arriving_edges": 14570540,
|
||||
"accepted_requests": 48,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": "apl-applied.float32.npy",
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": "apl-inhibition.float32.npy",
|
||||
"initial_padding_positive_zero": true,
|
||||
"pass_all": true,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"sample_bits_preserved": true,
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 15867420,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 58.65306127600343,
|
||||
"case": "D1--reference--epoch-001",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "reference",
|
||||
"diagnostic_simulation_seconds": 6.518410498996673,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "ed6b47d2ee3c7376167ba0bbd414d1592c3b779a9af10a539240633aac59f9a8",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": true,
|
||||
"full_queue_hashes_recorded": true,
|
||||
"full_sequence_bitwise_audit_performed": true,
|
||||
"full_tick_state_hashes_recorded": true,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"spec.json": "f0b8eddd78a2dc0e1d6fcae07489dcb24aa3c5bb14326367fa32cfdf960739ba"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 21,
|
||||
"requested": 69,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 33390,
|
||||
"wall_seconds": 66.35277783100173,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
146.1513214111328,
|
||||
169.39305114746094
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125263037,
|
||||
1126786207
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "df76e3bdfde0b7529784710a99c21e3d0c8de3d0619dc22577bd59b13641bd50",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-pending-tail.float32.npy": "3ddb9b60337068ad52fe5542d35a842647c44c77c0a589519d794faf7d9631a4",
|
||||
"apl-timing-audit.json": "203ee0300f83b33281b6e796ddeed76e9cc18235a83c35d2dc8080ae9e47d0c3",
|
||||
"finite-audit.json": "241b984cb87fcad0795846b61bb1d2baa956f448e3a7f45c23c51493504e5753",
|
||||
"overlay-audit.json": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"overlay-input.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"overlay-manifest.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"requests.csv": "726fafb4fc3ec6771d87bfdeb45758f151ee616b88ffa669ff702ab51dfa1fbc",
|
||||
"runtime-provenance.json": "73b8a40ec05ee66e2747072e770fd796944d022c9c527b8385474a1024f89fcc",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "cb53be39e7fb1fa45d6be38007a592b89e149b2f3dea9ff7cb2ecce478cc49da",
|
||||
"summary.json": "e79ed6783a9734699882ce2d53a92f9a0e7477c76462e49bf3e1feb994495847",
|
||||
"terminal-queues.npz": "5b3436c0696afbc13ea877e1e072fd227e09028db0f0acc7ea3e412f89c94e62"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"accepted_arriving_edges": 16241627,
|
||||
"all_finite": true,
|
||||
"arriving_edges": 17655024,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "light",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9e443dd967cfbeceb84ddf3958ee65d1d4785a1693dd7c9d292b2164d1685ae0",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"eligibility_v2_source_sha256": null,
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 0,
|
||||
"overlay_name": "zero",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": null,
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "zero",
|
||||
"overlay_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"_runtime.timing(steps, pending)",
|
||||
"_runtime.after_tick(tick, v, g, ref, drive, apl_state, h, applied_h)",
|
||||
"_runtime.arrivals(expanded, destination, ref)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "4572043a15a53b3874766b40b4521422567761dbc75db57535ab44b817210429",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": false,
|
||||
"removed_diagnostic_statements": [
|
||||
"Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='apl-applied.float32.npy')), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Constant(value=4064)], ctx=Load())], keywords=[]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='width', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='drive'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='state'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='inhibition'), Constant(value=4064)], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=Constant(value='apl-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.float32.npy'))), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='width', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='dtype', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='-history.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[])), Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=BinOp(left=Constant(value='preAPL-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int64', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='uint8', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Subscript(value=Subscript(value=Name(id='graph', ctx=Load()), slice=Constant(value='edge_id'), ctx=Load()), slice=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='expanded', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), ctx=Load()), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Compare(left=Subscript(value=Name(id='ref', ctx=Load()), slice=Call(func=Attribute(value=Name(id='destination', ctx=Load()), attr='long', ctx=Load()), args=[], keywords=[]), ctx=Load()), ops=[Eq()], comparators=[Constant(value=0)]), attr='to', ctx=Load()), args=[Attribute(value=Name(id='torch', ctx=Load()), attr='uint8', ctx=Load())], keywords=[]), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='queue', ctx=Store())], value=Call(func=Name(id='queue_summary', ctx=Load()), args=[Name(id='tick', ctx=Load()), Name(id='expanded_global', ctx=Load()), Name(id='accepted_cpu', ctx=Load())], keywords=[]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='queue_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='queue', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"AugAssign(target=Name(id='due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='count'), ctx=Load()))",
|
||||
"AugAssign(target=Name(id='accepted_due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='accepted_count'), ctx=Load()))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Name(id='v', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Name(id='g', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Name(id='ref', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='value', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='apl_cpu', ctx=Store())], value=Dict(keys=[Constant(value='drive'), Constant(value='state'), Constant(value='inhibition'), Constant(value='applied')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='drive', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='apl_state', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='applied_h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])",
|
||||
"Assign(targets=[Name(id='actual', ctx=Store())], value=Dict(keys=[Constant(value='v'), Constant(value='g'), Constant(value='ref')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='v', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='g', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='ref', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"Assign(targets=[Name(id='finite', ctx=Store())], value=Call(func=Name(id='all', ctx=Load()), args=[GeneratorExp(elt=Call(func=Name(id='bool', ctx=Load()), args=[Call(func=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='isfinite', ctx=Load()), args=[Name(id='value', ctx=Load())], keywords=[]), attr='all', ctx=Load()), args=[], keywords=[])], keywords=[]), generators=[comprehension(target=Name(id='value', ctx=Store()), iter=BinOp(left=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[]), op=Add(), right=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[])), ifs=[], is_async=0)])], keywords=[]))",
|
||||
"Assign(targets=[Name(id='row', ctx=Store())], value=Dict(keys=[Constant(value='tick'), None], values=[Name(id='tick', ctx=Load()), DictComp(key=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='_sha256')), value=Call(func=Name(id='raw_hash', ctx=Load()), args=[Name(id='value', ctx=Load()), IfExp(test=Compare(left=Name(id='name', ctx=Load()), ops=[Eq()], comparators=[Constant(value='ref')]), body=Constant(value='<i4'), orelse=Constant(value='<f8'))], keywords=[]), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)])]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='hash_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='row', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])], orelse=[])",
|
||||
"If(test=UnaryOp(op=Not(), operand=Name(id='finite', ctx=Load())), body=[With(items=[withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='first-failure-state.npz')), attr='open', ctx=Load()), args=[Constant(value='xb')], keywords=[]), optional_vars=Name(id='target', ctx=Store()))], body=[Expr(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='savez_compressed', ctx=Load()), args=[Name(id='target', ctx=Load())], keywords=[keyword(arg='tick', value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='array', ctx=Load()), args=[Name(id='tick', ctx=Load())], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load()))])), keyword(value=Name(id='actual', ctx=Load())), keyword(value=DictComp(key=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), value=Name(id='value', ctx=Load()), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)]))]))]), Expr(value=Call(func=Name(id='require', ctx=Load()), args=[Constant(value=False), Constant(value='Nonfinite state; first failure saved')], keywords=[]))], orelse=[])"
|
||||
],
|
||||
"replaced_diagnostic_nodes": [
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='queue.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='queue_output', ctx=Store()))",
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='tick-state-hashes.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='hash_output', ctx=Store()))",
|
||||
"Assign(targets=[Name(id='timing', ctx=Store())], value=Call(func=Name(id='audit_sequence', ctx=Load()), args=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_inhibition'), ctx=Load()), Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Load()), Name(id='pending', ctx=Load()), Name(id='apl_delay', ctx=Load())], keywords=[]))"
|
||||
]
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "241b984cb87fcad0795846b61bb1d2baa956f448e3a7f45c23c51493504e5753",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/overlays/zero.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4an-engineering-validation/overlays/zero.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/frozen--light--epoch-000/requests.npz": "e3df9625b996a62c38e137a64bbfa7ea2d421ba02303bb9da09850a741e0d85f",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/frozen--light--epoch-000/spec.json": "7d2d25e25865e882f17dfa36ae4d090bc044b98f957f0cf3a45d5e92e45b70b6",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "e79ed6783a9734699882ce2d53a92f9a0e7477c76462e49bf3e1feb994495847",
|
||||
"terminal_queues_sha256": "5b3436c0696afbc13ea877e1e072fd227e09028db0f0acc7ea3e412f89c94e62",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"accepted_arriving_edges": 16241627,
|
||||
"accepted_requests": 55,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
146.1513214111328,
|
||||
169.39305114746094
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125263037,
|
||||
1126786207
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "df76e3bdfde0b7529784710a99c21e3d0c8de3d0619dc22577bd59b13641bd50",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 17655024,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 0.42830655600118916,
|
||||
"case": "frozen--light--epoch-000",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "light",
|
||||
"diagnostic_simulation_seconds": 2.524144688999513,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": false,
|
||||
"full_queue_hashes_recorded": false,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"full_tick_state_hashes_recorded": false,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "e3df9625b996a62c38e137a64bbfa7ea2d421ba02303bb9da09850a741e0d85f",
|
||||
"spec.json": "7d2d25e25865e882f17dfa36ae4d090bc044b98f957f0cf3a45d5e92e45b70b6"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 27,
|
||||
"requested": 82,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 36539,
|
||||
"wall_seconds": 4.101424155000132,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-pending-tail.float32.npy": "d26056012aaebe26ee9acdb2ee0ac226fa5496d87fe33c4378cc9359a0c5d5c8",
|
||||
"apl-timing-audit.json": "92812c9cb2a35d53034799317a94c4d1f369968d378fe7806ba4b6d9c667e5ca",
|
||||
"finite-audit.json": "5f0182167c4c628ec8fd6354a2fecde3dc99282894397aba155e7cb7e1fbce40",
|
||||
"overlay-audit.json": "e99f52536b83f9bdb48806ce085ba5079a8776360792f5ffef83957c36609a67",
|
||||
"overlay-input.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"overlay-manifest.json": "3be5d1a9d7dd1d8a580f272d3dca3616adbc157fafb4fbdfc89258719650c01e",
|
||||
"requests.csv": "f448e63324feba55899e634b1ef79b89c80cb8842b1d2e38b74a198cb9af36f8",
|
||||
"runtime-provenance.json": "484341cffd3182512df568a252484120d443eaa56d58c5520d69c70d5ba8823d",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "3d7bd8be6127ad563262addcd3262471f6b964457c12f93b81415a6c5f15cc61",
|
||||
"summary.json": "08ecc56a5c736f9db1945d59827577e0aabe091f4d31807506f730c72af81b2b",
|
||||
"terminal-queues.npz": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"accepted_arriving_edges": 14570540,
|
||||
"all_finite": true,
|
||||
"arriving_edges": 15867420,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "light",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9e443dd967cfbeceb84ddf3958ee65d1d4785a1693dd7c9d292b2164d1685ae0",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 0,
|
||||
"overlay_name": "learned",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "learned",
|
||||
"overlay_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"_runtime.timing(steps, pending)",
|
||||
"_runtime.after_tick(tick, v, g, ref, drive, apl_state, h, applied_h)",
|
||||
"_runtime.arrivals(expanded, destination, ref)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "4572043a15a53b3874766b40b4521422567761dbc75db57535ab44b817210429",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": false,
|
||||
"removed_diagnostic_statements": [
|
||||
"Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='apl-applied.float32.npy')), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Constant(value=4064)], ctx=Load())], keywords=[]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='width', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='drive'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='state'), Constant(value=2)], ctx=Load()), Tuple(elts=[Constant(value='inhibition'), Constant(value=4064)], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=Constant(value='apl-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.float32.npy'))), Attribute(value=Name(id='np', ctx=Load()), attr='float32', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='width', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='dtype', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Attribute(value=Name(id='np', ctx=Load()), attr='float64', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='-history.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[])), Assign(targets=[Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Store())], value=Call(func=Name(id='new_array', ctx=Load()), args=[BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=BinOp(left=BinOp(left=BinOp(left=BinOp(left=Constant(value='preAPL-'), op=Add(), right=Name(id='name', ctx=Load())), op=Add(), right=Constant(value='.')), op=Add(), right=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='dtype', ctx=Load()), args=[Name(id='dtype', ctx=Load())], keywords=[]), attr='name', ctx=Load())), op=Add(), right=Constant(value='.npy'))), Name(id='dtype', ctx=Load()), Tuple(elts=[Name(id='steps', ctx=Load()), Name(id='n', ctx=Load())], ctx=Load())], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int64', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='empty', ctx=Load()), args=[Constant(value=0)], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='uint8', ctx=Load()))]))",
|
||||
"Assign(targets=[Name(id='expanded_global', ctx=Store())], value=Call(func=Attribute(value=Subscript(value=Subscript(value=Name(id='graph', ctx=Load()), slice=Constant(value='edge_id'), ctx=Load()), slice=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='expanded', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), ctx=Load()), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='accepted_cpu', ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Compare(left=Subscript(value=Name(id='ref', ctx=Load()), slice=Call(func=Attribute(value=Name(id='destination', ctx=Load()), attr='long', ctx=Load()), args=[], keywords=[]), ctx=Load()), ops=[Eq()], comparators=[Constant(value=0)]), attr='to', ctx=Load()), args=[Attribute(value=Name(id='torch', ctx=Load()), attr='uint8', ctx=Load())], keywords=[]), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]))",
|
||||
"Assign(targets=[Name(id='queue', ctx=Store())], value=Call(func=Name(id='queue_summary', ctx=Load()), args=[Name(id='tick', ctx=Load()), Name(id='expanded_global', ctx=Load()), Name(id='accepted_cpu', ctx=Load())], keywords=[]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='queue_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='queue', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"AugAssign(target=Name(id='due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='count'), ctx=Load()))",
|
||||
"AugAssign(target=Name(id='accepted_due_total', ctx=Store()), op=Add(), value=Subscript(value=Name(id='queue', ctx=Load()), slice=Constant(value='accepted_count'), ctx=Load()))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Tuple(elts=[Tuple(elts=[Constant(value='v'), Name(id='v', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='g'), Name(id='g', ctx=Load())], ctx=Load()), Tuple(elts=[Constant(value='ref'), Name(id='ref', ctx=Load())], ctx=Load())], ctx=Load()), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='pre_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='value', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]))], orelse=[])], orelse=[])",
|
||||
"Assign(targets=[Name(id='apl_cpu', ctx=Store())], value=Dict(keys=[Constant(value='drive'), Constant(value='state'), Constant(value='inhibition'), Constant(value='applied')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='drive', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='apl_state', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='applied_h', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])",
|
||||
"Assign(targets=[Name(id='actual', ctx=Store())], value=Dict(keys=[Constant(value='v'), Constant(value='g'), Constant(value='ref')], values=[Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='v', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='g', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[]), Call(func=Attribute(value=Call(func=Attribute(value=Call(func=Attribute(value=Name(id='ref', ctx=Load()), attr='cpu', ctx=Load()), args=[], keywords=[]), attr='numpy', ctx=Load()), args=[], keywords=[]), attr='copy', ctx=Load()), args=[], keywords=[])]))",
|
||||
"Assign(targets=[Name(id='finite', ctx=Store())], value=Call(func=Name(id='all', ctx=Load()), args=[GeneratorExp(elt=Call(func=Name(id='bool', ctx=Load()), args=[Call(func=Attribute(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='isfinite', ctx=Load()), args=[Name(id='value', ctx=Load())], keywords=[]), attr='all', ctx=Load()), args=[], keywords=[])], keywords=[]), generators=[comprehension(target=Name(id='value', ctx=Store()), iter=BinOp(left=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[]), op=Add(), right=Call(func=Name(id='list', ctx=Load()), args=[Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='values', ctx=Load()), args=[], keywords=[])], keywords=[])), ifs=[], is_async=0)])], keywords=[]))",
|
||||
"Assign(targets=[Name(id='row', ctx=Store())], value=Dict(keys=[Constant(value='tick'), None], values=[Name(id='tick', ctx=Load()), DictComp(key=BinOp(left=Name(id='name', ctx=Load()), op=Add(), right=Constant(value='_sha256')), value=Call(func=Name(id='raw_hash', ctx=Load()), args=[Name(id='value', ctx=Load()), IfExp(test=Compare(left=Name(id='name', ctx=Load()), ops=[Eq()], comparators=[Constant(value='ref')]), body=Constant(value='<i4'), orelse=Constant(value='<f8'))], keywords=[]), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)])]))",
|
||||
"Expr(value=Call(func=Attribute(value=Name(id='hash_output', ctx=Load()), attr='write', ctx=Load()), args=[BinOp(left=Call(func=Attribute(value=Name(id='json', ctx=Load()), attr='dumps', ctx=Load()), args=[Name(id='row', ctx=Load())], keywords=[keyword(arg='allow_nan', value=Constant(value=False))]), op=Add(), right=Constant(value='\\n'))], keywords=[]))",
|
||||
"If(test=Subscript(value=Name(id='spec', ctx=Load()), slice=Constant(value='record_history'), ctx=Load()), body=[For(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='actual', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), body=[Assign(targets=[Subscript(value=Subscript(value=Name(id='maps', ctx=Load()), slice=Name(id='name', ctx=Load()), ctx=Load()), slice=Name(id='tick', ctx=Load()), ctx=Store())], value=Name(id='value', ctx=Load()))], orelse=[])], orelse=[])",
|
||||
"If(test=UnaryOp(op=Not(), operand=Name(id='finite', ctx=Load())), body=[With(items=[withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='first-failure-state.npz')), attr='open', ctx=Load()), args=[Constant(value='xb')], keywords=[]), optional_vars=Name(id='target', ctx=Store()))], body=[Expr(value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='savez_compressed', ctx=Load()), args=[Name(id='target', ctx=Load())], keywords=[keyword(arg='tick', value=Call(func=Attribute(value=Name(id='np', ctx=Load()), attr='array', ctx=Load()), args=[Name(id='tick', ctx=Load())], keywords=[keyword(arg='dtype', value=Attribute(value=Name(id='np', ctx=Load()), attr='int32', ctx=Load()))])), keyword(value=Name(id='actual', ctx=Load())), keyword(value=DictComp(key=BinOp(left=Constant(value='apl_'), op=Add(), right=Name(id='name', ctx=Load())), value=Name(id='value', ctx=Load()), generators=[comprehension(target=Tuple(elts=[Name(id='name', ctx=Store()), Name(id='value', ctx=Store())], ctx=Store()), iter=Call(func=Attribute(value=Name(id='apl_cpu', ctx=Load()), attr='items', ctx=Load()), args=[], keywords=[]), ifs=[], is_async=0)]))]))]), Expr(value=Call(func=Name(id='require', ctx=Load()), args=[Constant(value=False), Constant(value='Nonfinite state; first failure saved')], keywords=[]))], orelse=[])"
|
||||
],
|
||||
"replaced_diagnostic_nodes": [
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='queue.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='queue_output', ctx=Store()))",
|
||||
"withitem(context_expr=Call(func=Attribute(value=BinOp(left=Name(id='out_dir', ctx=Load()), op=Div(), right=Constant(value='tick-state-hashes.jsonl')), attr='open', ctx=Load()), args=[Constant(value='x')], keywords=[keyword(arg='encoding', value=Constant(value='utf-8')), keyword(arg='buffering', value=Constant(value=1))]), optional_vars=Name(id='hash_output', ctx=Store()))",
|
||||
"Assign(targets=[Name(id='timing', ctx=Store())], value=Call(func=Name(id='audit_sequence', ctx=Load()), args=[Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_inhibition'), ctx=Load()), Subscript(value=Name(id='maps', ctx=Load()), slice=Constant(value='apl_applied'), ctx=Load()), Name(id='pending', ctx=Load()), Name(id='apl_delay', ctx=Load())], keywords=[]))"
|
||||
]
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "5f0182167c4c628ec8fd6354a2fecde3dc99282894397aba155e7cb7e1fbce40",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/frozen--light--epoch-001/requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/frozen--light--epoch-001/spec.json": "04a3bd81235f4f7ab31d2df2874db12b837915479b2112f5fef9af8b79b7926c",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/frozen--light--epoch-000/delta-after.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/frozen--light--epoch-000/overlay-manifest.json": "3be5d1a9d7dd1d8a580f272d3dca3616adbc157fafb4fbdfc89258719650c01e",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "light",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "e99f52536b83f9bdb48806ce085ba5079a8776360792f5ffef83957c36609a67",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "08ecc56a5c736f9db1945d59827577e0aabe091f4d31807506f730c72af81b2b",
|
||||
"terminal_queues_sha256": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+181
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"accepted_arriving_edges": 14570540,
|
||||
"accepted_requests": 48,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 15867420,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 0.4255592830013484,
|
||||
"case": "frozen--light--epoch-001",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "light",
|
||||
"diagnostic_simulation_seconds": 2.509882076003123,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": false,
|
||||
"full_queue_hashes_recorded": false,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"full_tick_state_hashes_recorded": false,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"spec.json": "04a3bd81235f4f7ab31d2df2874db12b837915479b2112f5fef9af8b79b7926c"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 21,
|
||||
"requested": 69,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 33390,
|
||||
"wall_seconds": 4.065688447000866,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": "apl-applied.float32.npy",
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
146.1513214111328,
|
||||
169.39305114746094
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125263037,
|
||||
1126786207
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": "apl-inhibition.float32.npy",
|
||||
"initial_padding_positive_zero": true,
|
||||
"pass_all": true,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "df76e3bdfde0b7529784710a99c21e3d0c8de3d0619dc22577bd59b13641bd50",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"sample_bits_preserved": true,
|
||||
"steps": 1200
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-applied.float32.npy": "e4500bf43b206c0efc27dc78e49ca598a6cc9260b1f69f22f57b0c431b777d1a",
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-drive.float32.npy": "f6254aa0346d959f47a3861fe3c0ca06b186156ce7fd18b0ba595d3a9d86d579",
|
||||
"apl-inhibition.float32.npy": "233a2165b57b9d23f854048dbd353824e4be1f962cc79496ed2d82911e5655ba",
|
||||
"apl-pending-tail.float32.npy": "3ddb9b60337068ad52fe5542d35a842647c44c77c0a589519d794faf7d9631a4",
|
||||
"apl-state.float32.npy": "eaac68dac00b5d46abfe7cb89109e24cc64a4ffa936019f071b36948a91c6524",
|
||||
"apl-timing-audit.json": "61fc2049716d8b6af170e9b26a10415a5f0c4b7fb8a21ed71d51d7f777a10f6e",
|
||||
"finite-audit.json": "a230387da908449ff29f1acf53f3157ec4dee893208f32a424260d75924ad620",
|
||||
"overlay-audit.json": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"overlay-input.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"overlay-manifest.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"queue.jsonl": "66ae736e3eccacd5fffa7f3df4b4c9b3eeca7b51f60d110a8403421531c3f73a",
|
||||
"requests.csv": "726fafb4fc3ec6771d87bfdeb45758f151ee616b88ffa669ff702ab51dfa1fbc",
|
||||
"runtime-provenance.json": "4610d0987361a83446e9be83676483f09473899ef11f22f3962c2f85fba1ca1f",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "cb53be39e7fb1fa45d6be38007a592b89e149b2f3dea9ff7cb2ecce478cc49da",
|
||||
"summary.json": "efbc79f9efcebb9e98f4a6fe30da6af364e7be702db8838174f19ec78653bd5a",
|
||||
"terminal-queues.npz": "5b3436c0696afbc13ea877e1e072fd227e09028db0f0acc7ea3e412f89c94e62",
|
||||
"tick-state-hashes.jsonl": "9c212550a155052507a2093412f7272a62b06fd3f5c8a202695025936fe3df48"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"all_finite": true,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "reference",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9e443dd967cfbeceb84ddf3958ee65d1d4785a1693dd7c9d292b2164d1685ae0",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"eligibility_v2_source_sha256": null,
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 0,
|
||||
"overlay_name": "zero",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": null,
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "zero",
|
||||
"overlay_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "30a31f88436823309666d33cc138520684777c50b96f0ef31af166b354b18da8",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "reference",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": true,
|
||||
"removed_diagnostic_statements": [],
|
||||
"replaced_diagnostic_nodes": []
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "a230387da908449ff29f1acf53f3157ec4dee893208f32a424260d75924ad620",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/overlays/zero.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4an-engineering-validation/overlays/zero.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/frozen--reference--epoch-000/requests.npz": "e3df9625b996a62c38e137a64bbfa7ea2d421ba02303bb9da09850a741e0d85f",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/frozen--reference--epoch-000/spec.json": "a27328b065de14ae09a4e80bcb933b1e6c9f68c3cabf5cd37e459e2bc56c0b8f",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "reference",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "efbc79f9efcebb9e98f4a6fe30da6af364e7be702db8838174f19ec78653bd5a",
|
||||
"terminal_queues_sha256": "5b3436c0696afbc13ea877e1e072fd227e09028db0f0acc7ea3e412f89c94e62",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
{
|
||||
"accepted_arriving_edges": 16241627,
|
||||
"accepted_requests": 55,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": "apl-applied.float32.npy",
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
146.1513214111328,
|
||||
169.39305114746094
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125263037,
|
||||
1126786207
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": "apl-inhibition.float32.npy",
|
||||
"initial_padding_positive_zero": true,
|
||||
"pass_all": true,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "df76e3bdfde0b7529784710a99c21e3d0c8de3d0619dc22577bd59b13641bd50",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"sample_bits_preserved": true,
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 17655024,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 0.42872172000352293,
|
||||
"case": "frozen--reference--epoch-000",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "reference",
|
||||
"diagnostic_simulation_seconds": 6.762258499999007,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": true,
|
||||
"full_queue_hashes_recorded": true,
|
||||
"full_sequence_bitwise_audit_performed": true,
|
||||
"full_tick_state_hashes_recorded": true,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "e3df9625b996a62c38e137a64bbfa7ea2d421ba02303bb9da09850a741e0d85f",
|
||||
"spec.json": "a27328b065de14ae09a4e80bcb933b1e6c9f68c3cabf5cd37e459e2bc56c0b8f"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 27,
|
||||
"requested": 82,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 36539,
|
||||
"wall_seconds": 8.31798643500224,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": "apl-applied.float32.npy",
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": "apl-inhibition.float32.npy",
|
||||
"initial_padding_positive_zero": true,
|
||||
"pass_all": true,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"sample_bits_preserved": true,
|
||||
"steps": 1200
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-applied.float32.npy": "a624f458c5c0e920d29f126178241378ba6f06b37188e9ad1c9401f60d479836",
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-drive.float32.npy": "6b301fdef4f58981f7457bcd9b053ff9d6a5a4a586c0d7d11636478770a1e768",
|
||||
"apl-inhibition.float32.npy": "f8cb8e9b36c20c340e05bf25dba6840f49255c18f1cf725bb345243056b50994",
|
||||
"apl-pending-tail.float32.npy": "d26056012aaebe26ee9acdb2ee0ac226fa5496d87fe33c4378cc9359a0c5d5c8",
|
||||
"apl-state.float32.npy": "e303c5c3140c5c719d465f8fb735eb80efb8be0c3e8b367be95b33dcefd4c47a",
|
||||
"apl-timing-audit.json": "73d3c3279aa7643803aa440b21ad573b99240469a17a295b13a99ab97f9d05c3",
|
||||
"finite-audit.json": "a230387da908449ff29f1acf53f3157ec4dee893208f32a424260d75924ad620",
|
||||
"overlay-audit.json": "e99f52536b83f9bdb48806ce085ba5079a8776360792f5ffef83957c36609a67",
|
||||
"overlay-input.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"overlay-manifest.json": "3be5d1a9d7dd1d8a580f272d3dca3616adbc157fafb4fbdfc89258719650c01e",
|
||||
"queue.jsonl": "ac26135508b16491714fb54f8779dc01409f1c0a5961f8bfcb79a7477394fc90",
|
||||
"requests.csv": "f448e63324feba55899e634b1ef79b89c80cb8842b1d2e38b74a198cb9af36f8",
|
||||
"runtime-provenance.json": "37f9af0cb9eaebe11574785162e9ab6678017b690a6cf33fe2b04529fa85735b",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "3d7bd8be6127ad563262addcd3262471f6b964457c12f93b81415a6c5f15cc61",
|
||||
"summary.json": "b4fb395f8dcf05652dba327c329271ab5b656b9ed8bae47ba947a00b4e109c80",
|
||||
"terminal-queues.npz": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c",
|
||||
"tick-state-hashes.jsonl": "57cb1ff4f2d09d8ab195f9925fdffcbdc5443c935f3d35e16165362dcb2ee21b"
|
||||
},
|
||||
"global_next_tick": 1200,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 1200,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"all_finite": true,
|
||||
"finite_observed_ticks": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"mode": "reference",
|
||||
"scope": "every completed tick; no neuronal or APL tensor mutated by observer"
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"am_helper_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"base_weights_raw_sha256": "a8c19cde743bd456bcb2e988d504f805b6943d6ceb97cd241d6e1e472ab5a591",
|
||||
"bridge": "baseSI64 + (delta32 widened to float64) * float64(0.001); nonzero rows only",
|
||||
"candidate_count": 14232,
|
||||
"complete": true,
|
||||
"delta_dtype": "float32",
|
||||
"delta_raw_sha256": "9e443dd967cfbeceb84ddf3958ee65d1d4785a1693dd7c9d292b2164d1685ae0",
|
||||
"delta_units": "mV",
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"inherited_AJ_provenance_only": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"nonzero_delta_count": 0,
|
||||
"overlay_name": "learned",
|
||||
"parent_chain_verified_by_runtime": false,
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-install-v1",
|
||||
"state_dtype": "float64",
|
||||
"weights_updated_during_run": false,
|
||||
"zero_rows_untouched": true
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"aj_model_dir": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1",
|
||||
"am_overlay_path": "/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py",
|
||||
"am_overlay_sha256": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4",
|
||||
"base_candidate_path": "/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy",
|
||||
"base_candidate_sha256": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"eligibility_v2_source_sha256": "abb4574da85f00bd9ef61024c65993ef81d42651ff8d8d63c15dd69c6222471e",
|
||||
"mask_path": "/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy",
|
||||
"mask_sha256": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"overlay_name": "learned",
|
||||
"overlay_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"parent_snapshot_sha256": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"schema": "phase4an-overlay-v1"
|
||||
}
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"admission_bound_changed_explicitly": true,
|
||||
"ast": {
|
||||
"added_runtime_callbacks": [
|
||||
"_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"_runtime.finish(ring, apl_ring, apl, steps, out_dir)"
|
||||
],
|
||||
"admission_edit": "0 < steps <= 1000 -> 0 < steps <= spec.max_steps",
|
||||
"aj_source_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"derived_math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"derived_module_ast_sha256": "30a31f88436823309666d33cc138520684777c50b96f0ef31af166b354b18da8",
|
||||
"derived_namespace_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"math_ast_sha256": "e46b7d037862b54c0000381ea50df3ba416c7c2c134e3cea78fa90ddf549f710",
|
||||
"mathematical_ast_identical": true,
|
||||
"mode": "reference",
|
||||
"old_globals_patched": false,
|
||||
"original_module_file": "/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py",
|
||||
"output_metadata_binding": "new write_json only labels recording/within-trial scope; no old global mutated",
|
||||
"post_loop_terminal_recording": "_runtime.finish(ring, apl_ring, apl, steps, out_dir)",
|
||||
"pre_loop_installation": "_runtime.install(weights, graph, apl_out_mask, upload, out_dir, source_provenance, device)",
|
||||
"reference_entire_tick_loop_identical": true,
|
||||
"removed_diagnostic_statements": [],
|
||||
"replaced_diagnostic_nodes": []
|
||||
},
|
||||
"complete": true,
|
||||
"finite_audit_sha256": "a230387da908449ff29f1acf53f3157ec4dee893208f32a424260d75924ad620",
|
||||
"input_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4am-wholebrain-plastic-interface/protocol/base-candidate.float32-mV.npy": "1218d1b328f29a7afefb0ca0b7b6421247f14ad598aa1957a6a7aacbc8cebcae",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/frozen--reference--epoch-001/requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/cases/frozen--reference--epoch-001/spec.json": "f3694ba234de54b8f4c943f0ea24272eee5bb34f2669191f8504ef650bfa569b",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/frozen--reference--epoch-000/delta-after.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"/data/digital-drosophila/experiments/phase4ap-conditioning-interface-v2/updates/frozen--reference--epoch-000/overlay-manifest.json": "3be5d1a9d7dd1d8a580f272d3dca3616adbc157fafb4fbdfc89258719650c01e",
|
||||
"/data/digital-drosophila/experiments/phase4h-dopamine-plasticity/plastic-mask/plastic-edge-ids.int64.npy": "8b0fb6eb2e6c31da4d17dc20d890aa3f367e514f05642de5bad6b42a1611c05b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"/data/digital-drosophila/models/male-cns-lif/apl-timing-lab-v1/timing_queue.py": "54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/gpu_apl.py": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-fullgraph-lab-v1/oracle_full.py": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e",
|
||||
"/data/digital-drosophila/models/male-cns-lif/author-runtime-lab-v1/gpu_backend.py": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"/data/digital-drosophila/models/male-cns-lif/wholebrain-plastic-interface-v1/overlay.py": "7f891d0ba79b393c96e75fd2dee2eddc51e57d8213eaac2779703bc2c18712b4"
|
||||
},
|
||||
"learning_pass_claimed": false,
|
||||
"math_changed": false,
|
||||
"mode": "reference",
|
||||
"old_globals_patched": false,
|
||||
"overlay_audit_sha256": "e99f52536b83f9bdb48806ce085ba5079a8776360792f5ffef83957c36609a67",
|
||||
"parent_chain_verification_owned_by_coordinator": true,
|
||||
"schema": "phase4an-reporting-adapter-v1",
|
||||
"source_file": "/data/digital-drosophila/models/male-cns-lif/olfactory-conditioning-lab-v1/runtime_light.py",
|
||||
"source_sha256": "522b8c31ea938890fe15364fccd25ccc5bded54101754909f255532e7ad01aae",
|
||||
"summary_sha256": "b4fb395f8dcf05652dba327c329271ab5b656b9ed8bae47ba947a00b4e109c80",
|
||||
"terminal_queues_sha256": "42dbeaa6f50c6d5e7492774393a2fcc8af775b682dd517a53535f6d7cd162c2c",
|
||||
"weights_updated_during_run": false
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"sealed_source_sha256": {
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291",
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961"
|
||||
},
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
]
|
||||
}
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
{
|
||||
"accepted_arriving_edges": 14570540,
|
||||
"accepted_requests": 48,
|
||||
"all_finite": true,
|
||||
"apl_component": {
|
||||
"array_sha256": {
|
||||
"apl_globals.npy": "979ef88dff30d41168ce9b377a006ccb3cd034b2dce86d54923ca0f4b87cb6a6",
|
||||
"input_matrix.npy": "528a5f6f5ffe424f323c5a44695db4a7cf32570709832eff2f37f49e85c92c3e",
|
||||
"kc_globals.npy": "9e990d10a63b0f74cd7bbbdc5369082f24d5246487af944ba289bc6bf48d4b75",
|
||||
"output_matrix.npy": "0dcf02cdb7836ab72da32ac47f5682ca33e25f63a8a662a8452d4ea9d46babb9"
|
||||
},
|
||||
"decay_f32_bits": "3f7eb923",
|
||||
"dt_ms": 0.1,
|
||||
"environment": {
|
||||
"CUBLAS_WORKSPACE_CONFIG": null,
|
||||
"cuda": "13.0",
|
||||
"cuda_matmul_allow_tf32": false,
|
||||
"cudnn": 92400,
|
||||
"cudnn_allow_tf32": true,
|
||||
"cudnn_benchmark": false,
|
||||
"cudnn_deterministic": false,
|
||||
"deterministic_algorithms": false,
|
||||
"device_capability": [
|
||||
8,
|
||||
9
|
||||
],
|
||||
"device_index": 0,
|
||||
"device_name": "NVIDIA GeForce RTX 4090",
|
||||
"float32_matmul_precision": "highest",
|
||||
"numpy": "2.2.6",
|
||||
"precision_configuration_changed_by_component": false,
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"files_sha256": {
|
||||
"apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73"
|
||||
},
|
||||
"gain_f32_bits": "3c23d70a",
|
||||
"h_units": "legacy mV",
|
||||
"initial_state": "float32 zeros",
|
||||
"n_apl": 2,
|
||||
"n_kc": 4064,
|
||||
"n_neurons": 166700,
|
||||
"ok": true,
|
||||
"operator_sequence": "state.mul_(decay32); drive=mv(I32,spikes32); state.add_(drive); h=matmul(state,O32)*gain32",
|
||||
"protocol": "phase4ag-apl-v1"
|
||||
},
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"apl_precision": "float32",
|
||||
"apl_schedule": "end, after threshold/reset and guarded arrivals, unconditional all KC",
|
||||
"apl_si_conversion": "applied h32 -> float64 -> multiply float64 0.001 -> separate float64 subtraction",
|
||||
"apl_timing": {
|
||||
"apl_delay_steps": 18,
|
||||
"applied_generated_rows": 1182,
|
||||
"applied_trace": "apl-applied.float32.npy",
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
154.96942138671875,
|
||||
169.44651794433594
|
||||
],
|
||||
"final_apl_state_nonzero": true,
|
||||
"final_apl_state_u32_bits": [
|
||||
1125840940,
|
||||
1126789711
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 1200,
|
||||
"generated_trace": "apl-inhibition.float32.npy",
|
||||
"initial_padding_positive_zero": true,
|
||||
"pass_all": true,
|
||||
"pending_application_tick_start": 1200,
|
||||
"pending_application_tick_stop_exclusive": 1218,
|
||||
"pending_generated_count": 18,
|
||||
"pending_generated_tick_start": 1182,
|
||||
"pending_generated_tick_stop_exclusive": 1200,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "b92c60bc3b4804af6345c999ff0a407d7b7002ba2882cfd1543354060f9c01cc",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"sample_bits_preserved": true,
|
||||
"steps": 1200
|
||||
},
|
||||
"arriving_edges": 15867420,
|
||||
"build": {
|
||||
"arch_list": "8.9",
|
||||
"cuda_flags": [
|
||||
"-O2",
|
||||
"--fmad=false",
|
||||
"--ftz=false",
|
||||
"--prec-div=true",
|
||||
"--prec-sqrt=true"
|
||||
],
|
||||
"sources": {
|
||||
"author_ext.cpp": "208a937d17bbb041b9bf6b25b89264ee566830b60609e58491b44583d8541f15",
|
||||
"author_ext.cu": "669f166e18ce9a3f63fc723db8b0a8b74f7fa4757194b1bd65b4cf6008a7787e"
|
||||
},
|
||||
"torch": "2.14.0+cu130",
|
||||
"torch_cuda": "13.0"
|
||||
},
|
||||
"build_or_cache_seconds": 0.43172739800502313,
|
||||
"case": "frozen--reference--epoch-001",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 1200,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "reference",
|
||||
"diagnostic_simulation_seconds": 6.522308558000077,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 1200,
|
||||
"first_failure_tick": -1,
|
||||
"full_APL_history_recorded": true,
|
||||
"full_queue_hashes_recorded": true,
|
||||
"full_sequence_bitwise_audit_performed": true,
|
||||
"full_tick_state_hashes_recorded": true,
|
||||
"future_generated_decay_tail_included": false,
|
||||
"hidden_early_stop": false,
|
||||
"input_sha256": {
|
||||
"base_weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"requests.npz": "571d09c32cabd45af79f71f0f27f7adcc38b9c65daf5ca124366ea439e088143",
|
||||
"spec.json": "f3694ba234de54b8f4c943f0ea24272eee5bb34f2669191f8504ef650bfa569b"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1200,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "conditioning_interface_preflight_not_full_conditioning",
|
||||
"pass_all": true,
|
||||
"pass_all_scope": "single fixed-weight trial finite/recording integrity only; no learning or equivalence claim",
|
||||
"peak_allocated_vram_bytes": 518003712,
|
||||
"peak_reserved_vram_bytes": 541065216,
|
||||
"pending_generated_count": 18,
|
||||
"pending_initial_zero_prefix": 0,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 21,
|
||||
"requested": 69,
|
||||
"sealed_ae_backend_sha256": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"shared_apl_component_oracle_limitation": true,
|
||||
"source_provenance": {
|
||||
"candidate_sha256": "af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b",
|
||||
"diagnostic_additions": [
|
||||
"generated/applied/pending trace split",
|
||||
"fixed-sequence bitwise audit",
|
||||
"source provenance and final APL state disclosure"
|
||||
],
|
||||
"module_globals_patched": false,
|
||||
"only_dynamics_change": "fixed zero-initialized 0/18-step h32 delay before unchanged end g write",
|
||||
"sealed_source_sha256": {
|
||||
"ae_backend": "03758d07572f4b44d272059d9308fac534268ad201b57bdd77d69fee95e67278",
|
||||
"af_queue": "d72003d98f0f1624b12126eff50bd361c43d888f4a64d90ba9247a58976f1961",
|
||||
"ag_gpu": "69f5d893f47dafff4ef7c3186c3df0b9014666b32c8f4e943b57016bec92b18a",
|
||||
"ag_worker": "21ceec65fe42581dc55872010e0025d660e80358905f1cf4df1dadf341a3b291"
|
||||
},
|
||||
"source_diff_sha256": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03"
|
||||
},
|
||||
"state_units": "SI volts",
|
||||
"steps": 1200,
|
||||
"total_spikes": 33390,
|
||||
"wall_seconds": 8.090172850999807,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
Reference in New Issue
Block a user