33 lines
1.9 KiB
JSON
33 lines
1.9 KiB
JSON
{
|
|
"version": "Brian2 2.5.1",
|
|
"source_commit": "577bb35ec677947d6f3d4af367a8a4b3b88815ee",
|
|
"method": "Read official source and tests; no executable oracle run",
|
|
"claims": [
|
|
{
|
|
"claim": "Every differential variable flagged unless refractory has writes guarded by not_refractory; this includes g. Reset explicitly bypasses the guard.",
|
|
"source": "https://github.com/brian-team/brian2/blob/577bb35ec677947d6f3d4af367a8a4b3b88815ee/brian2/groups/neurongroup.py",
|
|
"lines_1based": [[794,802],[334,351]]
|
|
},
|
|
{
|
|
"claim": "Default non-legacy refractory release compares integer elapsed steps >= refractory steps; with 2.2 ms and dt 0.1 ms release is n+22.",
|
|
"source": "https://github.com/brian-team/brian2/blob/577bb35ec677947d6f3d4af367a8a4b3b88815ee/brian2/groups/neurongroup.py",
|
|
"lines_1based": [[178,198],[215,239]]
|
|
},
|
|
{
|
|
"claim": "Default schedule places groups before thresholds, then synapses, then resets. Newly accepted g at n+22 is integrated in the next groups slot; this is not a 23-step refractory duration.",
|
|
"source": "https://github.com/brian-team/brian2/blob/577bb35ec677947d6f3d4af367a8a4b3b88815ee/brian2/core/network.py",
|
|
"lines_1based": [[34,42]]
|
|
},
|
|
{
|
|
"claim": "Official tests assert ten-dt refractory gives ten-dt spike spacing and reject same-tick writes on spiking refractory targets.",
|
|
"source": "https://github.com/brian-team/brian2/blob/577bb35ec677947d6f3d4af367a8a4b3b88815ee/brian2/tests/test_refractory.py",
|
|
"lines_1based": [[120,127],[232,248]]
|
|
}
|
|
],
|
|
"caveats": [
|
|
"Assumes default schedule/clocks and legacy.refractory_timing=False.",
|
|
"The version 2.5.1 prose refractory documentation uses an inconsistent <= example; use pinned implementation and tests for the release boundary.",
|
|
"Synthetic reset/refractory ablations in this audit retain frozen Euler and arrival timing; they are not a Brian2 reproduction."
|
|
]
|
|
}
|