Seal Phase 4AN exact continuation engineering evidence
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": 0,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"final_apl_state_nonzero": false,
|
||||
"final_apl_state_u32_bits": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 5,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 5,
|
||||
"pending_application_tick_stop_exclusive": 23,
|
||||
"pending_generated_count": 5,
|
||||
"pending_generated_tick_start": 0,
|
||||
"pending_generated_tick_stop_exclusive": 5,
|
||||
"pending_initial_zero_prefix": 13,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "81cc5530fab22979a78429b863d208e62d9249ddff3a0a06de0edbda0c688aaf",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 5
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"complete": true,
|
||||
"counts_scope": "segment_only",
|
||||
"files_sha256": {
|
||||
"apl-component.json": "7a49a1a8fbe42b3965913b8e483ef729ba1f13c211f8da7f10b4b2cd142e6882",
|
||||
"apl-pending-tail.float32.npy": "f4c6097555e9bca1551d23df2751afd3d8ae6914559233707de894b51c9dd200",
|
||||
"apl-timing-audit.json": "e683ba6046e405c6787e6861cfff6b2d5df8b38be7684351810dc2bb8fb65b76",
|
||||
"finite-audit.json": "4d5ecd025cf500818de9c269269596c604b385c795a80442384ae688cb907066",
|
||||
"overlay-audit.json": "bb8ddbcdb4f17c36a7352f0aa863f68e0ba92c3c8507bd99b85df224035d9379",
|
||||
"overlay-input.npz": "0b219eab09c30dc3af31fef7e6395a9bec1234090abbb72db096da833fed82c5",
|
||||
"overlay-manifest.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"requests.csv": "d2250de77a7723e0237f53b54038377b5502ccf3a549cc08f3344a1e924b99ac",
|
||||
"runtime-provenance.json": "583ac2f17db4e6f29cf049b033c8877383b886bade220b8b8350657e0084ac70",
|
||||
"sealed-gpu-source.diff": "0584f865885b18e6a36870a7ecfbbc98d7a94274fa5e9e073e7cf97597d78a03",
|
||||
"source-audit.json": "d644f0265632f117bba0e045d26fb266765b1d005a89426b6242f3de034be935",
|
||||
"state.npz": "67943c878314d88e6c34ee89a08ec61dfb9c66c43279766f54946556962b67a3",
|
||||
"summary.json": "357c640840a54db7c798cfb157f4fadf97ce9f16b6dca5958939ce689a237eef",
|
||||
"terminal-queues.npz": "749a93983ffcf0b89e2b0f67f51bc11134c575d7e8d0230d6ebe333fa20c28ab"
|
||||
},
|
||||
"global_next_tick": 5,
|
||||
"global_tick_offset": 0,
|
||||
"pre_seal_state_integrity_independently_proven": false,
|
||||
"schema": "phase4an-checkpoint-v1",
|
||||
"segment_steps": 5,
|
||||
"state_binding_origin": "checkpoint seal; fresh runtime receipt did not hash state.npz"
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"accepted_arriving_edges": 0,
|
||||
"all_finite": true,
|
||||
"arriving_edges": 0,
|
||||
"finite_observed_ticks": 5,
|
||||
"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"
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
tick,neuron_idx,attempted,accepted,rejected
|
||||
|
+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": "4d5ecd025cf500818de9c269269596c604b385c795a80442384ae688cb907066",
|
||||
"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/cases/zero--chain--light-s00/requests.npz": "517b500f350b0825f7cc9c639beb62d06764de286b13e0835cb26c5f83ff106a",
|
||||
"/data/digital-drosophila/experiments/phase4an-engineering-validation/cases/zero--chain--light-s00/spec.json": "ddb53c3d067aa3c85c81f2525db59dc6ab8eda1bfeb910fd7a3828222499e5ff",
|
||||
"/data/digital-drosophila/experiments/phase4an-engineering-validation/overlays/zero.json": "11b668978f3070dad26d99d9310bebefa0731fa0d4e361e8dc0ef02a213277c2",
|
||||
"/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": "357c640840a54db7c798cfb157f4fadf97ce9f16b6dca5958939ce689a237eef",
|
||||
"terminal_queues_sha256": "749a93983ffcf0b89e2b0f67f51bc11134c575d7e8d0230d6ebe333fa20c28ab",
|
||||
"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": 0,
|
||||
"accepted_requests": 0,
|
||||
"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": 0,
|
||||
"applied_trace": null,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"brain_tail_advanced": false,
|
||||
"closed_loop_branch_integrals_claimed_equal": false,
|
||||
"final_apl_state_float32": [
|
||||
0.0,
|
||||
0.0
|
||||
],
|
||||
"final_apl_state_nonzero": false,
|
||||
"final_apl_state_u32_bits": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"finite_generated_sequence_only": true,
|
||||
"full_sequence_bitwise_audit_performed": false,
|
||||
"future_apl_decay_or_feedback_generated": false,
|
||||
"generated_rows": 5,
|
||||
"generated_trace": null,
|
||||
"pending_application_tick_start": 5,
|
||||
"pending_application_tick_stop_exclusive": 23,
|
||||
"pending_generated_count": 5,
|
||||
"pending_generated_tick_start": 0,
|
||||
"pending_generated_tick_stop_exclusive": 5,
|
||||
"pending_initial_zero_prefix": 13,
|
||||
"pending_queue_drained": false,
|
||||
"pending_raw_sha256": "81cc5530fab22979a78429b863d208e62d9249ddff3a0a06de0edbda0c688aaf",
|
||||
"pending_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"pending_trace": "apl-pending-tail.float32.npy",
|
||||
"scope": "Original D18 ring AST retained; generated/applied histories not recorded",
|
||||
"steps": 5
|
||||
},
|
||||
"arriving_edges": 0,
|
||||
"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.46640717599802883,
|
||||
"case": "seed_validation-physiological-00-s1073741825",
|
||||
"checkpoint_continuation_used": false,
|
||||
"complete": true,
|
||||
"completed_ticks": 5,
|
||||
"counts_match_sparse_events": true,
|
||||
"cpu_sync_each_tick": true,
|
||||
"diagnostic_mode": "light",
|
||||
"diagnostic_simulation_seconds": 0.23950218899699394,
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"entire_neural_trial_executed": true,
|
||||
"explicit_steps_executed": 5,
|
||||
"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": "517b500f350b0825f7cc9c639beb62d06764de286b13e0835cb26c5f83ff106a",
|
||||
"spec.json": "ddb53c3d067aa3c85c81f2525db59dc6ab8eda1bfeb910fd7a3828222499e5ff"
|
||||
},
|
||||
"kc_targets_present": 4064,
|
||||
"learning_pass_claimed": false,
|
||||
"max_steps": 1000,
|
||||
"nodes": 166700,
|
||||
"oracle_validation_claim": false,
|
||||
"outer_learning_status": "not evaluated by this single-trial executor",
|
||||
"outer_protocol": "phase4an-engineering-validation-no-training",
|
||||
"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": 538968064,
|
||||
"pending_generated_count": 5,
|
||||
"pending_initial_zero_prefix": 13,
|
||||
"pending_tail_shape": [
|
||||
18,
|
||||
4064
|
||||
],
|
||||
"performance_runtime_claim": false,
|
||||
"precision": "float64",
|
||||
"record_history": false,
|
||||
"rejected_requests": 0,
|
||||
"requested": 0,
|
||||
"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": 5,
|
||||
"total_spikes": 0,
|
||||
"wall_seconds": 1.9011057180032367,
|
||||
"within_trial_weight_updates": false
|
||||
}
|
||||
Reference in New Issue
Block a user