Seal Phase 4AK frozen D18 independent validation
This commit is contained in:
+17
-15
@@ -4,27 +4,29 @@
|
||||
|
||||
## 最新结果
|
||||
|
||||
Phase 4AJ 已封存:**PASS-FIXED-CAL-APL-TIMING-HYPOTHESIS**。只在独立分支比较 graded-APL h 当步施加与固定延迟 18 tick(1.8 ms),没有改 gain、LIF、输入、符号或 connectome。
|
||||
Phase 4AK 已正式封存:**PASS-FROZEN-D18-INDEPENDENT-VALIDATION**。直接调用 Phase 4AJ 已冻结的 D18 实现;本轮没有再改延迟、增益、LIF、输入编码或判据。
|
||||
|
||||
| 检查 | 结果 |
|
||||
|---|---|
|
||||
| 数值门/完整 CAL 执行 | PASS;每臂 60 主运行+12 重复 |
|
||||
| D0 对照复现 | PASS;精确复现封存 AG |
|
||||
| D0 表示门 | FAIL,仍是原约 1.2% 的平均 KC 活跃比例不足 |
|
||||
| D18 表示门 | 两模式 PASS;平均 KC 活跃比例 3.4482%/3.4072% |
|
||||
| 气味对通过数 | D18 均 11/15;D0 为 12/15、13/15,并非全面提高 |
|
||||
| 旧文件完整性/五组冻结参考新回归 | 全部 PASS |
|
||||
| 验证输入 | 模式 | 平均 KC 活跃比例 | 通过气味对 | 原完整表征门 |
|
||||
|---|---|---:|---:|---|
|
||||
| 原六气味、新种子 | physiological | 3.4670% | 12/15 | PASS |
|
||||
| 原六气味、新种子 | matched_energy | 3.4564% | 11/15 | PASS |
|
||||
| 后六气味、新种子 | physiological | 3.2767% | 14/15 | PASS |
|
||||
| 后六气味、新种子 | matched_energy | 3.2579% | 14/15 | PASS |
|
||||
|
||||
1.8 ms 是工程调度假设,不是 MaleCNS APL 生理延迟测量。Brian 独立 LIF 对照仍共享冻结 APL 算术,已单独审计组件;不能称全组件独立 CPU 证明。未替代的 1212 条非 KC fast-APL 边限制保持原样。
|
||||
120 条主轨迹、24 次逐位重复完整通过;两个旧 D18 对照精确复现,四个预定 Brian probes 和六项 APL 组件审计通过。五组旧冻结参考的事件、计数和最终 V/g 逐位一致,所有旧登记文件校验通过,无 mismatch。
|
||||
|
||||
这只是固定 100 ms 校准通过,**学习尚未可用,没有生成 candidate,也未替换正式 runtime**。原 Phase 4AG FAIL 和其他封存结果全部保留。
|
||||
后六气味未参与 AG/AJ 校准,但旧 4L 曾模拟全十二气味;不声称它们历史从未被模拟。matched_energy 匹配预期输入,不是实际接受事件数完全相等。种子审计仅覆盖列出的静态来源,不证明所有历史或随机流的绝对独立性。
|
||||
|
||||
1.8 ms 仍是工程时序假设,不是 MaleCNS APL 实测延迟。Brian 独立 LIF/FIFO 仍共享冻结 APL 算术,不能称全组件独立证明。既有 5845 条 fast-APL 出边置零约定及其中 1212 条非 KC 边未替代的限制保持不变。
|
||||
|
||||
**表征验证通过不等于学习可用。** 没有更新权重、没有 learned candidate,也未替换正式 reference/runtime;所有旧 PASS/FAIL 原样保留。完整新轨迹仍只在服务器。
|
||||
|
||||
## 下一步
|
||||
|
||||
冻结 D18,先做新 seeds,再做未参与 AG/AJ 校准的后六气味验证;分别套用原门槛,不搜索参数、不合并均值救失败。先审计种子复用与静态输入来源;不提前读取旧 held-out 动态输出。旧 4L 曾运行全 12 气味,因此不称这些为项目历史从未模拟的气味。
|
||||
冻结当前成功分支,先验证气味特异的 eligibility/credit 分配与真实 KC→MBON 功能传递,再考虑带控制的 conditioning。不能仅凭 KC 稀疏、距离指标或 delta-weight 变化宣布记忆成功;不直接进入游戏、decoder、RL、视觉或 Web。
|
||||
|
||||
上述下一阶段尚未执行。通过外推之后才考虑 credit specificity 和功能性记忆门,不能直接进入 conditioning/游戏。raw/CSR/W_syn/sign/APL 参数/eligibility-v2/14232-edge mask 与旧冻结产物不变。
|
||||
下一关尚未执行,须先明确协议与停止条件。raw/base CSR/W_syn/sign、既有 APL 参数、eligibility-v2、14232-edge mask 与所有历史封存产物继续只读。
|
||||
|
||||
完整新事件数据在服务器。Git 同步代码、小报告与校验,不是全量异机备份。
|
||||
新实验 payload 为 6,154,144,988 bytes(约 6.15 GB),已生成 SHA-256 与 manifest。Git 同步代码、小报告和校验,不是全量异机备份。
|
||||
|
||||
[结果解释](docs/progress/phase4aj-interpretation.md) · [正式状态](registry/phase4aj-apl-timing/evidence/audit/final-status.json) · [下一关计划](docs/progress/phase4aj-next-validation.md) · [封存校验](registry/phase4aj-apl-timing/seal-verification.json)
|
||||
[结果解释](docs/progress/phase4ak-interpretation.md) · [正式状态](registry/phase4ak-apl-timing-validation/evidence/audit/final-status.json) · [新种子验证](registry/phase4ak-apl-timing-validation/evidence/validation/seed_validation/summary.json) · [后六气味验证](registry/phase4ak-apl-timing-validation/evidence/validation/novel_to_aj/summary.json) · [封存校验](registry/phase4ak-apl-timing-validation/seal-verification.json)
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
# Phase 4AK:冻结 D18 的验证与解释边界
|
||||
|
||||
状态:**已完成并封存,`PASS-FROZEN-D18-INDEPENDENT-VALIDATION`。** 两块共 120 个主运行、24 次精确重复及全部预声明门禁通过。本文依据本地已下载、哈希校验的新 AK 最终证据解释结果;这是冻结 D18 分支的表征验证 PASS,不是学习成功或 learned candidate。
|
||||
|
||||
## 本阶段检验什么
|
||||
|
||||
检验已经固定的 AJ D18 分支,能否在预声明的新种子和未参与 AG/AJ 校准的六个气味上,继续满足完整原 4L 表征判据。本阶段没有再次选择 delay 或调整 gain,也没有训练、更新塑性权重或产生 learned candidate。
|
||||
|
||||
两块输入、稀疏请求、源码 SHA、分析规则与停止规则已在任何新脑轨迹前锁定:
|
||||
|
||||
| 验证块 | 固定输入 | 主运行 | 技术重复 |
|
||||
|---|---|---:|---:|
|
||||
| `seed_validation` | 原六个 CAL 气味 × 五个预声明种子 × 两种输入模式 | 60 | 12 |
|
||||
| `novel_to_aj` | 原静态面板后六个气味 × 同五个种子 × 两种模式 | 60 | 12 |
|
||||
|
||||
每次仍为 100 ms;模式为 `physiological` 与 `matched_energy`。每气味、每模式重复首种子,重复用于逐位完整性检查,不是额外随机样本。只有种子块的数值、重复及全部原表征门同时通过,才允许启动第二块。未解锁、未执行的条件不记为 PASS;失败不换种子或气味重试。
|
||||
|
||||
冻结的动力学包括:float64 LIF、float32 legacy graded APL、`dt=0.1 ms`、普通突触延迟 18 步、不应期 22 步、原图与符号/权重/阈值,以及 APL `tau=20 ms`、`gain=0.01`、`normalization=1`。整条生成的 graded-APL `h` 延后 18 步应用,包含其依赖的 PN/KC 实际放电反馈;不是只延后某一种来源。
|
||||
|
||||
APL 仍在步末、reset 之后无条件写入 KC 的 `g`,不新增不应期守卫;仍先把 `h32` 提升为 float64,再乘 SI 换算系数,最后单独相减。保存起始正零填充及窗口末尾尚未应用的队列槽,不推进额外脑时间来清空尾部。这里的 1.8 ms 是被冻结的工程假设,不是经本阶段测量的生物学参数。
|
||||
|
||||
## 原六项门禁,不以汇总平均值补救失败
|
||||
|
||||
每个“验证块 × 模式”分别保留以下六项条件:
|
||||
|
||||
1. 平均 KC 活跃比例处于闭区间 `[3%, 9%]`。
|
||||
2. 所有主运行的 KC 活跃比例最小值严格大于 0。
|
||||
3. 所有主运行的最大值严格小于 50%。
|
||||
4. 同气味 Jaccard 均值大于异气味 Jaccard 均值。
|
||||
5. 异气味欧氏距离均值大于同气味欧氏距离均值。
|
||||
6. 至少 3/15 对气味通过各自的分离判据。
|
||||
|
||||
第六项不是用全体气味的共同基线:每对气味的五个同种子跨气味距离,对照这两个气味各十个种子间距离,合计二十个 within 距离。每个模式共 60 个 within 比较、75 个 between 比较;这些成对统计不是 60/75 个独立生物样本。
|
||||
|
||||
四个分组须分别通过,不合并十二气味均值来挽救某一分组。原数值完整性、逐位技术重复、generated/applied/pending 时序检查、固定对照、oracle/component 检查、旧冻结完整性及五个参考回归仍是必要条件。科学判据失败与执行不完整分别报告,不调阈值、不换观察窗口、不扫描参数。
|
||||
|
||||
## 种子与气味的“新”,各有明确范围
|
||||
|
||||
五个种子为 `1073741825–1073741829`,即 `2^30` 后的首五个正整数。选择依据是预声明静态 namespace 审计与固定算术规则,不依据活动量、可分性或运行成败。
|
||||
|
||||
静态审计列出了 **217 个本地文件快照**及其哈希;其中 **43 项**有明确的远端路径和 SHA 映射。封存 `prepare.py` 在写入预注册文件前,遍历 `seed-audit.json.inspected_files` 中非空的 `remote_path`,逐项断言远端文件哈希等于该行 `sha256`,再将其合入 `preregistered.json.inputs`。本次本地交叉复核确认:43 项全部出现在预注册的 51 项输入清单中,`path/sha256` **43/43 匹配、0 项不符**;预注册同时记录 `before_new_requests_and_brain_trajectories=true`。没有臆造独立的“43 项 PASS”字段或远端复查日志。
|
||||
|
||||
对应的 SHA-256 为:`model/seed-audit.json` → `e14c0deb94432787aa1cac7618254aeb3db0bcd5b1d8328e20428496d38b220a`;`model/prepare.py` → `d8b8315f8800b3efdc7548620f0fae85da21a12b753b9985dd623bd529e2c50f`;`protocol/preregistered.json` → `c9cda32a74b45df192824405e65b98571b6febcddd5f63d78e5edefac619b300`。43 项不是完整远端历史,217 项也不是所有历史执行的输入注册表。
|
||||
|
||||
审计考虑了列出的配置与已解释派生规则,但不覆盖未列出的 server-only 文件、CLI 覆写、终端历史、其他分支/版本、外部调用者或其他用户运行。因此准确说法是“在声明的静态审计范围内未发现重用”,不是“全历史绝对独立”。新整数也不证明 PRNG 流在统计上独立。跨气味、模式及两块继续共享同一组种子,是配对设计,不是彼此独立的生物重复。
|
||||
|
||||
旧 4L 代码曾遍历完整十二气味面板。因此后六气味只称 **“未参与 AG/AJ 校准的气味”**,不能称“项目历史从未模拟的气味”。本阶段可读取固定面板、外部响应向量、静态 selection 与 PN 映射;不能提前解析旧 heldout 动态结果或混合结果表来挑选输入。完整性哈希读取不透明文件字节,也不授权解析那些旧结果。
|
||||
|
||||
## matched energy 匹配的是预期输入
|
||||
|
||||
输入编码、PN 目标及 RNG 列顺序沿用原规则。`matched_energy` 仍使用完整原十二气味面板的固定中位数 `2.556107997894287`,不对任一六气味子集重算,也不按脑活动重新缩放。
|
||||
|
||||
此模式匹配的是编码器定义下的**预期请求输入量**,不是每次实际生成的请求数、实际接受的请求数或闭环全脑总活动。随机抽样会造成实现值变化;不应期状态也影响请求接受。不能把“matched”解释为各次实际事件、有效输入或抑制积分严格相同,更不能事后补发请求以强制相同。
|
||||
|
||||
## 数值验证能证明到哪里
|
||||
|
||||
新阶段直接调用 SHA 固定的封存 AJ 数值实现,不修改旧模块 globals 或动力学。本阶段完成了两个原 D18 全图输入的逐位身份对照,以及每个验证块首气味、首种子、两种模式的四个 Brian 全图 probes,均通过;六份对应的 component 审计全部通过。probe 的 GPU 运行计入对应六十个主运行,不能重复算为独立样本。
|
||||
|
||||
Brian 一侧独立推进 LIF、实际放电和 FIFO,但 graded APL 算术有意共享冻结的 legacy 组件,并另做原始操作的 component/AST 审计。有限 probes 不能被表述为所有输入、所有硬件或全组件独立 CPU/GPU 等价证明。旧八夹具属于源代码固定的继承证据,不声称本阶段重新运行了八夹具。
|
||||
|
||||
旧 fast-APL 屏蔽仍覆盖 5,845 条出边,graded 替代只作用于 KC;其中 **1,212 条非 KC 出边没有 graded 替代**。本阶段没有修复这一作用范围缺口。即使验证通过,也不证明 upstream AL 环路已得到生物学确认,不证明单一来源具有因果必要性。
|
||||
|
||||
## 最终结果
|
||||
|
||||
以下四模式表来自封存的 `validation/<cohort>/summary.json` 及模式摘要。显示值作舍入,门禁按未舍入数据计算。四个分组均通过原六项条件;3–9% 约束是各分组的**均值**范围,不要求每个运行都至少 3%。
|
||||
|
||||
| 验证块 | 模式 | KC 比例均值 / 最小 / 最大 | 同 / 异气味 Jaccard | within / between 欧氏距离 | 通过气味对 | 完整六门 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| `seed_validation` | physiological | 3.4670% / 2.4360% / 4.4291% | .543794 / .487243 | 9.106586 / 9.867235 | 12/15 | PASS |
|
||||
| `seed_validation` | matched_energy | 3.4564% / 2.5098% / 4.2815% | .523960 / .498134 | 9.350120 / 9.710761 | 11/15 | PASS |
|
||||
| `novel_to_aj` | physiological | 3.2767% / 2.4114% / 4.2077% | .511063 / .444272 | 9.307078 / 10.158885 | 14/15 | PASS |
|
||||
| `novel_to_aj` | matched_energy | 3.2579% / 2.4114% / 4.2077% | .523955 / .449042 | 9.102812 / 10.059135 | 14/15 | PASS |
|
||||
|
||||
- 最终状态为 `PASS-FROZEN-D18-INDEPENDENT-VALIDATION`;`numerical_gate_pass`、`seed_validation_pass`、`novel_to_aj_pass` 均为 true。
|
||||
- 计划、实际完成及有效聚合的主运行均为 **120**;精确重复 **24/24**。两块各完成 60+12,没有以技术重复增加种子样本数。
|
||||
- `novel_dynamics_executed=true`、`novel_unlock_policy_violation=false`,`stopped=[]`:种子块通过后解锁第二块,没有已记录的违规解锁或停止事件。
|
||||
- D18 身份对照 **2/2**、Brian probes **4/4**、component 审计 **6/6**、独立重算的重复检查 **24/24** 通过。此处数量仍受前述有限 probes、共享 APL 算术的证明范围约束。
|
||||
- `regression/old-integrity-after.json` 对原清单 **230,239** 个文件及后续 **AA–AJ** 纳入链条的模型、实验和相关 registry 全部给出 `pass=true`、空 `mismatches`。按原完整性契约排除缓存、venv 等项目;不能把它改述为整台服务器所有文件均被检查。
|
||||
- `regression/frozen-five.json` 的 `pass_all=true`;五个旧 deterministic-v2 参考为 auditory-10hz、auditory-100hz、olfactory-50hz、mechanosensory-50hz、gustatory-50hz。每项的 `step/neuron_idx/counts/v/g` 均 `exact=true`,记录的 dtype/shape 一致。这验证旧参考未漂移,不把旧 float32 参考误说成 D18 新动力学的额外 oracle。
|
||||
|
||||
### 测试及保留的警告
|
||||
|
||||
封存的服务器 `regression/unit-tests.log` 明确记录 **48 tests / OK**,配套 JSON 为 `exit_code=0`、`pass_all=true`;日志 SHA 为 `5206333f1a31fc62671ebe6bdba02f3b2b2f0303f6009e905d7ca94bdc2a666f`。
|
||||
|
||||
本轮执行会话另外记录:本地模型测试 **48/48**,本地与服务器发布/下载工具测试各 **51/51**(本地 28.230 s、服务器 1.642 s)。这些本地及工具测试结果只有会话控制台记录,**未纳入科学 seal,也没有对应的独立仓库日志文件**;不得虚构证据路径。这些是操作与合成测试,不替代科学门禁。
|
||||
|
||||
同一轮 `verify_frozen.py` 控制台仍出现旧 `phase4c.py:308` 的 `torch.as_tensor` 读取只读 NumPy 数组警告;原源码未因本阶段而修改,警告保留,不写成“无警告”。同一进程的五个参考检查均逐位通过。警告的原始记录在本轮执行会话中,未纳入独立封存日志;逐位参考结果则保存在上述封存 JSON。
|
||||
|
||||
本轮 Git 格式检查也有非数值提醒:默认规则返回 2,报告 16,237 项,其中 16,236 项是封存 `requests.csv` 的 CRLF 换行被识别为尾空白。以一次性 `core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol` 识别 CRLF 后,仅剩已登记 `models/male-cns-lif/apl-timing-validation-v1/seed-audit.json:9314` 的末尾空行。没有修改仓库配置或任何封存字节来消除提醒;不能写成“格式检查零提醒”。其余新模型、工具及文档无空白格式异常。实际暂存的 1,305 个模型/registry Git blobs 已按外部回执锚与封存清单逐一校验通过,格式提醒不改变科学 PASS。
|
||||
|
||||
### 封存、发布与本地证据
|
||||
|
||||
发布器记录对模型与实验完整 payload 在复制前后重新验证:模型 **17 个文件、526,864 B**;实验 **2,899 个文件、6,154,144,988 B**。这是 manifest payload 数量和字节数,按封存契约不含自引用 seal 控制文件。
|
||||
|
||||
发布回执 `copied_evidence_files=1283`、`copied_evidence_bytes=4895616`,即复制了 **1,283 个小证据/控制文件、4,895,616 B**。随后本地下载校验覆盖 **1,302 个文件,另加发布回执**;`selected_bytes=6591818`,该字节数包含回执。两份 manifest 自校验和每个实际下载文件的 SHA 均通过。发布/下载的这些计数口径不同,不能相加当作科学样本数。
|
||||
|
||||
| 证据 | SHA-256 |
|
||||
|---|---|
|
||||
| 最终 `audit/final-status.json` | `c49181086ecbd19511b9f1e783afea8f66d0f74348a7b70d7f6c5fa99b4337fc` |
|
||||
| 模型 `model/manifest.json` | `3206a8666718b4a99e09b8384c87dd25895b5d7038d23fad7b93e40379183ccb` |
|
||||
| 实验 `manifest.json` | `25eb7e467eb17c3fa83ffee2e4e82b754f161fd8891e515bed23eeb500c5656d` |
|
||||
| 发布回执 `registry/publication-receipt.json`,亦为下载器必填的外部锚 | `37e85d7f264b844d481aa290918a10c56dfbecdfc7786862166f91d361bf4e62` |
|
||||
|
||||
这些哈希已在本地重新计算并与回执/下载校验记录交叉核对。五参考报告 SHA 为 `020fc362e70c4c0670e200783a8d1682f167f862e59840e8b8d80a4688e22433`;旧完整性报告 SHA 为 `273d4581cb15fb5da851ce19ee005abc15b265fbad4bd0a5bd8738e307fec2d0`。
|
||||
|
||||
发布成功与小证据下载校验不是科学 PASS;小文件证据包不是完整轨迹备份。本地没有下载并重新哈希全部大型轨迹,完整远端 payload 的前后验证由发布回执记录。正式科学 PASS 来自新阶段原始证据重算和最终门禁,而不是复制成功。
|
||||
|
||||
本阶段所有预声明验证块已执行并通过;没有用合并均值挽救失败模式,也没有因结果替换气味、种子或参数。结果支持冻结 D18 在这组新种子及校准未用气味上的表征外推,不支持更宽的全输入、全部硬件、真实生理机制或学习能力声明。
|
||||
|
||||
## 即使全部通过,也不等于学习完成
|
||||
|
||||
本阶段未更新 eligibility-v2,未改变 14,232 条塑性边 mask,未执行 conditioning,未生成 learned candidate,也未连接游戏、decoder、RL 或 reward 接口。最终记录中 `learning_achieved=false`、`candidate_generated=false`、`full_scientific_goal_achieved=false`。
|
||||
|
||||
**下一关 credit specificity 与真实 KC→MBON 功能传递尚未执行。** 后续还须独立验证全脑刺激特异输出,以及带控制的 conditioning;这些是后续门禁,不是本阶段已经取得的结果,不因本轮 PASS 而自动解锁为学习成功。
|
||||
|
||||
## 稳定依据与填表来源
|
||||
|
||||
稳定设计依据为模型目录 `models/male-cns-lif/apl-timing-validation-v1/` 下的 `PROTOCOL.md`、`config.json`、`SEED-AUDIT.md`、`seed-audit.json` 与 `validation.py`。原指标定义来自固定 SHA 的 AG `calibration.py` 与旧 4L `representation`;时序及重复检查来自固定 SHA 的 AJ 实现。
|
||||
|
||||
表格与封存结论仅使用新实验 `experiments/phase4ak-apl-timing-validation/` 下的 `validation/<cohort>/summary.json`、各模式摘要、相关 audit/regression 证据及最终 seal。发布凭据在 `registry/phase4ak-apl-timing-validation/`,已校验的本地小证据位于 `23-ai-gpu/reports/phase4ak-apl-timing-validation/`;工具测试和旧 NumPy 警告的会话来源另行明确标注。以封存哈希和外部回执锚确认版本,不以文件名、阶段名称或本文替代证据。
|
||||
@@ -0,0 +1,81 @@
|
||||
# Phase 4AK — frozen D18 validation, not learning
|
||||
|
||||
Prerequisite: the entire Phase 4AJ fixed-CAL experiment was completed, sealed
|
||||
and published at cb6937666f96b00ae8d435a2cfb2f417ad25c040.
|
||||
Its PASS is not evidence of usable learning. This stage tests the next necessary
|
||||
representation-generalization gate without adjusting the successful branch.
|
||||
|
||||
## No new brain dynamics
|
||||
|
||||
Call the exact SHA-pinned AJ GPU, Brian oracle, comparison and timing code from
|
||||
their original absolute paths. Do not copy or patch their numerical functions,
|
||||
globals, signs, weights, thresholds, APL gain/tau, refractory or delay queue.
|
||||
Keep dt=0.1 ms, anatomical delay=18 steps, and whole generated graded-APL h
|
||||
applied 18 steps later. Preserve positive-zero initialization and pending tail;
|
||||
never advance brain time to drain the tail. Shared APL arithmetic limits the
|
||||
oracle independence claim. The 5845 fast-APL output mask, including 1212
|
||||
unreplaced non-KC edges, is unchanged. No biological measurement claim.
|
||||
|
||||
## Input registration and data boundary
|
||||
|
||||
Read only the four SHA-pinned original static 4L encoder files (panel, vectors,
|
||||
selection, mapping) and pinned encoder configuration/source. Extract only the
|
||||
unchanged pn_drive function AST; do not import or execute unrelated learning
|
||||
experiments. Validate the extraction and request generator against all 60 old
|
||||
AG CAL request/PN-drive arrays before generating any new brain trajectory.
|
||||
Keep the original 12-odor median 2.556107997894287 and original target/RNG column
|
||||
order. Matched energy is expected input, not exactly equal realized events.
|
||||
|
||||
Predeclare both 6-odor x2-mode x5-seed blocks, every sparse request schedule,
|
||||
source hash, gate, and stop rule before any new brain trajectory. Seeds are the
|
||||
fixed first five integers above 2^30, subject to the enumerated static collision
|
||||
audit. They are not chosen using simulation outcomes. Do not claim exhaustive
|
||||
historical uniqueness, statistical independence of RNG streams, or biological
|
||||
replication. Same seed across odors preserves the existing paired comparisons.
|
||||
|
||||
The second six odors are novel to AG/AJ calibration, not never simulated in
|
||||
project history: old 4L traversed the full panel. Never open old heldout dynamic
|
||||
results, mixed old result tables or conditioning/plasticity reports to choose
|
||||
inputs. Full frozen-integrity hashing may read opaque bytes for checksums; that
|
||||
is not permission to parse those outcomes. Static A/B identities are not used
|
||||
to select a favorable subset. No new resource download.
|
||||
|
||||
## Ordered execution
|
||||
|
||||
1. Freshly run the two original AJ D18 fullgraph probe inputs. Verify every
|
||||
scientific output against sealed AJ, allowing only output budget/path
|
||||
differences in spec. Do not fake D0 to use a D0-only helper. Old eight-fixture
|
||||
proofs are source-pinned inherited evidence, not newly rerun fixture claims.
|
||||
2. For original CAL odors on new seeds, fixed first odor/first seed in each mode
|
||||
is a Brian fullgraph probe, with independent LIF/own spikes/FIFO and the
|
||||
existing shared-APL component audit. Any numerical failure stops.
|
||||
3. Complete the 60 seed-validation trajectories plus 12 exact repeats. Reuse
|
||||
the two probe GPU runs rather than duplicate them as independent samples.
|
||||
4. Only if the entire seed block passes numerical, repeat and original
|
||||
representation gates, unlock the second block. Run the first static novel
|
||||
odor/first seed in each mode as two additional Brian probes, then complete
|
||||
that block's 60 trajectories and 12 repeats. All planned conditions remain
|
||||
visible; gated unexecuted cases are NOT PASS and are reported as such.
|
||||
5. Recompute raw evidence, rerun the five old frozen reference trials into new
|
||||
output, verify every frozen artifact, and seal a truthful result.
|
||||
|
||||
Each cohort/mode separately retains every original six-part 4L gate: mean KC
|
||||
fraction in [3%,9%], all runs >0 and <50%, same-odor Jaccard > different-odor,
|
||||
between-odor Euclidean > within-odor, and at least 3 of 15 odor pairs passing
|
||||
their own two-odor within baseline. Every mode has 60 within comparisons and
|
||||
75 between comparisons; each pair has 20 within and 5 between. No pooled
|
||||
12-odor rescue, seed replacement, post-hoc metric/window/gate changes or scans.
|
||||
|
||||
## Outcome scope
|
||||
|
||||
PASS-FROZEN-D18-INDEPENDENT-VALIDATION requires all four cohort/mode gates,
|
||||
complete data, fresh controls, oracle/component checks, exact repeats and old
|
||||
frozen integrity/reference PASS. Scientific failure remains FAIL; incomplete
|
||||
execution is not re-labelled scientific success. Passing does not generate a
|
||||
candidate, establish learning, prove delay biology or repair upstream AL loops.
|
||||
Next required gates remain credit specificity, real KC-to-MBON functional
|
||||
transfer, whole-brain stimulus-specific response, and controlled conditioning.
|
||||
|
||||
All outputs are new under phase4ak-apl-timing-validation. Previous Phase 1–4AJ,
|
||||
base CSR/W_syn/signs, eligibility-v2 and the 14232-edge plastic mask remain
|
||||
read-only. No training, reward interface, game, vision, decoder, RL or Web.
|
||||
@@ -0,0 +1,64 @@
|
||||
# Phase 4AK:仅静态种子审计
|
||||
|
||||
状态:`NO-COLLISION-FOUND-IN-DECLARED-STATIC-SCOPE`。这是输入准备审计,不是科学运行、表征验证或学习 PASS。
|
||||
|
||||
## 固定选择
|
||||
|
||||
使用 `2^30` 后的首五个正整数:
|
||||
|
||||
```text
|
||||
1073741825, 1073741826, 1073741827, 1073741828, 1073741829
|
||||
```
|
||||
|
||||
它们均小于 `2^31`。选择只依据静态声明的历史 namespace 与固定算术规则;没有生成随机输入来挑选、没有检查活动或 separability,也没有读取旧 held-out 动态结果。
|
||||
|
||||
新运行直接把这些整数传给原始 CUDA generator,不增加 odor、mode 或验证块偏移。两验证块、气味及模式继续按已提交计划共享同一组 seeds,以保留配对设计;技术重复重用同一 seed。这不意味着跨气味、模式或验证块的随机流彼此独立,也不是生物重复。运行后不得因结果不利换 seeds。
|
||||
|
||||
## 本次覆盖范围
|
||||
|
||||
先阅读已提交的 `phase4aj-next-validation.md`,随后只审计本地静态源码、配置及 AG/AJ 输入清单。机器记录见同目录 `seed-audit.json`:
|
||||
|
||||
- 217 个静态文件,每个记录 workspace-relative 路径、字节数和 SHA-256。
|
||||
- 1,432 条 seed/RNG 相关源码或配置行保留准确行号;词法证据包括测试与非 RNG 的 `seed_node`,不把每一数字都当成真正 RNG seed。
|
||||
- 检索范围为文件中列出的 12 个 source 根目录内 `.py/.yaml/.yml/.json`,排除名字含 manifest/checksum 的文件;另纳入已提交计划与明确允许的 AG/AJ protocol 静态文件。
|
||||
- 完整文件文本未发现五个新种子的十进制字面值;已检查的配置及派生规则也未发现重用。
|
||||
- AG 和 AJ 的 `protocol/calibration-cases.json` 均为 60 项,seeds 为 `51101–51105`,odor indices 为 `0–5`,两份文件 SHA 完全相同:`d91994c77db82cb40a258c92b222e0d7b28338ffe98764bd600988dae6f72754`。
|
||||
|
||||
没有导入或执行旧源码,没有运行 GPU/脑实验,没有访问网络或远程服务器,没有打开旧 `kc-representation`、`eligible-edges`、`plasticity-magnitude`、`conditioning` 或包含它们结果的综合报告。源码中的旧路径字符串是静态文本,不代表这些路径的输出被读取。
|
||||
|
||||
## 不能漏掉的派生规则
|
||||
|
||||
| 静态来源 | 已声明规则/占用范围 |
|
||||
|---|---|
|
||||
| 4A–4D | 配置中的 `41xxx–44xxx`;4C visual seed 加 `1/2/3/4/10+j`;4D 还内联 `44301–44303`。 |
|
||||
| 4E | `45000 + SHA256(layer)前4字节模1000000`,再加 amplitude/rate/sparsity/window 派生偏移;保守保留完整 hash 输出范围,不读取旧最优条件。 |
|
||||
| 4F/4G | `46101–46103`、`47001–47005`、`47101–47103`、`47201–47205`、`47300`、`47400`、`47901/47902`。4G 的 `stable_seed` 定义被记录,但其源码没有调用,不能宣称已执行。 |
|
||||
| 4H–4K | 训练 seed 加 trial index;4J calibration base 加 odor index、evaluation seed 加 `odor_index*100`;4I 固定随机集合 seed `49301`;若干 DAN helper 接收 `seed+991`,显式 pulse 路径不实际抽样,仍保守记录。 |
|
||||
| 4L–4Q | `51201–51205 + pairing(1..100)`,包括 `ts+pairing` 别名;评估 `51301–51305`;4N random-US 再加 `700000`。`512xx/513xx` 不可当作空白 namespace。 |
|
||||
| 4P/4Q/4R | 旧 odor seed 有 `seed+odor_index*100`;`52101–52105` 和 `52201–52205` 已明确声明。random-US 包括 `930000/950000+actual`;4Q formal 还使用 `940000+train_seed*1000+pairing`。 |
|
||||
| 4S | `54101–54105` 或 `55101–55105 + odor_index*100000`;control 加 `975000`;formal `[61000,62000,63000,64000,65000]+pairing`,评估 `71001–71005`。 |
|
||||
| 4T | `86101–86120` 或 `87101–87120 + odor_index*1000000`;live-US RNG 加 `9700000`。 |
|
||||
| 4U | `50000000 + odor_index*2000000 + seed`,seed 为 `118101–118120` 或 `119101–119120`;control 另加 `29000000`。按已声明最多 12 气味取保守 index `0..11`,最大列出参数为 `101119120`。 |
|
||||
| 4V/W/Y/Z、4AB terminal scope | `80000000 + odor_index*1000000 + seed + block*1000003`;seed 包括 `131101–131103/141101`。1000 ms 以 120 ms 分块,保守含 `block=0..8`;offset 模式也先生成这些块再清零,不能忽略 RNG 使用。 |
|
||||
| 4AE | 数值夹具固定 seed `410301`。 |
|
||||
| AG/AJ、AH/AI | AG/AJ 每 case 直接使用 `51101–51105`,没有旧 4P 的 odor 偏移;AH/AI 使用既有轨迹重建,并非新 RNG 流。AF/motif 的 `seed_node(s)` 是 neuron IDs,不是 RNG seeds。 |
|
||||
|
||||
这些固定配置和已解释公式保守保留在 `[0, 200000000]` 排除区间;这不是说区间内所有整数都实际用过。新种子在该区间之外。完整规则、源码路径和原始行见 JSON。
|
||||
|
||||
## SHA 与远端核验契约
|
||||
|
||||
本地 `phase4l.yaml` 的 SHA 与 AG-r2 已登记 `olfactory-grounding-v1/phase4l.yaml` 相同;本地 `phase4p_revalidate.py` 与已登记 `deterministic-runtime-v2/phase4p_revalidate.py` 相同。
|
||||
|
||||
JSON 的 `inspected_files` 提供 `local_path/sha256/remote_path`。仅对有确切模型相对路径且 SHA 匹配预注册的 AG/AJ sources、两个上述输入 pin,以及明确的 experiment/protocol 副本填写 remote_path,共 43 项。remote_path 均相对于 `/data/digital-drosophila`。其他本地平铺副本一律为 null,不能猜服务器子目录。
|
||||
|
||||
主流程应在注册前对非 null 远端路径再次校验 SHA,并执行自身的旧文件及 manifest-chain 完整性检查;本静态审计不替代服务器完整性验证。
|
||||
|
||||
## 严格限制
|
||||
|
||||
1. 未审计未列出的 server-only 文件、终端历史、CLI 覆写、其他分支/历史版本、外部包或其他用户的运行;因此不能说全历史绝对未用过。
|
||||
2. 配置中允许某 seed 不等于历史实际执行过;反之,任意 `reset(seed)` 或外部 caller 可以传入未在配置里列出的整数。词法检索与命名调用点复核不是完整 Python 数据流证明。
|
||||
3. 没有完整历史执行输入注册表;只审计 AG/AJ 两份明确静态 CAL 清单,没有读取旧动态输出来反推使用情况。
|
||||
4. 新整数不构成 PRNG 流统计独立性的数学证明。后六气味仅称“未用于 AG/AJ 校准”,不是项目历史从未运行过。
|
||||
5. 主代理同时创建的 Phase 4AK 文件不属于历史检索范围,避免候选自身造成字面碰撞;本记录必须在新轨迹前纳入预注册。
|
||||
|
||||
结论仅为:这五个值在所列静态证据及配置派生范围内未发现重用,符合本轮预声明选择规则。未开始验证块、conditioning、参数扫描或候选升级。
|
||||
@@ -0,0 +1,18 @@
|
||||
2d3996933b6e5a31e6a737ade5f3ae6869ffd03e01002c793eccf9b4f71e987d PROTOCOL.md
|
||||
35e8bfe1bff62f3a5d9295c785e1b8cec8a2393eaa67d6c683046e48f30feb56 SEED-AUDIT.md
|
||||
1718d8b01ece24930ff138f25c88f2f0e0f1cf69ad0ba655e5a0de5083e64df2 config.json
|
||||
5e4e500d5ec777bb8ae7ff77ac9a7279bfe995b1a17be2baededdbe065c98b73 context.py
|
||||
0061689abb1832e963718bd836bc8a50009ee38b258143a753b4d59e63414925 encoder_inputs.py
|
||||
7eb638c357cec7f5f85032312c50a616402b5a8a9ab5aa0268c181f6c3ae0ce5 finalize.py
|
||||
d8b8315f8800b3efdc7548620f0fae85da21a12b753b9985dd623bd529e2c50f prepare.py
|
||||
bba6c4a98c6edf1eaba60b8030a9eca646da7dd30b74b2a0c16e374efd022bfa run_case.py
|
||||
3d9890f11f299c07956faa5c0a9ebe2ea28ade58d8acf01a8631c17025073345 run_suite.py
|
||||
8a6629f8cd991cf309b508c670b3009737f9b5f5e1f72560fa5bd4b1ff0bc64d runtime_bridge.py
|
||||
e14c0deb94432787aa1cac7618254aeb3db0bcd5b1d8328e20428496d38b220a seed-audit.json
|
||||
f1b3b8a0ca9bc41152485c05fd5f24fb7bb1f76c6ea111ffb941ae1225d914fe test_encoder_inputs.py
|
||||
a85466891352c15b3103d30e7229734ad6694c8a1347d5e0747da3315223c203 test_final_status.py
|
||||
bc01a5ff38d79a7b66ab2eb9e6731164bb8a1e15b5b5c0c1655161c24e2c37cf test_runtime_bridge.py
|
||||
03f5aacb5a1f9460d10b30744100a43c57e5488d32dada79c888529943c82cf0 test_validation.py
|
||||
3464091a4cc2cba18946cb9c9b3d12a69bd3f79f1001096234b3a8467dc602c5 validation.py
|
||||
a736b774e39ff0ad863e8efc720bd5f9ed7d30261776bb57f0a716a7052dba5a verify_frozen.py
|
||||
3206a8666718b4a99e09b8384c87dd25895b5d7038d23fad7b93e40379183ccb manifest.json
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"phase": "4AK",
|
||||
"name": "apl-timing-validation-v1",
|
||||
"human_authorization": "允许独立新模型分支测试动力学假设",
|
||||
"gpu_uuid": "GPU-79f3a85d-adce-7833-7003-6488140ca596",
|
||||
"neurons": 166700,
|
||||
"edges": 25582938,
|
||||
"raw_weight_sum": 124177617,
|
||||
"apl_delay_steps": 18,
|
||||
"dt_ms": 0.1,
|
||||
"apl": {"tau_ms": 20.0, "gain": 0.01, "normalization": 1.0},
|
||||
"validation": {
|
||||
"seeds": [1073741825,1073741826,1073741827,1073741828,1073741829],
|
||||
"modes": ["physiological", "matched_energy"],
|
||||
"duration_ms": 100.0,
|
||||
"odor_count": 6,
|
||||
"repeat_first_seed_each_odor": true,
|
||||
"cohorts": ["seed_validation", "novel_to_aj"],
|
||||
"median_scope": "unchanged original frozen 12-odor panel",
|
||||
"median_mapped_response_sum": 2.556107997894287,
|
||||
"full_oracle_policy": "first static odor, first seed, each mode, for each cohort",
|
||||
"unlock_novel": "Complete seed_validation execution, representation and repeat gates must pass before any novel-to-AJ brain trajectory"
|
||||
},
|
||||
"gates": {"sparse_min_fraction": 0.03, "sparse_max_fraction": 0.09, "max_fraction_strict": 0.5, "min_fraction_strict": 0.0, "minimum_separable_odor_pairs": 3, "same_jaccard_gt_between": true, "between_euclidean_gt_within": true, "both_modes_required": true, "finite_required": true, "repeat_exact_required": true},
|
||||
"control_cases": ["cal-physiological-00-s51101", "cal-matched_energy-00-s51101"],
|
||||
"output_budget_bytes": 25769803776,
|
||||
"training": false,
|
||||
"candidate_generation": false,
|
||||
"old_heldout_dynamic_access": false,
|
||||
"new_validation_dynamic_execution": true,
|
||||
"historical_never_simulated_odor_claim": false,
|
||||
"universal_seed_independence_claim": false,
|
||||
"selection_policy": "Fixed source panel order, both cohorts and input schedules registered before any new trajectory. Stop on numerical failure or seed-block representation failure; retain all results, no replacement seeds/odors, no tuning, no pooled gate rescue.",
|
||||
"hypothesis": "The already frozen AJ D18 operator generalizes to new audited seeds and six odors not used in AG/AJ calibration. No change whatsoever to dynamics, input transform, temporal window, graph, signs, APL mask or metric definitions."
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
"""A new validation envelope; sealed brain implementations remain read-only."""
|
||||
import hashlib
|
||||
import importlib.util
|
||||
import json
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
sys.dont_write_bytecode = True
|
||||
|
||||
ROOT = Path('/data/digital-drosophila')
|
||||
MODEL = Path(__file__).resolve().parent
|
||||
EXP = ROOT / 'experiments/phase4ak-apl-timing-validation'
|
||||
AJ_MODEL = ROOT / 'models/male-cns-lif/apl-timing-lab-v1'
|
||||
AJ = ROOT / 'experiments/phase4aj-apl-timing'
|
||||
AG_MODEL = ROOT / 'models/male-cns-lif/author-apl-lab-v2'
|
||||
AG = ROOT / 'experiments/phase4ag-author-apl-r2'
|
||||
COEFF = ROOT / 'experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json'
|
||||
STATIC = ROOT / 'experiments/phase4l-olfactory-grounding'
|
||||
CFG = json.loads((MODEL / 'config.json').read_text(encoding='utf-8'))
|
||||
PINS = {
|
||||
'models/male-cns-lif/apl-timing-lab-v1/manifest.json': '52b05dd1ff30b6b51ff960fe95904532f5c147731a83f0b5c31f98ca7e53c216',
|
||||
'experiments/phase4aj-apl-timing/manifest.json': '7f490ada0db30785c61954d8b92147378ddc8bc16b229fe3808bbe501caff44a',
|
||||
'models/male-cns-lif/phase4l.py': 'e97d58d8c1f44920d0e953f8f5831ddc86fa0198784e86460e315de4116ac553',
|
||||
'models/male-cns-lif/olfactory-grounding-v1/phase4l.yaml': '9b8bcb7e031bf9063033a1854a439a7cd0bf6730301c2d2d02ca99a76f098d6e',
|
||||
'models/male-cns-lif/apl-timing-lab-v1/gpu_timing.py': 'af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b',
|
||||
'models/male-cns-lif/apl-timing-lab-v1/oracle_timing.py': '39d8c47c94bc2faddf016864a43e7715907fb987f56f7b27098060a88851f6be',
|
||||
'models/male-cns-lif/apl-timing-lab-v1/compare_timing.py': '9010f070fba9b7c9cf2d86187ee2abc57f3ac606ebc08a42baad4f3922b51734',
|
||||
'models/male-cns-lif/apl-timing-lab-v1/timing_queue.py': '54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e',
|
||||
'models/male-cns-lif/apl-timing-lab-v1/calibration.py': 'fb15ddeaa108305c8de697bbae36b23ab0414a7c58db51c66dce9feb4a048a0d',
|
||||
'models/male-cns-lif/author-apl-lab-v2/calibration.py': 'edb9cb2d890471fd07afd88c959ef3540b0cd40af490fac3f26396b5e7f5bf9c',
|
||||
'models/male-cns-lif/author-apl-lab-v2/validate_components.py': '5cfc9a4505da6b8fb4e7d2617cdaedaa8475ed46a11ec9bdf0d4d25b1d22c2d3',
|
||||
'experiments/phase4l-olfactory-grounding/odor-encoder/frozen-odor-panel.parquet': '907f16a56e024a8e2112b5751e53b0e6037b329fa110098af3d31b119c10a1a0',
|
||||
'experiments/phase4l-olfactory-grounding/odor-encoder/mapped-glomerular-vectors.npz': 'f057563152e0fa22060080af13019f319e7f36563a775eff829bbc1929c451b0',
|
||||
'experiments/phase4l-olfactory-grounding/odor-encoder/selection.json': '1b832becf9d08935716fe9ba5e3cd3e619e7d208dfb43c4fa197c969d095f113',
|
||||
'experiments/phase4l-olfactory-grounding/receptor-mapping/olfactory-mapping.parquet': 'a01d27000533e9844458a4c559cac084f1c34ca20a1104e97e6a0f72b0cc93b1'
|
||||
}
|
||||
|
||||
|
||||
def digest(path):
|
||||
result = hashlib.sha256()
|
||||
with Path(path).open('rb') as stream:
|
||||
for block in iter(lambda: stream.read(8 << 20), b''):
|
||||
result.update(block)
|
||||
return result.hexdigest()
|
||||
|
||||
|
||||
def load_module(name, path, expected_hash=None):
|
||||
path = Path(path)
|
||||
data = path.read_bytes()
|
||||
if expected_hash is not None:
|
||||
assert hashlib.sha256(data).hexdigest() == expected_hash, str(path)
|
||||
spec = importlib.util.spec_from_file_location(name, path)
|
||||
assert spec and spec.loader
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
sys.modules[name] = module
|
||||
exec(compile(data, str(path), 'exec'), module.__dict__)
|
||||
return module
|
||||
|
||||
|
||||
def pinned(name, relative):
|
||||
return load_module(name, ROOT / relative, PINS[relative])
|
||||
|
||||
|
||||
def read(path):
|
||||
return json.loads(Path(path).read_text(encoding='utf-8'))
|
||||
|
||||
|
||||
def save(path, value):
|
||||
path = Path(path)
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
with path.open('x', encoding='utf-8') as stream:
|
||||
json.dump(value, stream, indent=2, ensure_ascii=False, allow_nan=False)
|
||||
stream.write('\n')
|
||||
|
||||
|
||||
def sources():
|
||||
return {p.relative_to(MODEL).as_posix(): digest(p) for p in sorted(MODEL.rglob('*')) if p.is_file()
|
||||
and '__pycache__' not in p.parts and p.name not in ('manifest.json', 'checksums.sha256')}
|
||||
|
||||
|
||||
def integrity():
|
||||
old = load_module('sealed_aj_context_ak', AJ_MODEL / 'context.py')
|
||||
result = old.integrity()
|
||||
sys.path.insert(0, str(ROOT / 'models/male-cns-lif/terminal-scope-diagnostic-v1'))
|
||||
from diagnostic import manifest_check
|
||||
for path in (AJ_MODEL, AJ):
|
||||
result[str(path.relative_to(ROOT))] = manifest_check(path, digest)
|
||||
assert all(row['pass'] for row in result.values())
|
||||
return result
|
||||
|
||||
|
||||
def check():
|
||||
registered = read(EXP / 'protocol/preregistered.json')
|
||||
assert registered['sources'] == sources(), 'Registered validation source changed'
|
||||
assert registered['config'] == CFG
|
||||
for row in registered['inputs']:
|
||||
assert digest(ROOT / row['path']) == row['sha256'], row['path']
|
||||
for row in read(EXP / 'protocol/prepared-hashes.json'):
|
||||
assert digest(EXP / row['path']) == row['sha256'], row['path']
|
||||
return registered
|
||||
|
||||
|
||||
def budget():
|
||||
size = sum(p.stat().st_size for p in EXP.rglob('*') if p.is_file())
|
||||
assert size < CFG['output_budget_bytes'], 'Output budget exceeded; preserve partial evidence'
|
||||
return size
|
||||
|
||||
|
||||
def seal(root):
|
||||
rows = [dict(path=p.relative_to(root).as_posix(), bytes=p.stat().st_size, sha256=digest(p))
|
||||
for p in sorted(root.rglob('*')) if p.is_file() and '__pycache__' not in p.parts]
|
||||
save(root / 'manifest.json', dict(root=str(root), files=rows))
|
||||
with (root / 'checksums.sha256').open('x', encoding='utf-8') as stream:
|
||||
for row in rows:
|
||||
stream.write(row['sha256'] + ' ' + row['path'] + '\n')
|
||||
stream.write(digest(root / 'manifest.json') + ' manifest.json\n')
|
||||
|
||||
|
||||
def bit_equal(a, b):
|
||||
return a.dtype == b.dtype and a.shape == b.shape and a.tobytes() == b.tobytes()
|
||||
@@ -0,0 +1,52 @@
|
||||
"""Static-only frozen encoder extraction and exact request-schedule generation."""
|
||||
import ast
|
||||
import hashlib
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
import numpy as np
|
||||
|
||||
|
||||
def frozen_pn_drive(path, expected_sha):
|
||||
"""Execute the exact one pure function, not unrelated historical experiments."""
|
||||
import pandas as pd
|
||||
source = Path(path).read_bytes()
|
||||
assert hashlib.sha256(source).hexdigest() == expected_sha
|
||||
tree = ast.parse(source, filename=str(path))
|
||||
nodes = [node for node in tree.body if isinstance(node, ast.FunctionDef) and node.name == 'pn_drive']
|
||||
assert len(nodes) == 1 and not nodes[0].decorator_list
|
||||
module = ast.Module(body=nodes, type_ignores=[])
|
||||
namespace = {'np': np, 'pd': pd, 'Any': Any}
|
||||
exec(compile(module, str(path), 'exec'), namespace)
|
||||
return namespace['pn_drive'], hashlib.sha256(ast.dump(nodes[0], include_attributes=False).encode()).hexdigest()
|
||||
|
||||
|
||||
def requests_from_forced(forced, targets):
|
||||
targets = np.asarray(targets)
|
||||
assert targets.dtype == np.int32 and targets.ndim == 1 and len(np.unique(targets)) == len(targets)
|
||||
assert forced.dtype == np.bool_ and forced.ndim == 2 and forced.shape[1] == len(targets)
|
||||
ticks, columns = np.nonzero(forced)
|
||||
requests = np.column_stack([ticks, targets[columns]]).astype(np.int32)
|
||||
if len(requests):
|
||||
requests = requests[np.lexsort((requests[:, 1], requests[:, 0]))]
|
||||
assert np.all(np.diff(requests[:, 0].astype(np.int64) * 166700 + requests[:, 1]) > 0)
|
||||
return requests
|
||||
|
||||
|
||||
def make_requests(targets, rates, seed, steps=1000):
|
||||
import torch
|
||||
assert rates.dtype == np.float32 and rates.shape == targets.shape
|
||||
assert np.isfinite(rates).all() and np.all(rates >= 0) and steps == 1000
|
||||
original = rates * .1 / 1000.0
|
||||
explicit = rates * np.float32(.1) / np.float32(1000.)
|
||||
assert original.dtype == np.float32 and np.array_equal(original.view(np.uint32), explicit.view(np.uint32))
|
||||
assert np.all(original <= 1)
|
||||
generator = torch.Generator(device='cuda')
|
||||
generator.manual_seed(int(seed))
|
||||
probabilities = torch.as_tensor(original, dtype=torch.float32, device='cuda')
|
||||
forced = (torch.rand((steps, len(targets)), generator=generator, device='cuda') < probabilities[None, :]).cpu().numpy()
|
||||
return requests_from_forced(forced, targets)
|
||||
|
||||
|
||||
def write_npz(path, **arrays):
|
||||
with Path(path).open('xb') as stream:
|
||||
np.savez_compressed(stream, **arrays)
|
||||
@@ -0,0 +1,170 @@
|
||||
"""Recompute the new evidence, preserve gated non-execution, then seal truthfully."""
|
||||
from context import ROOT, MODEL, EXP, AJ, AJ_MODEL, AG, CFG, read, save, digest, check, integrity, budget, seal
|
||||
|
||||
|
||||
def optional(path):
|
||||
return read(path) if path.exists() else None
|
||||
|
||||
|
||||
def decide_status(*, numerical, seed, novel, integrity_pass, reference_pass, reference_present,
|
||||
known_numerical_failure=False, unauthorized_novel=False):
|
||||
if not integrity_pass or (reference_present and not reference_pass):
|
||||
return 'FAIL-FROZEN-INTEGRITY-OR-REGRESSION'
|
||||
if known_numerical_failure or unauthorized_novel:
|
||||
return 'FAIL-NUMERICAL-OR-EXECUTION-POLICY'
|
||||
if not numerical or not reference_present or not seed or not seed['execution_gate_pass']:
|
||||
return 'INCOMPLETE-VALIDATION-EXECUTION'
|
||||
if not seed['representation_gate_pass']:
|
||||
return 'FAIL-SEED-VALIDATION-REPRESENTATION'
|
||||
if not novel or not novel['execution_gate_pass']:
|
||||
return 'INCOMPLETE-VALIDATION-EXECUTION'
|
||||
if not novel['representation_gate_pass']:
|
||||
return 'FAIL-NOVEL-ODOR-REPRESENTATION'
|
||||
return 'PASS-FROZEN-D18-INDEPENDENT-VALIDATION'
|
||||
|
||||
|
||||
def component_report(group, name):
|
||||
path = EXP / 'component-audit' / group / (name + '.json')
|
||||
if not path.exists():
|
||||
return None
|
||||
report = read(path)
|
||||
output = EXP / 'gpu' / group / (name + '-r0')
|
||||
assert set(report.get('input_sha256', {})) == {'state.npz', 'summary.json',
|
||||
'apl-drive.float32.npy', 'apl-state.float32.npy', 'apl-inhibition.float32.npy'}
|
||||
for filename, checksum in report['input_sha256'].items():
|
||||
assert digest(output / filename) == checksum
|
||||
assert set(report.get('matrix_checks', {})) == {'input_matrix', 'output_matrix', 'input_raw', 'output_raw',
|
||||
'kc_globals', 'apl_globals', 'pn_globals', 'apl_out_ids', 'input_scale', 'output_scale'}
|
||||
assert set(report.get('ast_replay_bitwise_exact', {})) == {'drive', 'state', 'inhibition'}
|
||||
assert set(report.get('float64_measurement', {})) == {'drive', 'state', 'inhibition'}
|
||||
actual = bool(not report.get('error') and all(report['matrix_checks'].values()) and
|
||||
all(report['ast_replay_bitwise_exact'].values()) and report['theoretical_bound']['applicable'] and
|
||||
all(value['bound_violations'] == 0 for value in report['float64_measurement'].values()))
|
||||
assert report['pass_all'] == actual
|
||||
return actual
|
||||
|
||||
|
||||
def main():
|
||||
from pathlib import Path
|
||||
import runtime_bridge as bridge
|
||||
from validation import summarize
|
||||
check(); budget()
|
||||
controls_inventory, records = bridge.inventories(EXP, CFG)
|
||||
controls, comparisons, components, repeats, summaries = {}, {}, {}, {}, {}
|
||||
for row in controls_inventory:
|
||||
name = row['name']
|
||||
path = EXP / 'audit' / ('control-' + name + '.json')
|
||||
if path.exists():
|
||||
actual = bridge.control_identity(EXP / 'gpu/controls' / (name + '-r0'), Path(row['source_output']),
|
||||
EXP / 'cases/controls' / name, Path(row['source_case']), None)
|
||||
assert actual == read(path), 'Raw control evidence changed'
|
||||
controls[name] = actual['pass_all']
|
||||
component = component_report('controls', name)
|
||||
if component is not None:
|
||||
components['controls/' + name] = component
|
||||
gates = {stage: optional(EXP / 'audit' / (stage + '-gate.json')) for stage in bridge.STAGES}
|
||||
for cohort in CFG['validation']['cohorts']:
|
||||
summary_path = EXP / 'validation' / cohort / 'summary.json'
|
||||
if summary_path.exists():
|
||||
actual = summarize(cohort, out_json=None)
|
||||
assert actual == read(summary_path), 'Raw validation evidence changed: ' + cohort
|
||||
summaries[cohort] = actual
|
||||
for row in bridge.probe_rows(records, CFG, cohort):
|
||||
name = row['name']
|
||||
path = EXP / 'audit' / ('compare-' + cohort + '-' + name + '.json')
|
||||
if path.exists():
|
||||
actual = bridge.compare(EXP / 'cases' / cohort / name, EXP / 'gpu' / cohort / (name + '-r0'),
|
||||
EXP / 'oracle' / cohort / name, None)
|
||||
assert actual == read(path), 'Raw oracle evidence changed'
|
||||
comparisons[cohort + '/' + name] = actual['pass_all']
|
||||
component = component_report(cohort, name)
|
||||
if component is not None:
|
||||
components[cohort + '/' + name] = component
|
||||
for row in bridge.cohort_rows(records, CFG, cohort):
|
||||
if row['seed'] != CFG['validation']['seeds'][0]:
|
||||
continue
|
||||
name = row['name']
|
||||
path = EXP / 'audit' / ('repeat-' + cohort + '-' + name + '.json')
|
||||
if path.exists():
|
||||
actual = bridge.compare_gpu_repeats(EXP / 'gpu' / cohort / (name + '-r0'),
|
||||
EXP / 'gpu' / cohort / (name + '-r1'), None)
|
||||
assert actual == read(path), 'Raw repeat evidence changed'
|
||||
repeats[cohort + '/' + name] = actual['pass_all']
|
||||
seed, novel = summaries.get('seed_validation'), summaries.get('novel_to_aj')
|
||||
seed_pass = bool(seed and seed['execution_gate_pass'] and seed['representation_gate_pass'])
|
||||
novel_paths = [str(path.relative_to(EXP)) for root in ('gpu', 'oracle', 'component-audit')
|
||||
for path in (EXP / root / 'novel_to_aj').glob('*')]
|
||||
unauthorized = bool(novel_paths and not seed_pass)
|
||||
required_cohorts = ['seed_validation', 'novel_to_aj'] if seed_pass else ['seed_validation']
|
||||
expected_controls = {row['name'] for row in controls_inventory}
|
||||
expected_comparisons = {cohort + '/' + row['name'] for cohort in required_cohorts
|
||||
for row in bridge.probe_rows(records, CFG, cohort)}
|
||||
expected_components = expected_comparisons | {'controls/' + name for name in expected_controls}
|
||||
expected_repeats = {cohort + '/' + row['name'] for cohort in required_cohorts
|
||||
for row in bridge.cohort_rows(records, CFG, cohort) if row['seed'] == CFG['validation']['seeds'][0]}
|
||||
required_stages = ['controls', 'seed-probes', 'seed-validation'] + (['novel-probes', 'novel-validation'] if seed_pass else [])
|
||||
numerical = bool(set(controls) == expected_controls and set(comparisons) == expected_comparisons and
|
||||
set(components) == expected_components and set(repeats) == expected_repeats and
|
||||
all(all(values.values()) for values in (controls, comparisons, components, repeats)) and
|
||||
all(gates[stage] and gates[stage]['pass_all'] for stage in required_stages) and
|
||||
all(cohort in summaries and summaries[cohort]['execution_gate_pass'] for cohort in required_cohorts))
|
||||
for cohort, summary in summaries.items():
|
||||
stage = 'seed-validation' if cohort == 'seed_validation' else 'novel-validation'
|
||||
if gates[stage]:
|
||||
assert gates[stage]['execution_gate_pass'] == summary['execution_gate_pass']
|
||||
assert gates[stage]['representation_gate_pass'] == summary['representation_gate_pass']
|
||||
frozen = optional(EXP / 'regression/frozen-five.json')
|
||||
integrity_result = integrity()
|
||||
save(EXP / 'regression/old-integrity-after.json', integrity_result)
|
||||
oldpass = all(row['pass'] for row in integrity_result.values())
|
||||
failures = [read(path) for path in sorted((EXP / 'audit').glob('stopped-*.json'))]
|
||||
known_failure = bool(any(not value for group in (controls, comparisons, components, repeats) for value in group.values()) or
|
||||
any(gate is not None and not gate['pass_all'] for gate in gates.values()) or
|
||||
any(not summary['execution_gate_pass'] for summary in summaries.values()) or
|
||||
any(row.get('stop_kind') == 'execution_or_numerical_failure' for row in failures))
|
||||
status = decide_status(numerical=numerical, seed=seed, novel=novel, integrity_pass=oldpass,
|
||||
reference_present=frozen is not None, reference_pass=bool(frozen and frozen['pass_all']),
|
||||
known_numerical_failure=known_failure, unauthorized_novel=unauthorized)
|
||||
present_runs = []
|
||||
for path in sorted((EXP / 'gpu').glob('*/*/summary.json')):
|
||||
value = read(path)
|
||||
present_runs.append(dict(group=path.parent.parent.name, run=path.parent.name,
|
||||
complete=value.get('complete', False), pass_all=value.get('pass_all', False),
|
||||
**{key: value.get(key) for key in ('case', 'nodes', 'edges', 'total_spikes',
|
||||
'diagnostic_simulation_seconds', 'peak_allocated_vram_bytes')}))
|
||||
completed_primary = [row for row in present_runs if row['group'] in CFG['validation']['cohorts']
|
||||
and row['run'].endswith('-r0') and row['complete']]
|
||||
result = dict(status=status, numerical_gate_pass=numerical, summaries=summaries, gates=gates,
|
||||
controls=controls, comparisons=comparisons, components=components, repeats=repeats, stopped=failures,
|
||||
seed_validation_pass=seed_pass, novel_to_aj_pass=bool(novel and novel['pass_all']),
|
||||
novel_dynamics_executed=bool(novel_paths), novel_unlock_policy_violation=unauthorized,
|
||||
planned_primary_cases=120, actual_primary_cases=len(completed_primary), measurements=present_runs,
|
||||
aggregated_valid_primary_cases=sum(summary['valid_base_trials'] for summary in summaries.values()),
|
||||
actual_checked_repeats=sum(summary['checked_repeats'] for summary in summaries.values()),
|
||||
old_frozen_integrity_pass=oldpass, frozen_five_reference_pass=bool(frozen and frozen['pass_all']),
|
||||
unchanged_sealed_runtime=True, dynamics_changed=False, old_heldout_dynamic_results_parsed=False,
|
||||
novel_scope='Unused for AG/AJ calibration, not historically never simulated',
|
||||
shared_APL_arithmetic_oracle_limitation=True, biological_delay_measured=False,
|
||||
APL_nonKC_fast_edges_unreplaced=1212, learning_achieved=False, candidate_generated=False,
|
||||
full_scientific_goal_achieved=False, payload_bytes_before_manifest=budget(),
|
||||
next_gate='Credit specificity and real KC-to-MBON functional transfer before conditioning' if status.startswith('PASS-')
|
||||
else 'Inspect the first failed gate without tuning this frozen branch or replacing validation inputs')
|
||||
save(EXP / 'audit/final-status.json', result)
|
||||
with (EXP / 'REPORT.md').open('x', encoding='utf-8') as stream:
|
||||
stream.write('\n'.join(['# Phase 4AK — frozen D18 independent validation', '', f'Status: `{status}`.', '',
|
||||
f'Numerical gate: {numerical}. Seed-validation pass: {seed_pass}. Novel-to-AJ pass: {result["novel_to_aj_pass"]}.',
|
||||
f'Novel dynamics executed: {bool(novel_paths)}. Unauthorized unlock: {unauthorized}.',
|
||||
'Both cohorts and all requested inputs were locked before trajectories; no tuning or gate changes.',
|
||||
'Original sealed AJ runtime functions are used unchanged, including 1,212 unreplaced non-KC APL fast edges.',
|
||||
'The second six odors were not used for AG/AJ calibration; old 4L had simulated the full panel.',
|
||||
'Static seed audit is bounded, not proof of universally unused or statistically independent RNG streams.',
|
||||
'Brian LIF/FIFO is independent; APL arithmetic is intentionally shared and separately component-audited.',
|
||||
f'Old frozen integrity: {oldpass}. Five old reference trials: {result["frozen_five_reference_pass"]}.',
|
||||
'No learning, plasticity update, candidate, game, decoder, RL or Web. This is not completion of the learning goal.',
|
||||
'Next gate: ' + result['next_gate'], '']))
|
||||
check(); seal(MODEL); seal(EXP)
|
||||
print(status, flush=True)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"root": "/data/digital-drosophila/models/male-cns-lif/apl-timing-validation-v1",
|
||||
"files": [
|
||||
{
|
||||
"path": "PROTOCOL.md",
|
||||
"bytes": 5002,
|
||||
"sha256": "2d3996933b6e5a31e6a737ade5f3ae6869ffd03e01002c793eccf9b4f71e987d"
|
||||
},
|
||||
{
|
||||
"path": "SEED-AUDIT.md",
|
||||
"bytes": 6540,
|
||||
"sha256": "35e8bfe1bff62f3a5d9295c785e1b8cec8a2393eaa67d6c683046e48f30feb56"
|
||||
},
|
||||
{
|
||||
"path": "config.json",
|
||||
"bytes": 2183,
|
||||
"sha256": "1718d8b01ece24930ff138f25c88f2f0e0f1cf69ad0ba655e5a0de5083e64df2"
|
||||
},
|
||||
{
|
||||
"path": "context.py",
|
||||
"bytes": 5834,
|
||||
"sha256": "5e4e500d5ec777bb8ae7ff77ac9a7279bfe995b1a17be2baededdbe065c98b73"
|
||||
},
|
||||
{
|
||||
"path": "encoder_inputs.py",
|
||||
"bytes": 2431,
|
||||
"sha256": "0061689abb1832e963718bd836bc8a50009ee38b258143a753b4d59e63414925"
|
||||
},
|
||||
{
|
||||
"path": "finalize.py",
|
||||
"bytes": 11542,
|
||||
"sha256": "7eb638c357cec7f5f85032312c50a616402b5a8a9ab5aa0268c181f6c3ae0ce5"
|
||||
},
|
||||
{
|
||||
"path": "prepare.py",
|
||||
"bytes": 12405,
|
||||
"sha256": "d8b8315f8800b3efdc7548620f0fae85da21a12b753b9985dd623bd529e2c50f"
|
||||
},
|
||||
{
|
||||
"path": "run_case.py",
|
||||
"bytes": 3382,
|
||||
"sha256": "bba6c4a98c6edf1eaba60b8030a9eca646da7dd30b74b2a0c16e374efd022bfa"
|
||||
},
|
||||
{
|
||||
"path": "run_suite.py",
|
||||
"bytes": 7914,
|
||||
"sha256": "3d9890f11f299c07956faa5c0a9ebe2ea28ade58d8acf01a8631c17025073345"
|
||||
},
|
||||
{
|
||||
"path": "runtime_bridge.py",
|
||||
"bytes": 22443,
|
||||
"sha256": "8a6629f8cd991cf309b508c670b3009737f9b5f5e1f72560fa5bd4b1ff0bc64d"
|
||||
},
|
||||
{
|
||||
"path": "seed-audit.json",
|
||||
"bytes": 376926,
|
||||
"sha256": "e14c0deb94432787aa1cac7618254aeb3db0bcd5b1d8328e20428496d38b220a"
|
||||
},
|
||||
{
|
||||
"path": "test_encoder_inputs.py",
|
||||
"bytes": 2771,
|
||||
"sha256": "f1b3b8a0ca9bc41152485c05fd5f24fb7bb1f76c6ea111ffb941ae1225d914fe"
|
||||
},
|
||||
{
|
||||
"path": "test_final_status.py",
|
||||
"bytes": 2040,
|
||||
"sha256": "a85466891352c15b3103d30e7229734ad6694c8a1347d5e0747da3315223c203"
|
||||
},
|
||||
{
|
||||
"path": "test_runtime_bridge.py",
|
||||
"bytes": 23574,
|
||||
"sha256": "bc01a5ff38d79a7b66ab2eb9e6731164bb8a1e15b5b5c0c1655161c24e2c37cf"
|
||||
},
|
||||
{
|
||||
"path": "test_validation.py",
|
||||
"bytes": 17829,
|
||||
"sha256": "03f5aacb5a1f9460d10b30744100a43c57e5488d32dada79c888529943c82cf0"
|
||||
},
|
||||
{
|
||||
"path": "validation.py",
|
||||
"bytes": 21631,
|
||||
"sha256": "3464091a4cc2cba18946cb9c9b3d12a69bd3f79f1001096234b3a8467dc602c5"
|
||||
},
|
||||
{
|
||||
"path": "verify_frozen.py",
|
||||
"bytes": 2417,
|
||||
"sha256": "a736b774e39ff0ad863e8efc720bd5f9ed7d30261776bb57f0a716a7052dba5a"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
"""Lock both validation cohorts before outcomes; read no old novel-odor dynamics."""
|
||||
from datetime import datetime, timezone
|
||||
import ast
|
||||
import json
|
||||
import platform
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import yaml
|
||||
from context import (ROOT, MODEL, EXP, AJ, AJ_MODEL, AG, CFG, PINS, STATIC,
|
||||
read, save, digest, sources, integrity, budget, bit_equal)
|
||||
from encoder_inputs import frozen_pn_drive, make_requests, write_npz
|
||||
|
||||
|
||||
def copy_exact(source, target):
|
||||
target.parent.mkdir(parents=True, exist_ok=True)
|
||||
with source.open('rb') as source_stream, target.open('xb') as target_stream:
|
||||
shutil.copyfileobj(source_stream, target_stream)
|
||||
assert digest(source) == digest(target)
|
||||
|
||||
|
||||
def main():
|
||||
assert not EXP.exists() or not any(EXP.iterdir()), 'Never reuse a populated experiment'
|
||||
assert shutil.disk_usage(EXP.parent).free > CFG['output_budget_bytes'] + 10 * 1024**3
|
||||
for relative, expected in PINS.items():
|
||||
assert digest(ROOT / relative) == expected, relative
|
||||
previous = read(AJ / 'audit/final-status.json')
|
||||
assert previous['status'] == 'PASS-FIXED-CAL-APL-TIMING-HYPOTHESIS'
|
||||
assert previous['delay18_representation_pass'] and previous['old_frozen_integrity_and_five_reference_pass']
|
||||
assert CFG['apl'] == read(AJ_MODEL / 'config.json')['apl']
|
||||
assert CFG['gates'] == read(AJ_MODEL / 'config.json')['gates']
|
||||
assert CFG['apl_delay_steps'] == 18 and not CFG['training'] and not CFG['candidate_generation']
|
||||
seed_audit = read(MODEL / 'seed-audit.json')
|
||||
assert seed_audit['proposed_seeds'] == CFG['validation']['seeds'] and seed_audit['collision_found'] is False
|
||||
seed_sources = []
|
||||
for row in seed_audit['inspected_files']:
|
||||
if row.get('remote_path'):
|
||||
path = ROOT / row['remote_path']
|
||||
assert path.is_relative_to(ROOT) and '..' not in path.parts
|
||||
assert digest(path) == row['sha256'], row['remote_path']
|
||||
seed_sources.append(dict(path=path.relative_to(ROOT).as_posix(), sha256=row['sha256']))
|
||||
assert seed_sources, 'At least exact-mapped static seed sources must be checked on server'
|
||||
for name in ('protocol', 'cases', 'gpu', 'oracle', 'component-audit', 'audit', 'validation', 'regression', 'logs', 'extension-build'):
|
||||
(EXP / name).mkdir(parents=True, exist_ok=False)
|
||||
command = [sys.executable, '-B', '-m', 'unittest', 'discover', '-v', '-s', str(MODEL), '-p', 'test_*.py']
|
||||
test = subprocess.run(command, cwd=MODEL, text=True, capture_output=True)
|
||||
with (EXP / 'regression/unit-tests.log').open('x', encoding='utf-8') as stream:
|
||||
stream.write(test.stdout + test.stderr)
|
||||
save(EXP / 'regression/unit-tests.json', dict(command=command, exit_code=test.returncode,
|
||||
pass_all=test.returncode == 0, sha256=digest(EXP / 'regression/unit-tests.log')))
|
||||
assert test.returncode == 0
|
||||
inputs = {relative: expected for relative, expected in PINS.items()}
|
||||
for row in seed_sources:
|
||||
inputs[row['path']] = row['sha256']
|
||||
for path in (AJ / 'audit/final-status.json', AJ / 'protocol/preregistered.json',
|
||||
AG / 'protocol/calibration-cases.json', AG / 'protocol/encoder-audit.json'):
|
||||
inputs[path.relative_to(ROOT).as_posix()] = digest(path)
|
||||
save(EXP / 'protocol/preregistered.json', dict(timestamp_utc=datetime.now(timezone.utc).isoformat(),
|
||||
sources=sources(), config=CFG, inputs=[dict(path=path, sha256=sha) for path, sha in sorted(inputs.items())],
|
||||
parent_commit=subprocess.check_output(['git', '-C', str(ROOT), 'rev-parse', 'HEAD'], text=True).strip(),
|
||||
prior_AJ_CAL_outcomes_known=True, before_new_requests_and_brain_trajectories=True,
|
||||
training=False, candidate_generated=False, historical_never_simulated_odor_claim=False,
|
||||
seed_collision_audit_scope='Only enumerated static sources and explicitly evaluated derivations; no universal independence claim',
|
||||
shared_seed_across_conditions=True, new_dynamic_scope='seed_validation then conditionally novel_to_aj',
|
||||
source_engine='Unmodified SHA-pinned AJ backend functions, using original __file__ and globals',
|
||||
oracle_limit='Independent Brian LIF and delay FIFO, shared frozen Torch APL component',
|
||||
python=sys.version, machine=platform.machine(), numpy=np.__version__))
|
||||
save(EXP / 'regression/old-integrity-before.json', integrity())
|
||||
from run_case import preflight
|
||||
preflight()
|
||||
import torch
|
||||
cfg_path = ROOT / 'models/male-cns-lif/olfactory-grounding-v1/phase4l.yaml'
|
||||
oc = yaml.safe_load(cfg_path.read_text())
|
||||
assert oc['odor_encoder']['duration_ms'] == CFG['validation']['duration_ms']
|
||||
assert oc['odor_encoder']['modes'] == CFG['validation']['modes']
|
||||
panel = pd.read_parquet(STATIC / 'odor-encoder/frozen-odor-panel.parquet')
|
||||
assert len(panel) == 12 and panel.odor_id.is_unique
|
||||
assert panel.split.tolist() == ['calibration'] * 6 + ['heldout'] * 6
|
||||
median = float(np.median(panel.mapped_response_sum))
|
||||
assert median == CFG['validation']['median_mapped_response_sum']
|
||||
selection = read(STATIC / 'odor-encoder/selection.json')
|
||||
mapping = pd.read_parquet(STATIC / 'receptor-mapping/olfactory-mapping.parquet')
|
||||
with np.load(STATIC / 'odor-encoder/mapped-glomerular-vectors.npz', allow_pickle=False) as source:
|
||||
assert set(source.files) == set(panel.odor_id) | {'glomeruli'}
|
||||
assert source['glomeruli'].tolist() == selection['glomeruli_order']
|
||||
vectors = {oid: source[oid].copy() for oid in panel.odor_id}
|
||||
encoder_source = ROOT / 'models/male-cns-lif/phase4l.py'
|
||||
drive, ast_sha = frozen_pn_drive(encoder_source, PINS[str(encoder_source.relative_to(ROOT))])
|
||||
cached = {}
|
||||
static_rows = {}
|
||||
for cohort, frame in (('seed_validation', panel.iloc[:6]), ('novel_to_aj', panel.iloc[6:])):
|
||||
static_rows[cohort] = [dict(odor_id=str(odor.odor_id), odor_index=index,
|
||||
source_panel_split=str(odor.split)) for index, (_, odor) in enumerate(frame.iterrows())]
|
||||
for mode in CFG['validation']['modes']:
|
||||
for index, (_, odor) in enumerate(frame.iterrows()):
|
||||
targets, rates, ignored_frame = drive(str(odor.odor_id), vectors[odor.odor_id], mapping,
|
||||
selection['glomeruli_order'], mode, median, oc)
|
||||
assert targets.dtype == np.int32 and rates.dtype == np.float32 and len(targets) > 0
|
||||
assert len(np.unique(targets)) == len(targets) and np.all((targets >= 0) & (targets < CFG['neurons']))
|
||||
assert np.isfinite(rates).all() and np.all(rates > 0)
|
||||
cached[(cohort, mode, index)] = (targets, rates)
|
||||
# Reproduce all 60 known CAL input arrays, without any old heldout trajectory.
|
||||
control_rows = []
|
||||
old_inventory = read(AG / 'protocol/calibration-cases.json')
|
||||
assert len(old_inventory) == 60
|
||||
for row in old_inventory:
|
||||
targets, rates = cached[('seed_validation', row['mode'], row['odor_index'])]
|
||||
old_case = AG / 'cases' / row['name']
|
||||
spec = read(old_case / 'spec.json')
|
||||
assert spec['odor_id'] == static_rows['seed_validation'][row['odor_index']]['odor_id']
|
||||
with np.load(old_case / 'pn-drive.npz', allow_pickle=False) as old:
|
||||
assert bit_equal(targets, old['targets']) and bit_equal(rates, old['rates_hz'])
|
||||
requests = make_requests(targets, rates, row['seed'])
|
||||
with np.load(old_case / 'requests.npz', allow_pickle=False) as old:
|
||||
assert bit_equal(requests[:, 0], old['tick']) and bit_equal(requests[:, 1], old['neuron_idx'])
|
||||
control_rows.append(dict(case=row['name'], pass_all=True, seed=row['seed'],
|
||||
old_requests_sha256=digest(old_case / 'requests.npz'), old_drive_sha256=digest(old_case / 'pn-drive.npz'),
|
||||
target_rate_and_request_arrays_bitwise=True))
|
||||
save(EXP / 'protocol/encoder-control.json', dict(pass_all=True, cases=control_rows,
|
||||
old_heldout_dynamic_access=False, comparison='All original 60 CAL request/drive arrays; no trajectory or RNG-column reorder'))
|
||||
template = read(AJ / 'cases/delay18' / CFG['control_cases'][0] / 'spec.json')
|
||||
assert template['apl_delay_steps'] == 18 and template['steps'] == 1000 and template['record_history'] is False
|
||||
control_cases = []
|
||||
for name in CFG['control_cases']:
|
||||
source = AJ / 'cases/delay18' / name
|
||||
target = EXP / 'cases/controls' / name
|
||||
target.mkdir(parents=True, exist_ok=False)
|
||||
spec = read(source / 'spec.json')
|
||||
spec.update(budget_root=str(EXP), output_budget_bytes=CFG['output_budget_bytes'])
|
||||
save(target / 'spec.json', spec)
|
||||
for filename in ('requests.npz', 'pn-drive.npz'):
|
||||
copy_exact(source / filename, target / filename)
|
||||
control_cases.append(dict(name=name, source_case=str(source), source_output=str(AJ / 'gpu/delay18' / (name + '-r0'))))
|
||||
save(EXP / 'protocol/control-cases.json', control_cases)
|
||||
records = []
|
||||
for cohort, frame in (('seed_validation', panel.iloc[:6]), ('novel_to_aj', panel.iloc[6:])):
|
||||
for mode in CFG['validation']['modes']:
|
||||
for index, (_, odor) in enumerate(frame.iterrows()):
|
||||
targets, rates = cached[(cohort, mode, index)]
|
||||
for seed in CFG['validation']['seeds']:
|
||||
requests = make_requests(targets, rates, seed)
|
||||
name = f'{cohort}-{mode}-{index:02d}-s{seed}'
|
||||
target = EXP / 'cases' / cohort / name
|
||||
target.mkdir(parents=True, exist_ok=False)
|
||||
expected = float(rates.sum()) * 1000 * .1 / 1000.
|
||||
spec = dict(template, name=name, kind='fullgraph', validation_cohort=cohort,
|
||||
source_panel_split=str(odor.split), source_panel_row=int(odor.name),
|
||||
odor_id=str(odor.odor_id), odor_name=str(odor.odor_name), mode=mode, seed=seed,
|
||||
odor_index=index, expected_external_events=expected, target_count=len(targets),
|
||||
rate_sum_hz=float(rates.sum()), budget_root=str(EXP), output_budget_bytes=CFG['output_budget_bytes'])
|
||||
save(target / 'spec.json', spec)
|
||||
write_npz(target / 'requests.npz', tick=requests[:, 0], neuron_idx=requests[:, 1])
|
||||
write_npz(target / 'pn-drive.npz', targets=targets, rates_hz=rates)
|
||||
records.append(dict(name=name, cohort=cohort, source_panel_split=str(odor.split),
|
||||
source_panel_row=int(odor.name), mode=mode, odor_id=str(odor.odor_id), odor_index=index,
|
||||
seed=seed, targets=len(targets), requests=len(requests), expected_external_events=expected,
|
||||
rates_sum=float(rates.sum())))
|
||||
assert len(records) == 120 and len({row['name'] for row in records}) == 120
|
||||
save(EXP / 'protocol/validation-cases.json', records)
|
||||
save(EXP / 'protocol/encoder-audit.json', dict(panel_count=12, cal_count=6, novel_to_aj_count=6,
|
||||
median_mapped_response_sum=median, seeds=CFG['validation']['seeds'],
|
||||
seeds_static_audit_sha256=digest(MODEL / 'seed-audit.json'), cohorts_static_panel_rows=static_rows,
|
||||
requested_before_any_dynamics=True, historical_never_simulated_claim=False,
|
||||
old_heldout_dynamic_access=False, seed_namespace_universally_independent_claim=False,
|
||||
source_function='Unmodified AST node pn_drive from pinned phase4l.py; only np/pd/typing dependencies',
|
||||
source_sha256=digest(encoder_source), function_ast_sha256=ast_sha, torch=torch.__version__, numpy=np.__version__,
|
||||
control_60_original_CAL_arrays_exact=True, target_rng_column_order='Original function output, unchanged',
|
||||
generation='Original float32 rates*.1/1000 GPU Bernoulli; same seed across conditions; sort only resulting sparse requests',
|
||||
expected_not_realized_input_energy_matched=True, no_learning=True))
|
||||
save(EXP / 'protocol/prepared-hashes.json', [dict(path=p.relative_to(EXP).as_posix(), sha256=digest(p), bytes=p.stat().st_size)
|
||||
for directory in ('protocol', 'cases') for p in sorted((EXP / directory).rglob('*'))
|
||||
if p.is_file() and p.name != 'prepared-hashes.json'])
|
||||
budget()
|
||||
print('REGISTERED 2 controls +120 fixed validation cases; 60 original input arrays exact; no brain trajectories', flush=True)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -0,0 +1,66 @@
|
||||
"""One registered AK action per fresh process; no changes to frozen runtimes."""
|
||||
import argparse
|
||||
import json
|
||||
import os
|
||||
import urllib.request
|
||||
|
||||
from context import ROOT, EXP, CFG, check, budget, read
|
||||
import runtime_bridge as bridge
|
||||
|
||||
|
||||
def preflight():
|
||||
# Establish visibility before the lazy runtime/component Torch import.
|
||||
os.environ['CUDA_VISIBLE_DEVICES'] = CFG['gpu_uuid']
|
||||
os.environ['CUDA_HOME'] = '/usr/local/cuda'
|
||||
os.environ['PATH'] = str(ROOT / 'models/male-cns-lif/.venv/bin') + ':/usr/local/cuda/bin:' + os.environ['PATH']
|
||||
os.environ['MAX_JOBS'] = '2'
|
||||
os.environ['TORCH_CUDA_ARCH_LIST'] = '8.9'
|
||||
for port in (8188, 8189, 8190):
|
||||
with urllib.request.urlopen(f'http://192.168.10.51:{port}/queue', timeout=5) as response:
|
||||
queue = json.load(response)
|
||||
bridge.require(not queue['queue_running'] and not queue['queue_pending'], 'ComfyUI busy: defer, never evict')
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('backend', choices=['gpu', 'oracle', 'component'])
|
||||
parser.add_argument('group', choices=bridge.GROUPS)
|
||||
parser.add_argument('case')
|
||||
parser.add_argument('--repeat', type=int, default=0)
|
||||
args = parser.parse_args()
|
||||
check(); budget()
|
||||
row = bridge.authorize_case(EXP, CFG, args.group, args.case, args.backend, args.repeat)
|
||||
case = EXP / 'cases' / args.group / args.case
|
||||
spec = bridge.case_spec(case)
|
||||
bridge.require(spec['name'] == args.case and spec['budget_root'] == str(EXP) and
|
||||
spec['output_budget_bytes'] == CFG['output_budget_bytes'], 'Case identity/new budget differs')
|
||||
if args.group == 'controls':
|
||||
bridge.control_inputs(case, row['source_case'])
|
||||
else:
|
||||
bridge.require(spec.get('kind') == 'fullgraph' and spec.get('validation_cohort') == args.group and
|
||||
all(spec[key] == row[key] for key in ('mode', 'odor_id', 'odor_index', 'seed')),
|
||||
'New fullgraph case differs from its registered cohort cell')
|
||||
output = EXP / 'gpu' / args.group / f'{args.case}-r{args.repeat}'
|
||||
if args.backend == 'component':
|
||||
summary = read(output / 'summary.json')
|
||||
bridge.require(summary.get('complete') is True and summary.get('pass_all') is True and
|
||||
summary.get('case') == args.case and summary.get('apl_delay_steps') == 18,
|
||||
'Component audit needs a complete matching D18 GPU run')
|
||||
preflight()
|
||||
def execute():
|
||||
if args.backend == 'gpu':
|
||||
result = bridge.run_gpu(case, output, EXP / 'extension-build')
|
||||
elif args.backend == 'oracle':
|
||||
result = bridge.run_oracle(case, EXP / 'oracle' / args.group / args.case)
|
||||
else:
|
||||
result = bridge.component(output, spec['apl_bundle_dir'], EXP / 'component-audit' / args.group / (args.case + '.json'))
|
||||
budget()
|
||||
bridge.require(result.get('pass_all') is True, 'Runtime/component evidence did not pass its own integrity checks')
|
||||
return result
|
||||
result = bridge.guarded_action(EXP, args.backend, args.group, args.case, args.repeat, execute)
|
||||
print(json.dumps(dict(backend=args.backend, group=args.group, case=args.case, repeat=args.repeat,
|
||||
complete=result.get('complete'), pass_all=result.get('pass_all')), allow_nan=False), flush=True)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -0,0 +1,151 @@
|
||||
"""Ordered fixed-D18 validation; representation failure never becomes execution failure.
|
||||
|
||||
Only the two predeclared first-odor/first-seed mode probes use Brian per cohort.
|
||||
Their GPU r0 outputs are reused in the full 60-case block. No novel-to-AJ
|
||||
trajectory can start until the complete seed block and its repeats pass.
|
||||
"""
|
||||
import argparse
|
||||
import subprocess
|
||||
import time
|
||||
import traceback
|
||||
|
||||
from context import ROOT, MODEL, EXP, CFG, check, save, read, budget
|
||||
import runtime_bridge as bridge
|
||||
|
||||
|
||||
SCIENCE = ROOT / 'models/male-cns-lif/.venv/bin/python'
|
||||
ORACLE = ROOT / 'experiments/phase4ad-author-semantics/environment/.venv/bin/python'
|
||||
|
||||
|
||||
class RepresentationGateFailed(RuntimeError):
|
||||
"""Completed valid trajectories did not pass the predeclared representation gate."""
|
||||
|
||||
|
||||
def child(backend, group, name, repeat=0):
|
||||
# Do not resolve either interpreter: the venv invocation path is meaningful.
|
||||
interpreter = ORACLE if backend == 'oracle' else SCIENCE
|
||||
bridge.require(interpreter.is_file(), 'Missing fixed runtime interpreter: ' + str(interpreter))
|
||||
bridge.authorize_case(EXP, CFG, group, name, backend, repeat)
|
||||
log = EXP / 'logs' / f'{backend}-{group}-{name}-r{repeat}.log'
|
||||
log.parent.mkdir(parents=True, exist_ok=True)
|
||||
command = [str(interpreter), '-B', str(MODEL / 'run_case.py'), backend, group, name, '--repeat', str(repeat)]
|
||||
print('START', backend, group, name, repeat, flush=True)
|
||||
started = time.perf_counter()
|
||||
with log.open('x', encoding='utf-8') as stream:
|
||||
result = subprocess.run(command, stdout=stream, stderr=subprocess.STDOUT, timeout=1800, check=False)
|
||||
print('FINISH', backend, group, name, repeat, 'exit', result.returncode,
|
||||
'wall', round(time.perf_counter() - started, 2), flush=True)
|
||||
bridge.require(result.returncode == 0, f'{backend} {group}/{name} failed; preserve partial evidence and inspect {log}')
|
||||
|
||||
|
||||
def control(row):
|
||||
name = row['name']
|
||||
child('gpu', 'controls', name)
|
||||
case = EXP / 'cases/controls' / name
|
||||
output = EXP / 'gpu/controls' / (name + '-r0')
|
||||
report = bridge.control_identity(output, row['source_output'], case, row['source_case'],
|
||||
EXP / 'audit' / ('control-' + name + '.json'))
|
||||
bridge.require(report['pass_all'], 'Fresh fixed-D18 control differs from sealed AJ: ' + name)
|
||||
child('component', 'controls', name)
|
||||
return dict(case=name, group='controls', pass_all=True, fresh_gpu_runs=1, new_oracle_runs=0)
|
||||
|
||||
|
||||
def probe(row):
|
||||
name, group = row['name'], row['cohort']
|
||||
child('gpu', group, name)
|
||||
child('oracle', group, name)
|
||||
result = bridge.compare(EXP / 'cases' / group / name, EXP / 'gpu' / group / (name + '-r0'),
|
||||
EXP / 'oracle' / group / name, EXP / 'audit' / ('compare-' + group + '-' + name + '.json'))
|
||||
bridge.require(result['pass_all'], 'Closed-loop fixed-D18 comparison failed: ' + name)
|
||||
child('component', group, name)
|
||||
return dict(case=name, group=group, pass_all=True, fresh_gpu_runs=1, new_oracle_runs=1)
|
||||
|
||||
|
||||
def validation_block(cohort, records):
|
||||
from validation import summarize
|
||||
rows = bridge.cohort_rows(records, CFG, cohort)
|
||||
probes = {row['name'] for row in bridge.probe_rows(records, CFG, cohort)}
|
||||
repeated = []
|
||||
for row in rows:
|
||||
name = row['name']
|
||||
if name not in probes:
|
||||
child('gpu', cohort, name)
|
||||
else:
|
||||
comparison = read(EXP / 'audit' / ('compare-' + cohort + '-' + name + '.json'))
|
||||
bridge.require(comparison.get('pass_all') is True and comparison.get('case') == name,
|
||||
'Missing successful probe evidence for reused r0: ' + name)
|
||||
if row['seed'] == CFG['validation']['seeds'][0]:
|
||||
child('gpu', cohort, name, 1)
|
||||
result = bridge.compare_gpu_repeats(EXP / 'gpu' / cohort / (name + '-r0'),
|
||||
EXP / 'gpu' / cohort / (name + '-r1'), EXP / 'audit' / ('repeat-' + cohort + '-' + name + '.json'))
|
||||
bridge.require(result['pass_all'], 'Fixed-input GPU repeat diverged: ' + name)
|
||||
repeated.append(name)
|
||||
bridge.require(len(rows) == 60 and len(repeated) == 12, 'Incomplete registered base/repeat block')
|
||||
result = summarize(cohort)
|
||||
return result, repeated
|
||||
|
||||
|
||||
def run(stage):
|
||||
bridge.require(stage in bridge.STAGES, 'Unknown stage')
|
||||
check(); budget()
|
||||
bridge.ensure_unstopped(EXP)
|
||||
receipt = EXP / 'audit' / (stage + '-gate.json')
|
||||
bridge.require(not receipt.exists() and not (EXP / 'audit' / ('stopped-' + stage + '.json')).exists(),
|
||||
'Stage already has completion/stop evidence; do not rerun or overwrite')
|
||||
controls, records = bridge.inventories(EXP, CFG)
|
||||
try:
|
||||
if stage == 'controls':
|
||||
rows = [control(row) for row in controls]
|
||||
result = dict(stage=stage, pass_all=True, cases=rows, scope='Same-input fresh D18 GPU identity with sealed AJ; no new model or Brian run')
|
||||
else:
|
||||
bridge.gate_pass(EXP, 'controls')
|
||||
cohort = 'seed_validation' if stage.startswith('seed-') else 'novel_to_aj'
|
||||
if cohort == 'novel_to_aj':
|
||||
bridge.gate_pass(EXP, 'seed-validation', representation=True, cfg=CFG)
|
||||
if stage.endswith('-probes'):
|
||||
rows = [probe(row) for row in bridge.probe_rows(records, CFG, cohort)]
|
||||
result = dict(stage=stage, pass_all=True, cases=rows,
|
||||
scope='Two fixed first-odor first-seed mode probes; independent LIF with shared unchanged Torch APL component')
|
||||
else:
|
||||
bridge.gate_pass(EXP, 'seed-probes' if cohort == 'seed_validation' else 'novel-probes')
|
||||
summary, repeats = validation_block(cohort, records)
|
||||
execution = summary.get('execution_gate_pass') is True
|
||||
representation = summary.get('representation_gate_pass') is True
|
||||
if execution:
|
||||
bridge.validate_summary_coverage(summary, EXP, CFG, cohort)
|
||||
result = dict(stage=stage, cohort=cohort, pass_all=execution,
|
||||
execution_gate_pass=execution, representation_gate_pass=representation,
|
||||
base_count=60, repeat_count=len(repeats), repeat_cases=repeats,
|
||||
summary='validation/' + cohort + '/summary.json',
|
||||
summary_sha256=bridge.digest(EXP / 'validation' / cohort / 'summary.json'),
|
||||
validation_inventory_sha256=bridge.digest(EXP / 'protocol/validation-cases.json'),
|
||||
scope='Complete fixed representation block; no pooled rescue, learning, tuning, or historically-unseen-odor claim')
|
||||
save(receipt, result)
|
||||
if stage.endswith('-validation'):
|
||||
bridge.require(result['execution_gate_pass'], 'Validation execution/numerical/integrity gate failed')
|
||||
if not result['representation_gate_pass']:
|
||||
raise RepresentationGateFailed('Completed fixed validation block failed representation; no later cohort is authorized')
|
||||
budget()
|
||||
return result
|
||||
except Exception as error:
|
||||
save(EXP / 'audit' / ('stopped-' + stage + '.json'), dict(stage=stage,
|
||||
type=type(error).__name__, message=str(error), traceback=traceback.format_exc(),
|
||||
stop_kind='representation_failure' if isinstance(error, RepresentationGateFailed) else 'execution_or_numerical_failure',
|
||||
representation_failure_is_execution_failure=False,
|
||||
later_stages_not_permitted=True, partial_outputs_preserved=True,
|
||||
parameters_changed=False, replacement_seeds_or_odors_selected=False))
|
||||
raise
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('stage', choices=bridge.STAGES)
|
||||
args = parser.parse_args()
|
||||
try:
|
||||
run(args.stage)
|
||||
except RepresentationGateFailed:
|
||||
raise SystemExit(2)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -0,0 +1,396 @@
|
||||
"""Phase 4AK orchestration only: call hash-pinned, unchanged AJ functions.
|
||||
|
||||
No LIF, APL, queue, or input-generation equation is implemented here. Fresh
|
||||
processes resolve AJ's one unqualified import to the pinned AJ timing_queue.
|
||||
The D18 control adapter compares evidence; it never changes a case to D0.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import hashlib
|
||||
import importlib.util
|
||||
import json
|
||||
from pathlib import Path
|
||||
import re
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
|
||||
AJ_PINS = {
|
||||
'gpu_timing.py': 'af1975ba5e5e700208c0a598d3cbe648a3cf10885c6231239b6e4b28f76d173b',
|
||||
'oracle_timing.py': '39d8c47c94bc2faddf016864a43e7715907fb987f56f7b27098060a88851f6be',
|
||||
'compare_timing.py': '9010f070fba9b7c9cf2d86187ee2abc57f3ac606ebc08a42baad4f3922b51734',
|
||||
'timing_queue.py': '54df6d4818e2a0c26e96fb0aaf5d9b71cd964981706da937562d48af79aca14e',
|
||||
}
|
||||
COMPONENT_SHA256 = '5cfc9a4505da6b8fb4e7d2617cdaedaa8475ed46a11ec9bdf0d4d25b1d22c2d3'
|
||||
COHORTS = ('seed_validation', 'novel_to_aj')
|
||||
GROUPS = ('controls',) + COHORTS
|
||||
STAGES = ('controls', 'seed-probes', 'seed-validation', 'novel-probes', 'novel-validation')
|
||||
_BUDGET_KEYS = frozenset(('budget_root', 'output_budget_bytes'))
|
||||
_LOADED = {}
|
||||
|
||||
|
||||
def require(ok, message):
|
||||
if not ok:
|
||||
raise ValueError(message)
|
||||
|
||||
|
||||
def read(path):
|
||||
return json.loads(Path(path).read_text(encoding='utf-8'))
|
||||
|
||||
|
||||
def digest(path):
|
||||
result = hashlib.sha256()
|
||||
with Path(path).open('rb') as stream:
|
||||
for block in iter(lambda: stream.read(8 << 20), b''):
|
||||
result.update(block)
|
||||
return result.hexdigest()
|
||||
|
||||
|
||||
def save(path, report):
|
||||
if path is None:
|
||||
return
|
||||
path = Path(path)
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
with path.open('x', encoding='utf-8') as stream:
|
||||
json.dump(report, stream, ensure_ascii=False, indent=2, sort_keys=True, allow_nan=False)
|
||||
stream.write('\n')
|
||||
|
||||
|
||||
def load_checked(name, path, expected_hash):
|
||||
"""Execute the verified bytes with importlib metadata, without old pyc writes."""
|
||||
path = Path(path).absolute()
|
||||
data = path.read_bytes()
|
||||
require(hashlib.sha256(data).hexdigest() == expected_hash, 'Sealed source SHA mismatch: ' + str(path))
|
||||
if name in sys.modules:
|
||||
existing = sys.modules[name]
|
||||
require(Path(getattr(existing, '__file__', '')).absolute() == path and
|
||||
_LOADED.get(name) == (path, expected_hash, existing),
|
||||
'Refusing an existing unverified module name: ' + name)
|
||||
return existing
|
||||
spec = importlib.util.spec_from_file_location(name, path)
|
||||
require(spec is not None and spec.loader is not None, 'Cannot create sealed module specification')
|
||||
module = importlib.util.module_from_spec(spec)
|
||||
sys.modules[name] = module
|
||||
try:
|
||||
exec(compile(data, str(path), 'exec'), module.__dict__)
|
||||
except BaseException:
|
||||
sys.modules.pop(name, None)
|
||||
raise
|
||||
# Keep verification metadata here, not in the sealed module's globals.
|
||||
_LOADED[name] = (path, expected_hash, module)
|
||||
return module
|
||||
|
||||
|
||||
def sealed(filename, aj_model=None):
|
||||
require(filename in AJ_PINS, 'Unregistered AJ module')
|
||||
if aj_model is None:
|
||||
from context import AJ_MODEL
|
||||
aj_model = AJ_MODEL
|
||||
directory = Path(aj_model)
|
||||
if filename == 'gpu_timing.py':
|
||||
load_checked('timing_queue', directory / 'timing_queue.py', AJ_PINS['timing_queue.py'])
|
||||
name = 'phase4ak_sealed_aj_' + Path(filename).stem
|
||||
return load_checked(name, directory / filename, AJ_PINS[filename])
|
||||
|
||||
|
||||
def case_spec(case_dir):
|
||||
spec = read(Path(case_dir) / 'spec.json')
|
||||
require(isinstance(spec.get('name'), str) and re.fullmatch(r'[A-Za-z0-9_-]+', spec['name']), 'Unsafe case name')
|
||||
require(type(spec.get('apl_delay_steps')) is int and spec['apl_delay_steps'] == 18, 'AK permits fixed D18 only')
|
||||
require(spec.get('steps') == 1000 and type(spec['steps']) is int and spec.get('dt_ms') == .1 and
|
||||
spec.get('duration_ms') == 100.0 and spec.get('record_history') is False,
|
||||
'AK requires the unchanged fullgraph 100 ms window')
|
||||
require(spec.get('training') is False and spec.get('poi_used', False) is False and
|
||||
spec.get('precision') == 'float64' and spec.get('apl_precision') == 'float32',
|
||||
'Frozen no-learning / no-poi / precision scope changed')
|
||||
require(spec.get('apl') == {'tau_ms': 20, 'gain': .01, 'normalization': 1}, 'Frozen APL parameters changed')
|
||||
for field in ('graph_dir', 'apl_bundle_dir', 'coefficients_path', 'science_python', 'legacy_apl_worker'):
|
||||
require(field in spec and Path(spec[field]).is_absolute(), 'Missing absolute path: ' + field)
|
||||
require(isinstance(spec.get('model'), dict), 'Missing original author parameter dictionary')
|
||||
return spec
|
||||
|
||||
|
||||
def _new_output(case_dir, out_dir):
|
||||
spec = case_spec(case_dir)
|
||||
output = Path(out_dir).absolute()
|
||||
budget_root = Path(spec['budget_root']).absolute()
|
||||
require(type(spec.get('output_budget_bytes')) is int and spec['output_budget_bytes'] > 0,
|
||||
'Missing positive output budget')
|
||||
require(output.is_relative_to(budget_root) and output != budget_root and not output.exists(),
|
||||
'Output must be a new exclusive child of this case budget root')
|
||||
return spec
|
||||
|
||||
|
||||
def _receipt(output, backend, filename, aj_model):
|
||||
module = sealed(filename, aj_model)
|
||||
require(digest(module.__file__) == AJ_PINS[filename], 'Sealed runtime changed during invocation')
|
||||
receipt = {'backend': backend, 'sealed_runtime': str(module.__file__),
|
||||
'sealed_runtime_sha256': AJ_PINS[filename], 'apl_delay_steps': 18,
|
||||
'old_module_scientific_globals_changed': False, 'dynamics_copied_or_reimplemented': False,
|
||||
'scope': 'Unchanged AJ runtime called with new case/output/build arguments; not a new numerical model'}
|
||||
save(Path(output) / 'runtime-bridge.json', receipt)
|
||||
|
||||
|
||||
def run_gpu(case_dir, out_dir, build_root, *, aj_model=None):
|
||||
spec = _new_output(case_dir, out_dir)
|
||||
build_root = Path(build_root).absolute()
|
||||
require(build_root.is_relative_to(Path(spec['budget_root']).absolute()) and
|
||||
build_root != Path(spec['budget_root']).absolute(), 'Build cache must stay in the new experiment')
|
||||
module = sealed('gpu_timing.py', aj_model)
|
||||
result = module.run_gpu(Path(case_dir), Path(out_dir), build_root)
|
||||
_receipt(out_dir, 'gpu', 'gpu_timing.py', aj_model)
|
||||
return result
|
||||
|
||||
|
||||
def run_oracle(case_dir, out_dir, *, aj_model=None):
|
||||
_new_output(case_dir, out_dir)
|
||||
require('torch' not in sys.modules, 'Pinned Brian process must not import Torch')
|
||||
module = sealed('oracle_timing.py', aj_model)
|
||||
result = module.run_case(Path(case_dir), Path(out_dir))
|
||||
_receipt(out_dir, 'oracle', 'oracle_timing.py', aj_model)
|
||||
return result
|
||||
|
||||
|
||||
def compare(case_dir, gpu_dir, cpu_dir, out_json=None, *, aj_model=None):
|
||||
case_spec(case_dir)
|
||||
return sealed('compare_timing.py', aj_model).compare(case_dir, gpu_dir, cpu_dir, out_json)
|
||||
|
||||
|
||||
def compare_gpu_repeats(first, second, out_json=None, *, aj_model=None):
|
||||
require(all(read(Path(path) / 'summary.json').get('apl_delay_steps') == 18 for path in (first, second)),
|
||||
'Repeat evidence must be fixed D18')
|
||||
return sealed('compare_timing.py', aj_model).compare_gpu_repeats(first, second, out_json)
|
||||
|
||||
|
||||
def component(output, bundle, out_json, *, ag_model=None):
|
||||
if ag_model is None:
|
||||
from context import AG_MODEL
|
||||
ag_model = AG_MODEL
|
||||
module = load_checked('phase4ak_sealed_ag_components', Path(ag_model) / 'validate_components.py', COMPONENT_SHA256)
|
||||
return module.validate(Path(output), Path(bundle), Path(out_json))
|
||||
|
||||
|
||||
def control_inputs(newcase, oldcase):
|
||||
"""Only budget metadata may differ; all saved request/drive bytes are identical."""
|
||||
newcase, oldcase = Path(newcase), Path(oldcase)
|
||||
fresh, old = case_spec(newcase), case_spec(oldcase)
|
||||
require({k: v for k, v in fresh.items() if k not in _BUDGET_KEYS} ==
|
||||
{k: v for k, v in old.items() if k not in _BUDGET_KEYS},
|
||||
'D18 control scientific specification changed beyond the two budget fields')
|
||||
evidence = {str(folder / 'spec.json'): digest(folder / 'spec.json') for folder in (newcase, oldcase)}
|
||||
files = ['requests.npz', 'pn-drive.npz']
|
||||
require((newcase / 'arrays.npz').exists() == (oldcase / 'arrays.npz').exists(), 'Control initial-state presence changed')
|
||||
if (newcase / 'arrays.npz').exists():
|
||||
files.append('arrays.npz')
|
||||
for name in files:
|
||||
first, second = digest(newcase / name), digest(oldcase / name)
|
||||
require(first == second, 'Control input byte mismatch: ' + name)
|
||||
evidence[str(newcase / name)], evidence[str(oldcase / name)] = first, second
|
||||
return fresh, old, evidence
|
||||
|
||||
|
||||
def control_identity(newdir, olddir, newcase, oldcase, out_json=None, *, aj_model=None):
|
||||
"""D18 scientific identity using unchanged AJ comparison primitives.
|
||||
|
||||
Unlike the AJ D0-vs-AG adapter, this checks real D18 applied/pending files.
|
||||
Input SHA fields are checked against each real spec, not compared after
|
||||
deleting metadata. Only build/cache paths and the two budget fields are
|
||||
permitted to differ; all numerical/timing/component evidence stays exact.
|
||||
"""
|
||||
require(out_json is None or not Path(out_json).exists(), 'Refusing existing control report')
|
||||
aj = sealed('compare_timing.py', aj_model)
|
||||
checks, differences, used = {}, {}, set()
|
||||
report = {'kind': 'fixed-D18 same-input sealed-AJ control identity', 'pass_all': False,
|
||||
'new_output': str(newdir), 'old_output': str(olddir), 'new_case': str(newcase), 'old_case': str(oldcase),
|
||||
'apl_delay_steps': 18, 'tolerance': None, 'signed_zero_included': True,
|
||||
'dynamics_copied_or_reimplemented': False, 'old_globals_patched': False,
|
||||
'independent_CPU_all_components_claim': False,
|
||||
'allowed_case_metadata_differences': sorted(_BUDGET_KEYS),
|
||||
'build_and_wall_metadata_compared': False}
|
||||
try:
|
||||
spec, old_spec, inputs = control_inputs(newcase, oldcase)
|
||||
used.update(Path(path) for path in inputs)
|
||||
checks['control_input_spec_and_bytes'] = True
|
||||
steps, n, edges = spec['steps'], 166700, 25582938
|
||||
left = aj._load_run(Path(newdir), 'fresh_gpu', n, edges, steps, False, spec['name'], 18, used, checks)
|
||||
right = aj._load_run(Path(olddir), 'sealed_gpu', n, edges, steps, False, spec['name'], 18, used, checks)
|
||||
aj._pair_outputs(left, right, checks, differences, n, steps, False)
|
||||
for role, run, case, case_input in (('fresh_gpu', left, Path(newcase), spec),
|
||||
('sealed_gpu', right, Path(oldcase), old_spec)):
|
||||
aj._timing_sequence_checks(run['apl']['inhibition'], run['apl']['applied'], run['pending'],
|
||||
18, role, checks, differences)
|
||||
aj._timing_metadata_checks(run, role, 18, steps, checks)
|
||||
expected = {name: digest(case / name) for name in ('spec.json', 'requests.npz')}
|
||||
if (case / 'arrays.npz').exists():
|
||||
expected['arrays.npz'] = digest(case / 'arrays.npz')
|
||||
weight, coeff = Path(case_input['graph_dir']) / 'weights.npy', Path(case_input['coefficients_path'])
|
||||
used.update((weight, coeff))
|
||||
expected.update({'base_weights.npy': digest(weight), 'coefficients.json': digest(coeff)})
|
||||
checks[role + '.actual_input_hashes'] = run['summary'].get('input_sha256') == expected
|
||||
stable = ('case', 'complete', 'pass_all', 'steps', 'completed_ticks', 'nodes', 'edges', 'precision',
|
||||
'apl_precision', 'state_units', 'total_spikes', 'requested', 'accepted_requests', 'rejected_requests',
|
||||
'arriving_edges', 'accepted_arriving_edges', 'counts_match_sparse_events', 'all_finite', 'record_history',
|
||||
'apl_fast_edges_zeroed', 'kc_targets_present', 'effective_weights_raw_sha256', 'apl_schedule',
|
||||
'apl_si_conversion', 'sealed_ae_backend_sha256', 'learning', 'apl_delay_steps', 'apl_timing',
|
||||
'source_provenance', 'pending_generated_count', 'pending_initial_zero_prefix', 'pending_tail_shape',
|
||||
'future_generated_decay_tail_included')
|
||||
for key in stable:
|
||||
checks['summary.' + key] = key in left['summary'] and key in right['summary'] and left['summary'][key] == right['summary'][key]
|
||||
checks['timing_audit.parsed_exact'] = left['timing'] == right['timing']
|
||||
report.update(case=spec['name'], steps=steps, nodes=n, edges=edges,
|
||||
scope='Six state arrays, every tick state/queue/request, generated/applied/pending APL, component and timing metadata')
|
||||
except Exception as error:
|
||||
report['error'] = {'type': type(error).__name__, 'message': str(error)}
|
||||
return aj._finish(report, checks, differences, used, out_json)
|
||||
|
||||
|
||||
def inventories(exp, cfg):
|
||||
"""Validate static cells before choosing any dynamic case; no old dynamic read."""
|
||||
exp = Path(exp)
|
||||
controls = read(exp / 'protocol/control-cases.json')
|
||||
records = read(exp / 'protocol/validation-cases.json')
|
||||
require(isinstance(controls, list) and len(controls) == 2 and
|
||||
[row['name'] for row in controls] == cfg['control_cases'], 'Unexpected control inventory')
|
||||
for row in controls:
|
||||
require(re.fullmatch(r'[A-Za-z0-9_-]+', row['name']) and
|
||||
all(Path(row[key]).is_absolute() for key in ('source_case', 'source_output')), 'Invalid control identity/path')
|
||||
design = cfg['validation']
|
||||
require(design['cohorts'] == list(COHORTS) and len(design['seeds']) == 5 and len(set(design['seeds'])) == 5 and
|
||||
design['modes'] == ['physiological', 'matched_energy'] and design['odor_count'] == 6 and
|
||||
design['repeat_first_seed_each_odor'] is True, 'Fixed validation design changed')
|
||||
require(isinstance(records, list) and len(records) == 120, 'Expected 120 predeclared cases')
|
||||
cells, names = set(), set()
|
||||
for row in records:
|
||||
key = (row['cohort'], row['mode'], row['odor_index'], row['seed'])
|
||||
require(re.fullmatch(r'[A-Za-z0-9_-]+', row['name']) and row['name'] not in names and key not in cells,
|
||||
'Duplicate/unsafe case identity')
|
||||
require(type(row['odor_index']) is int and type(row['seed']) is int, 'Noninteger odor/seed')
|
||||
cells.add(key); names.add(row['name'])
|
||||
expected = {(cohort, mode, oi, seed) for cohort in COHORTS for mode in design['modes']
|
||||
for oi in range(6) for seed in design['seeds']}
|
||||
require(cells == expected, 'Missing or substituted validation cell')
|
||||
return controls, records
|
||||
|
||||
|
||||
def cohort_rows(records, cfg, cohort):
|
||||
require(cohort in COHORTS, 'Unknown validation cohort')
|
||||
design = cfg['validation']
|
||||
return sorted((row for row in records if row['cohort'] == cohort),
|
||||
key=lambda row: (design['modes'].index(row['mode']), row['odor_index'], design['seeds'].index(row['seed'])))
|
||||
|
||||
|
||||
def probe_rows(records, cfg, cohort):
|
||||
rows = [row for row in cohort_rows(records, cfg, cohort)
|
||||
if row['odor_index'] == 0 and row['seed'] == cfg['validation']['seeds'][0]]
|
||||
require(len(rows) == 2 and [row['mode'] for row in rows] == cfg['validation']['modes'], 'Fixed probe selection changed')
|
||||
return rows
|
||||
|
||||
|
||||
def ensure_unstopped(exp):
|
||||
markers = sorted((Path(exp) / 'audit').glob('stopped-*.json'))
|
||||
require(not markers, 'A prior stop marker forbids all new scientific actions: ' + ', '.join(path.name for path in markers))
|
||||
|
||||
|
||||
def guarded_action(exp, backend, group, name, repeat, action):
|
||||
"""Persist failure after invoking an authorized scientific action, even standalone.
|
||||
|
||||
The caller performs input authorization and external idle preflight first.
|
||||
A failure here is an execution/audit failure, not evidence of instability.
|
||||
"""
|
||||
require(backend in ('gpu', 'oracle', 'component') and group in GROUPS and
|
||||
isinstance(name, str) and re.fullmatch(r'[A-Za-z0-9_-]+', name) and
|
||||
type(repeat) is int and repeat in (0, 1), 'Invalid guarded action identity')
|
||||
ensure_unstopped(exp)
|
||||
try:
|
||||
return action()
|
||||
except Exception as error:
|
||||
save(Path(exp) / 'audit' / f'stopped-case-{backend}-{group}-{name}-r{repeat}.json', {
|
||||
'stage': 'case', 'backend': backend, 'group': group, 'case': name, 'repeat': repeat,
|
||||
'type': type(error).__name__, 'message': str(error), 'traceback': traceback.format_exc(),
|
||||
'stop_kind': 'execution_or_numerical_failure', 'scientific_action_invoked': True,
|
||||
'numerical_instability_inferred_from_execution_error': False,
|
||||
'later_stages_not_permitted': True, 'partial_outputs_preserved': True,
|
||||
'parameters_changed': False, 'replacement_seeds_or_odors_selected': False})
|
||||
raise
|
||||
|
||||
|
||||
def validate_summary_coverage(summary, exp, cfg, cohort, *, representation=False):
|
||||
"""Bind the unlock to this cohort's exact 60 base / 12 repeat / 72 timing cells."""
|
||||
_, records = inventories(exp, cfg)
|
||||
rows = cohort_rows(records, cfg, cohort)
|
||||
expected = {row['name'] for row in rows}
|
||||
repeated = {row['name'] for row in rows if row['seed'] == cfg['validation']['seeds'][0]}
|
||||
timing = {(name, 0) for name in expected} | {(name, 1) for name in repeated}
|
||||
require(summary.get('cohort') == cohort and summary.get('phase') == '4AK' and
|
||||
summary.get('apl_delay_steps') == 18 and summary.get('seeds') == cfg['validation']['seeds'] and
|
||||
summary.get('duration_ms') == 100.0, 'Validation summary identity/window differs')
|
||||
require(summary.get('expected_base_trials') == summary.get('valid_base_trials') == 60 and
|
||||
summary.get('expected_repeats') == summary.get('checked_repeats') == 12 and
|
||||
summary.get('checked_timing_trials') == 72, 'Incomplete validation coverage')
|
||||
base_rows, repeat_rows, timing_rows = (summary.get(key, []) for key in ('runs', 'repeats', 'timing_checks'))
|
||||
require(len(base_rows) == 60 and {row['case'] for row in base_rows} == expected and
|
||||
all(row.get('cohort') == cohort and row.get('validation_cohort') == cohort for row in base_rows),
|
||||
'Base-trial identities differ from the fixed cohort inventory')
|
||||
require(len(repeat_rows) == 12 and {row['case'] for row in repeat_rows} == repeated and
|
||||
all(row.get('pass_all') is True for row in repeat_rows), 'Exact-repeat identities/coverage failed')
|
||||
require(len(timing_rows) == 72 and {(row['case'], row['repeat']) for row in timing_rows} == timing and
|
||||
all(type(row['repeat']) is int and row.get('pass_all') is True and row.get('apl_delay_steps') == 18
|
||||
and row.get('steps') == 1000 for row in timing_rows), 'Timing identities/coverage failed')
|
||||
proof = summary.get('input_output_provenance', [])
|
||||
require(len(proof) == 72 and {(row['case'], row['repeat']) for row in proof} == timing,
|
||||
'Per-run evidence provenance does not cover exactly the registered cells')
|
||||
require(summary.get('prerequisite_input_sha256', {}).get('validation_inventory') ==
|
||||
digest(Path(exp) / 'protocol/validation-cases.json'), 'Summary was derived from a different validation inventory')
|
||||
require(summary.get('execution_gate_pass') is True and summary.get('numerical_integrity_pass') is True and
|
||||
summary.get('exact_repeat_pass') is True, 'Validation execution/numerical/repeat gate failed')
|
||||
require(set(summary.get('modes', {})) == set(cfg['validation']['modes']), 'Incomplete mode summaries')
|
||||
if representation:
|
||||
require(summary.get('representation_gate_pass') is True and summary.get('pass_all') is True and
|
||||
all(summary['modes'][mode].get('gate') is True for mode in cfg['validation']['modes']),
|
||||
'Seed representation summary does not authorize novel dynamics')
|
||||
|
||||
|
||||
def gate_pass(exp, stage, *, representation=False, cfg=None):
|
||||
report = read(Path(exp) / 'audit' / (stage + '-gate.json'))
|
||||
require(report.get('stage') == stage and report.get('pass_all') is True, 'Required execution gate failed: ' + stage)
|
||||
if representation:
|
||||
require(stage == 'seed-validation', 'Only the complete seed block unlocks novel trajectories')
|
||||
require(report.get('execution_gate_pass') is True and report.get('representation_gate_pass') is True,
|
||||
'Complete seed representation/execution gate required before novel dynamics')
|
||||
if cfg is None:
|
||||
from context import CFG
|
||||
cfg = CFG
|
||||
path = Path(exp) / 'validation/seed_validation/summary.json'
|
||||
require(report.get('cohort') == 'seed_validation' and
|
||||
report.get('summary') == 'validation/seed_validation/summary.json' and
|
||||
report.get('summary_sha256') == digest(path), 'Seed gate is not bound to this exact summary')
|
||||
require(report.get('validation_inventory_sha256') == digest(Path(exp) / 'protocol/validation-cases.json'),
|
||||
'Seed gate inventory digest differs')
|
||||
validate_summary_coverage(read(path), exp, cfg, 'seed_validation', representation=True)
|
||||
return report
|
||||
|
||||
|
||||
def authorize_case(exp, cfg, group, name, backend, repeat):
|
||||
ensure_unstopped(exp)
|
||||
require(group in GROUPS and backend in ('gpu', 'oracle', 'component') and type(repeat) is int and repeat in (0, 1),
|
||||
'Invalid runtime action')
|
||||
controls, records = inventories(exp, cfg)
|
||||
rows = controls if group == 'controls' else cohort_rows(records, cfg, group)
|
||||
selected = [row for row in rows if row['name'] == name]
|
||||
require(len(selected) == 1, 'Case not in the registered group inventory')
|
||||
row = selected[0]
|
||||
if group == 'controls':
|
||||
require(repeat == 0 and backend in ('gpu', 'component'), 'Controls are single fresh GPU identity runs')
|
||||
else:
|
||||
gate_pass(exp, 'controls')
|
||||
if group == 'novel_to_aj':
|
||||
gate_pass(exp, 'seed-validation', representation=True, cfg=cfg)
|
||||
probes = {item['name'] for item in probe_rows(records, cfg, group)}
|
||||
probe_stage = 'seed-probes' if group == 'seed_validation' else 'novel-probes'
|
||||
if name not in probes or repeat:
|
||||
gate_pass(exp, probe_stage)
|
||||
if backend in ('oracle', 'component'):
|
||||
require(name in probes and repeat == 0, 'Oracle/component scope is the two fixed probes per cohort')
|
||||
if repeat:
|
||||
require(backend == 'gpu' and row['seed'] == cfg['validation']['seeds'][0], 'Only declared first-seed repeats')
|
||||
return row
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,53 @@
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
import numpy as np
|
||||
from encoder_inputs import frozen_pn_drive, requests_from_forced, write_npz
|
||||
|
||||
|
||||
class EncoderInputTests(unittest.TestCase):
|
||||
def test_exact_frozen_encoder_ast_on_synthetic_static_mapping(self):
|
||||
import pandas as pd
|
||||
local = Path(__file__).resolve().parents[1] / 'models/male-cns-lif/phase4l.py'
|
||||
source = local if local.exists() else Path('/data/digital-drosophila/models/male-cns-lif/phase4l.py')
|
||||
pin = 'e97d58d8c1f44920d0e953f8f5831ddc86fa0198784e86460e315de4116ac553'
|
||||
function, ast_sha = frozen_pn_drive(source, pin)
|
||||
self.assertEqual(len(ast_sha), 64)
|
||||
mapping = pd.DataFrame(dict(glomerulus=['G2', 'G2', 'G1', 'G1'],
|
||||
mapping_confidence=['exact', 'alias-normalized', 'exact', 'unknown'], neuron_idx=[3, 1, 7, 999]))
|
||||
cfg = {'odor_encoder': {'max_total_rate_per_glomerulus_hz': 400}}
|
||||
target, rates, _ = function('synthetic', np.array([.5, .25], np.float32), mapping,
|
||||
['G2', 'G1'], 'matched_energy', 1.5, cfg)
|
||||
np.testing.assert_array_equal(target, np.array([3, 1, 7], np.int32))
|
||||
np.testing.assert_array_equal(rates, np.array([200, 200, 200], np.float32))
|
||||
with self.assertRaises(AssertionError):
|
||||
frozen_pn_drive(source, '0' * 64)
|
||||
|
||||
def test_rng_column_order_preserved_until_request_sort(self):
|
||||
targets = np.array([10, 1, 3], np.int32)
|
||||
forced = np.array([[True, True, False], [False, True, True]], np.bool_)
|
||||
actual = requests_from_forced(forced, targets)
|
||||
np.testing.assert_array_equal(actual, np.array([[0, 1], [0, 10], [1, 1], [1, 3]], np.int32))
|
||||
np.testing.assert_array_equal(targets, np.array([10, 1, 3], np.int32))
|
||||
|
||||
def test_duplicate_targets_rejected_not_merged(self):
|
||||
with self.assertRaises(AssertionError):
|
||||
requests_from_forced(np.ones((2, 2), np.bool_), np.array([1, 1], np.int32))
|
||||
|
||||
def test_empty_sparse_schedule_has_exact_shape_and_dtype(self):
|
||||
result = requests_from_forced(np.zeros((3, 2), np.bool_), np.array([2, 1], np.int32))
|
||||
self.assertEqual(result.shape, (0, 2))
|
||||
self.assertEqual(result.dtype, np.int32)
|
||||
|
||||
def test_npz_creation_is_exclusive(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
path = Path(directory) / 'schedule.npz'
|
||||
write_npz(path, tick=np.array([1], np.int32))
|
||||
with np.load(path, allow_pickle=False) as stored:
|
||||
np.testing.assert_array_equal(stored['tick'], np.array([1], np.int32))
|
||||
with self.assertRaises(FileExistsError):
|
||||
write_npz(path, tick=np.array([2], np.int32))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,39 @@
|
||||
import unittest
|
||||
from finalize import decide_status
|
||||
|
||||
|
||||
class FinalStatusTests(unittest.TestCase):
|
||||
def decide(self, **overrides):
|
||||
args = dict(numerical=True, seed=dict(execution_gate_pass=True, representation_gate_pass=True),
|
||||
novel=dict(execution_gate_pass=True, representation_gate_pass=True), integrity_pass=True,
|
||||
reference_pass=True, reference_present=True)
|
||||
args.update(overrides)
|
||||
return decide_status(**args)
|
||||
|
||||
def test_complete_only_representation_pass_is_not_named_learning(self):
|
||||
self.assertEqual(self.decide(), 'PASS-FROZEN-D18-INDEPENDENT-VALIDATION')
|
||||
|
||||
def test_seed_failure_without_novel_is_completed_scientific_failure(self):
|
||||
self.assertEqual(self.decide(seed=dict(execution_gate_pass=True, representation_gate_pass=False), novel=None),
|
||||
'FAIL-SEED-VALIDATION-REPRESENTATION')
|
||||
|
||||
def test_novel_gate_failure_is_preserved(self):
|
||||
self.assertEqual(self.decide(novel=dict(execution_gate_pass=True, representation_gate_pass=False)),
|
||||
'FAIL-NOVEL-ODOR-REPRESENTATION')
|
||||
|
||||
def test_missing_execution_or_reference_is_not_scientific_pass(self):
|
||||
for changes in (dict(numerical=False), dict(novel=None), dict(reference_present=False), dict(seed=None)):
|
||||
with self.subTest(changes=changes):
|
||||
self.assertEqual(self.decide(**changes), 'INCOMPLETE-VALIDATION-EXECUTION')
|
||||
|
||||
def test_numerical_and_unlock_failure_are_not_representation_results(self):
|
||||
self.assertEqual(self.decide(known_numerical_failure=True), 'FAIL-NUMERICAL-OR-EXECUTION-POLICY')
|
||||
self.assertEqual(self.decide(unauthorized_novel=True), 'FAIL-NUMERICAL-OR-EXECUTION-POLICY')
|
||||
|
||||
def test_old_integrity_or_reference_fail_overrides_new_pass(self):
|
||||
self.assertEqual(self.decide(integrity_pass=False), 'FAIL-FROZEN-INTEGRITY-OR-REGRESSION')
|
||||
self.assertEqual(self.decide(reference_pass=False), 'FAIL-FROZEN-INTEGRITY-OR-REGRESSION')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,409 @@
|
||||
"""CPU-only synthetic tests: no Torch/Brian import, GPU, remote, or brain run."""
|
||||
import copy
|
||||
import hashlib
|
||||
import importlib.util
|
||||
import json
|
||||
from pathlib import Path
|
||||
import sys
|
||||
import tempfile
|
||||
import types
|
||||
import unittest
|
||||
from unittest import mock
|
||||
|
||||
import numpy as np
|
||||
|
||||
import runtime_bridge as bridge
|
||||
|
||||
|
||||
HERE = Path(__file__).absolute().parent
|
||||
AJ = HERE.parent / 'apl-timing-lab-v1'
|
||||
|
||||
|
||||
def write_json(path, data):
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
path.write_text(json.dumps(data), encoding='utf-8')
|
||||
|
||||
|
||||
def spec(root, name='cal-physiological-00-s51101'):
|
||||
return dict(name=name, kind='calibration', steps=1000, dt_ms=.1, duration_ms=100.,
|
||||
model={'fixed': True}, graph_dir=str(root / 'graph'), apl_bundle_dir=str(root / 'bundle'),
|
||||
coefficients_path=str(root / 'coefficients.json'), science_python=str(root / 'venv/python'),
|
||||
legacy_apl_worker=str(root / 'legacy_apl_worker.py'),
|
||||
apl={'tau_ms': 20., 'gain': .01, 'normalization': 1.}, apl_delay_steps=18,
|
||||
record_history=False, training=False, precision='float64', apl_precision='float32',
|
||||
budget_root=str(root / 'old-exp'), output_budget_bytes=1024)
|
||||
|
||||
|
||||
def inventory(root):
|
||||
cfg = dict(control_cases=['control-phys', 'control-matched'], validation={
|
||||
'cohorts': list(bridge.COHORTS), 'seeds': [101, 102, 103, 104, 105],
|
||||
'modes': ['physiological', 'matched_energy'], 'odor_count': 6,
|
||||
'repeat_first_seed_each_odor': True})
|
||||
controls = [dict(name=name, source_case=str(root / 'old-cases' / name),
|
||||
source_output=str(root / 'old-gpu' / name)) for name in cfg['control_cases']]
|
||||
rows = [dict(cohort=cohort, mode=mode, odor_index=oi, seed=seed,
|
||||
name=f'{cohort}-{mode}-{oi:02d}-s{seed}') for cohort in bridge.COHORTS
|
||||
for mode in cfg['validation']['modes'] for oi in range(6) for seed in cfg['validation']['seeds']]
|
||||
write_json(root / 'protocol/control-cases.json', controls)
|
||||
write_json(root / 'protocol/validation-cases.json', rows)
|
||||
return cfg, rows
|
||||
|
||||
|
||||
def gate(root, stage, **values):
|
||||
write_json(root / 'audit' / (stage + '-gate.json'), dict(stage=stage, pass_all=True, **values))
|
||||
|
||||
|
||||
def seed_summary(root, cfg, rows):
|
||||
base = bridge.cohort_rows(rows, cfg, 'seed_validation')
|
||||
repeated = [row for row in base if row['seed'] == cfg['validation']['seeds'][0]]
|
||||
pairs = [(row['name'], 0) for row in base] + [(row['name'], 1) for row in repeated]
|
||||
return dict(phase='4AK', cohort='seed_validation', apl_delay_steps=18, duration_ms=100.,
|
||||
seeds=cfg['validation']['seeds'], pass_all=True, execution_gate_pass=True,
|
||||
representation_gate_pass=True, numerical_integrity_pass=True, exact_repeat_pass=True,
|
||||
expected_base_trials=60, valid_base_trials=60, expected_repeats=12, checked_repeats=12,
|
||||
checked_timing_trials=72, runs=[dict(case=row['name'], cohort='seed_validation',
|
||||
validation_cohort='seed_validation') for row in base],
|
||||
repeats=[dict(case=row['name'], pass_all=True) for row in repeated],
|
||||
timing_checks=[dict(case=name, repeat=repeat, pass_all=True, apl_delay_steps=18, steps=1000)
|
||||
for name, repeat in pairs], input_output_provenance=[dict(case=name, repeat=repeat) for name, repeat in pairs],
|
||||
modes={mode: dict(gate=True) for mode in cfg['validation']['modes']},
|
||||
prerequisite_input_sha256={'validation_inventory': bridge.digest(root / 'protocol/validation-cases.json')})
|
||||
|
||||
|
||||
def bind_seed_gate(root, summary):
|
||||
path = root / 'validation/seed_validation/summary.json'
|
||||
write_json(path, summary)
|
||||
gate(root, 'seed-validation', cohort='seed_validation', execution_gate_pass=True,
|
||||
representation_gate_pass=True, summary='validation/seed_validation/summary.json',
|
||||
summary_sha256=bridge.digest(path), validation_inventory_sha256=bridge.digest(root / 'protocol/validation-cases.json'))
|
||||
|
||||
|
||||
class LoaderTests(unittest.TestCase):
|
||||
def test_verified_import_preserves_file_and_globals_without_pyc(self):
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
path = Path(temporary) / 'sealed.py'
|
||||
data = b'VALUE = 37\n'
|
||||
path.write_bytes(data)
|
||||
name = '_test_phase4ak_sealed'
|
||||
try:
|
||||
module = bridge.load_checked(name, path, hashlib.sha256(data).hexdigest())
|
||||
self.assertEqual(module.VALUE, 37)
|
||||
self.assertEqual(Path(module.__file__), path)
|
||||
self.assertIs(bridge.load_checked(name, path, hashlib.sha256(data).hexdigest()), module)
|
||||
self.assertNotIn('__phase4ak_loaded_sha256__', module.__dict__)
|
||||
self.assertFalse((path.parent / '__pycache__').exists())
|
||||
finally:
|
||||
sys.modules.pop(name, None); bridge._LOADED.pop(name, None)
|
||||
|
||||
def test_sha_checked_before_execution(self):
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
path = Path(temporary) / 'sealed.py'
|
||||
path.write_text('raise RuntimeError("must not execute")', encoding='utf-8')
|
||||
with self.assertRaisesRegex(ValueError, 'SHA mismatch'):
|
||||
bridge.load_checked('_test_bad_pin', path, '0' * 64)
|
||||
self.assertNotIn('_test_bad_pin', sys.modules)
|
||||
|
||||
def test_existing_name_collision_is_not_silently_replaced(self):
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
path = Path(temporary) / 'sealed.py'
|
||||
path.write_text('VALUE = 1', encoding='utf-8')
|
||||
old = types.ModuleType('_test_collision')
|
||||
sys.modules[old.__name__] = old
|
||||
try:
|
||||
with self.assertRaisesRegex(ValueError, 'unverified module'):
|
||||
bridge.load_checked(old.__name__, path, bridge.digest(path))
|
||||
self.assertIs(sys.modules[old.__name__], old)
|
||||
finally:
|
||||
sys.modules.pop(old.__name__, None)
|
||||
|
||||
def test_real_pure_sealed_module_load_does_not_import_torch_or_brian(self):
|
||||
self.assertNotIn('torch', sys.modules)
|
||||
self.assertNotIn('brian2', sys.modules)
|
||||
compare = bridge.sealed('compare_timing.py', AJ)
|
||||
self.assertEqual(bridge.digest(compare.__file__), bridge.AJ_PINS['compare_timing.py'])
|
||||
self.assertTrue(callable(compare.compare))
|
||||
self.assertNotIn('torch', sys.modules)
|
||||
self.assertNotIn('brian2', sys.modules)
|
||||
|
||||
|
||||
class InputTests(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.temporary = tempfile.TemporaryDirectory()
|
||||
self.root = Path(self.temporary.name)
|
||||
self.old, self.new = self.root / 'old', self.root / 'new'
|
||||
self.old.mkdir(); self.new.mkdir()
|
||||
self.old_spec = spec(self.root)
|
||||
self.new_spec = dict(self.old_spec, budget_root=str(self.root / 'new-exp'), output_budget_bytes=2048)
|
||||
write_json(self.old / 'spec.json', self.old_spec)
|
||||
write_json(self.new / 'spec.json', self.new_spec)
|
||||
for name in ('requests.npz', 'pn-drive.npz'):
|
||||
for directory in (self.old, self.new):
|
||||
(directory / name).write_bytes(b'identical synthetic saved input bytes')
|
||||
|
||||
def tearDown(self):
|
||||
self.temporary.cleanup()
|
||||
|
||||
def test_control_allows_only_budget_difference(self):
|
||||
fresh, old, evidence = bridge.control_inputs(self.new, self.old)
|
||||
self.assertEqual(fresh['apl_delay_steps'], old['apl_delay_steps'])
|
||||
self.assertEqual(len(evidence), 6)
|
||||
changed = dict(self.new_spec, mode='changed')
|
||||
write_json(self.new / 'spec.json', changed)
|
||||
with self.assertRaisesRegex(ValueError, 'beyond the two budget fields'):
|
||||
bridge.control_inputs(self.new, self.old)
|
||||
|
||||
def test_drive_and_request_bytes_both_checked(self):
|
||||
for name in ('requests.npz', 'pn-drive.npz'):
|
||||
with self.subTest(name=name):
|
||||
original = (self.new / name).read_bytes()
|
||||
(self.new / name).write_bytes(original + b'changed')
|
||||
with self.assertRaisesRegex(ValueError, name):
|
||||
bridge.control_inputs(self.new, self.old)
|
||||
(self.new / name).write_bytes(original)
|
||||
|
||||
def test_real_d18_required_no_fake_d0(self):
|
||||
for value in (0, True, 18.0):
|
||||
with self.subTest(value=value):
|
||||
write_json(self.new / 'spec.json', dict(self.new_spec, apl_delay_steps=value))
|
||||
with self.assertRaisesRegex(ValueError, 'D18'):
|
||||
bridge.control_inputs(self.new, self.old)
|
||||
|
||||
def test_initial_state_presence_and_bytes_checked(self):
|
||||
(self.new / 'arrays.npz').write_bytes(b'a')
|
||||
with self.assertRaisesRegex(ValueError, 'presence'):
|
||||
bridge.control_inputs(self.new, self.old)
|
||||
(self.old / 'arrays.npz').write_bytes(b'b')
|
||||
with self.assertRaisesRegex(ValueError, 'arrays.npz'):
|
||||
bridge.control_inputs(self.new, self.old)
|
||||
|
||||
def test_exclusive_output_and_new_budget_containment(self):
|
||||
root = Path(self.new_spec['budget_root'])
|
||||
root.mkdir()
|
||||
out = root / 'gpu' / 'run'
|
||||
bridge._new_output(self.new, out)
|
||||
out.mkdir(parents=True)
|
||||
with self.assertRaisesRegex(ValueError, 'exclusive'):
|
||||
bridge._new_output(self.new, out)
|
||||
with self.assertRaisesRegex(ValueError, 'exclusive'):
|
||||
bridge._new_output(self.new, self.root / 'elsewhere')
|
||||
|
||||
def test_control_refuses_overwrite_before_reading_outputs(self):
|
||||
report = self.root / 'report.json'
|
||||
report.write_text('keep me', encoding='utf-8')
|
||||
with self.assertRaisesRegex(ValueError, 'existing control'):
|
||||
bridge.control_identity('missing-new', 'missing-old', self.new, self.old, report)
|
||||
self.assertEqual(report.read_text(encoding='utf-8'), 'keep me')
|
||||
|
||||
|
||||
class GateTests(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.temporary = tempfile.TemporaryDirectory()
|
||||
self.root = Path(self.temporary.name)
|
||||
self.cfg, self.rows = inventory(self.root)
|
||||
|
||||
def tearDown(self):
|
||||
self.temporary.cleanup()
|
||||
|
||||
def test_exact_120_cells_and_fixed_two_probes(self):
|
||||
controls, rows = bridge.inventories(self.root, self.cfg)
|
||||
self.assertEqual(len(controls), 2)
|
||||
for cohort in bridge.COHORTS:
|
||||
probes = bridge.probe_rows(rows, self.cfg, cohort)
|
||||
self.assertEqual(len(probes), 2)
|
||||
self.assertTrue(all(row['odor_index'] == 0 and row['seed'] == 101 for row in probes))
|
||||
|
||||
def test_duplicate_or_replaced_cell_rejected(self):
|
||||
rows = copy.deepcopy(self.rows)
|
||||
rows[-1] = rows[0]
|
||||
write_json(self.root / 'protocol/validation-cases.json', rows)
|
||||
with self.assertRaises(ValueError):
|
||||
bridge.inventories(self.root, self.cfg)
|
||||
|
||||
def test_controls_do_not_run_brian_or_repeats(self):
|
||||
name = self.cfg['control_cases'][0]
|
||||
bridge.authorize_case(self.root, self.cfg, 'controls', name, 'gpu', 0)
|
||||
for backend, repeat in (('oracle', 0), ('gpu', 1)):
|
||||
with self.assertRaises(ValueError):
|
||||
bridge.authorize_case(self.root, self.cfg, 'controls', name, backend, repeat)
|
||||
|
||||
def test_probes_before_other_seed_runs(self):
|
||||
gate(self.root, 'controls')
|
||||
probe = bridge.probe_rows(self.rows, self.cfg, 'seed_validation')[0]
|
||||
bridge.authorize_case(self.root, self.cfg, 'seed_validation', probe['name'], 'oracle', 0)
|
||||
later = next(row for row in self.rows if row['cohort'] == 'seed_validation' and row['seed'] == 102)
|
||||
with self.assertRaises(FileNotFoundError):
|
||||
bridge.authorize_case(self.root, self.cfg, 'seed_validation', later['name'], 'gpu', 0)
|
||||
gate(self.root, 'seed-probes')
|
||||
bridge.authorize_case(self.root, self.cfg, 'seed_validation', later['name'], 'gpu', 0)
|
||||
with self.assertRaises(ValueError):
|
||||
bridge.authorize_case(self.root, self.cfg, 'seed_validation', later['name'], 'oracle', 0)
|
||||
with self.assertRaises(ValueError):
|
||||
bridge.authorize_case(self.root, self.cfg, 'seed_validation', later['name'], 'gpu', 1)
|
||||
|
||||
def test_novel_denied_on_representation_failure_even_execution_passes(self):
|
||||
gate(self.root, 'controls')
|
||||
gate(self.root, 'seed-validation', execution_gate_pass=True, representation_gate_pass=False)
|
||||
probe = bridge.probe_rows(self.rows, self.cfg, 'novel_to_aj')[0]
|
||||
with self.assertRaisesRegex(ValueError, 'representation'):
|
||||
bridge.authorize_case(self.root, self.cfg, 'novel_to_aj', probe['name'], 'gpu', 0)
|
||||
|
||||
def test_novel_requires_both_gate_and_underlying_summary(self):
|
||||
gate(self.root, 'controls')
|
||||
probe = bridge.probe_rows(self.rows, self.cfg, 'novel_to_aj')[0]
|
||||
summary = seed_summary(self.root, self.cfg, self.rows)
|
||||
summary['representation_gate_pass'] = False
|
||||
bind_seed_gate(self.root, summary)
|
||||
with self.assertRaisesRegex(ValueError, 'summary'):
|
||||
bridge.authorize_case(self.root, self.cfg, 'novel_to_aj', probe['name'], 'gpu', 0)
|
||||
summary['representation_gate_pass'] = True
|
||||
bind_seed_gate(self.root, summary)
|
||||
bridge.authorize_case(self.root, self.cfg, 'novel_to_aj', probe['name'], 'gpu', 0)
|
||||
|
||||
def test_novel_rejects_summary_hash_or_cohort_misbinding(self):
|
||||
gate(self.root, 'controls')
|
||||
summary = seed_summary(self.root, self.cfg, self.rows)
|
||||
bind_seed_gate(self.root, summary)
|
||||
probe = bridge.probe_rows(self.rows, self.cfg, 'novel_to_aj')[0]
|
||||
summary['cohort'] = 'novel_to_aj'
|
||||
write_json(self.root / 'validation/seed_validation/summary.json', summary)
|
||||
with self.assertRaisesRegex(ValueError, 'exact summary'):
|
||||
bridge.authorize_case(self.root, self.cfg, 'novel_to_aj', probe['name'], 'gpu', 0)
|
||||
bind_seed_gate(self.root, summary)
|
||||
with self.assertRaisesRegex(ValueError, 'identity'):
|
||||
bridge.authorize_case(self.root, self.cfg, 'novel_to_aj', probe['name'], 'gpu', 0)
|
||||
|
||||
def test_novel_rejects_replaced_case_repeat_or_timing_even_with_correct_counts(self):
|
||||
gate(self.root, 'controls')
|
||||
probe = bridge.probe_rows(self.rows, self.cfg, 'novel_to_aj')[0]
|
||||
for key in ('runs', 'repeats', 'timing_checks', 'input_output_provenance'):
|
||||
with self.subTest(key=key):
|
||||
summary = seed_summary(self.root, self.cfg, self.rows)
|
||||
summary[key][0]['case'] = 'not-a-registered-case'
|
||||
bind_seed_gate(self.root, summary)
|
||||
with self.assertRaises(ValueError):
|
||||
bridge.authorize_case(self.root, self.cfg, 'novel_to_aj', probe['name'], 'gpu', 0)
|
||||
|
||||
def test_any_stop_marker_prevents_all_scientific_actions(self):
|
||||
for kind in ('representation_failure', 'execution_or_numerical_failure'):
|
||||
with self.subTest(kind=kind):
|
||||
write_json(self.root / 'audit/stopped-seed-validation.json', {'stop_kind': kind})
|
||||
for backend in ('gpu', 'oracle', 'component'):
|
||||
with self.assertRaisesRegex(ValueError, 'stop marker'):
|
||||
bridge.authorize_case(self.root, self.cfg, 'controls', self.cfg['control_cases'][0], backend, 0)
|
||||
|
||||
def test_standalone_action_failure_persists_stop_and_never_retries(self):
|
||||
action = mock.Mock(side_effect=RuntimeError('synthetic failure; no science executed'))
|
||||
with self.assertRaisesRegex(RuntimeError, 'synthetic failure'):
|
||||
bridge.guarded_action(self.root, 'gpu', 'controls', 'control-phys', 0, action)
|
||||
marker = self.root / 'audit/stopped-case-gpu-controls-control-phys-r0.json'
|
||||
report = bridge.read(marker)
|
||||
self.assertEqual(report['stop_kind'], 'execution_or_numerical_failure')
|
||||
self.assertFalse(report['numerical_instability_inferred_from_execution_error'])
|
||||
before = marker.read_bytes()
|
||||
with self.assertRaisesRegex(ValueError, 'stop marker'):
|
||||
bridge.guarded_action(self.root, 'gpu', 'controls', 'control-phys', 0, action)
|
||||
self.assertEqual(action.call_count, 1)
|
||||
self.assertEqual(marker.read_bytes(), before)
|
||||
|
||||
def test_successful_guarded_action_adds_no_stop(self):
|
||||
expected = {'pass_all': True}
|
||||
self.assertIs(bridge.guarded_action(self.root, 'gpu', 'controls', 'control-phys', 0, lambda: expected), expected)
|
||||
bridge.ensure_unstopped(self.root)
|
||||
|
||||
|
||||
class InvocationTests(unittest.TestCase):
|
||||
def test_original_gpu_function_receives_new_paths_unchanged(self):
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
root = Path(temporary)
|
||||
case, output, build = root / 'case', root / 'new-exp/gpu/run', root / 'new-exp/build'
|
||||
data = spec(root)
|
||||
data['budget_root'] = str(root / 'new-exp')
|
||||
write_json(case / 'spec.json', data)
|
||||
runtime = types.SimpleNamespace(run_gpu=mock.Mock(return_value={'pass_all': True}))
|
||||
with mock.patch.object(bridge, 'sealed', return_value=runtime), mock.patch.object(bridge, '_receipt'):
|
||||
result = bridge.run_gpu(case, output, build)
|
||||
self.assertTrue(result['pass_all'])
|
||||
runtime.run_gpu.assert_called_once_with(case, output, build)
|
||||
|
||||
def test_original_oracle_function_is_not_given_candidate_trace(self):
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
root = Path(temporary)
|
||||
case, output = root / 'case', root / 'new-exp/oracle/run'
|
||||
data = spec(root); data['budget_root'] = str(root / 'new-exp')
|
||||
write_json(case / 'spec.json', data)
|
||||
runtime = types.SimpleNamespace(run_case=mock.Mock(return_value={'pass_all': True}))
|
||||
with mock.patch.object(bridge, 'sealed', return_value=runtime), mock.patch.object(bridge, '_receipt'):
|
||||
bridge.run_oracle(case, output)
|
||||
runtime.run_case.assert_called_once_with(case, output)
|
||||
|
||||
|
||||
class ControlEvidenceTests(unittest.TestCase):
|
||||
def test_real_sealed_comparator_accepts_complete_synthetic_d18_and_rejects_signed_zero_tail(self):
|
||||
# Artifact construction only: these zero traces were not produced by any model.
|
||||
aj = bridge.sealed('compare_timing.py', AJ)
|
||||
timing = bridge.sealed('timing_queue.py', AJ)
|
||||
with tempfile.TemporaryDirectory() as temporary:
|
||||
root = Path(temporary)
|
||||
cases, outputs = [root / name for name in ('old-case', 'new-case')], [root / name for name in ('old-out', 'new-out')]
|
||||
base = spec(root)
|
||||
(root / 'graph').mkdir()
|
||||
np.save(root / 'graph/weights.npy', np.zeros(1, np.float64), allow_pickle=False)
|
||||
write_json(root / 'coefficients.json', {'synthetic_only': True})
|
||||
states = dict(v=np.zeros(166700, np.float64), g=np.zeros(166700, np.float64),
|
||||
ref=np.zeros(166700, np.int32), counts=np.zeros(166700, np.int32),
|
||||
step=np.empty(0, np.int32), neuron_idx=np.empty(0, np.int32))
|
||||
generated = np.zeros((1000, 4064), np.float32)
|
||||
pending = np.zeros((18, 4064), np.float32)
|
||||
audit = timing.audit_sequence(generated, generated, pending, 18)
|
||||
audit.update(generated_rows=1000, applied_generated_rows=982, pending_shape=[18, 4064],
|
||||
pending_application_tick_start=1000, pending_application_tick_stop_exclusive=1018,
|
||||
pending_generated_tick_start=982, pending_generated_tick_stop_exclusive=1000,
|
||||
pending_raw_sha256=aj.raw_hash(pending), final_apl_state_float32=[0., 0.],
|
||||
final_apl_state_u32_bits=[0, 0], final_apl_state_nonzero=False,
|
||||
finite_generated_sequence_only=True, future_apl_decay_or_feedback_generated=False,
|
||||
closed_loop_branch_integrals_claimed_equal=False, biological_delay_measurement_claimed=False)
|
||||
hashes = [{**{name + '_sha256': aj.raw_hash(states[name]) for name in ('v', 'g', 'ref')}, 'tick': tick}
|
||||
for tick in range(1000)]
|
||||
queues = [aj._queue_digest(tick, np.empty(0, np.int64), np.empty(0, np.uint8)) for tick in range(1000)]
|
||||
for index, (case, output) in enumerate(zip(cases, outputs)):
|
||||
data = dict(base, budget_root=str(root / ('budget-' + str(index))), output_budget_bytes=10000 + index)
|
||||
write_json(case / 'spec.json', data)
|
||||
for name in ('requests.npz', 'pn-drive.npz'):
|
||||
(case / name).write_bytes(b'synthetic-identical-input')
|
||||
output.mkdir()
|
||||
np.savez_compressed(output / 'state.npz', **states)
|
||||
for name, value in (('drive', np.zeros((1000, 2), np.float32)), ('state', np.zeros((1000, 2), np.float32)),
|
||||
('inhibition', generated), ('applied', generated), ('pending-tail', pending)):
|
||||
np.save(output / ('apl-' + name + '.float32.npy'), value, allow_pickle=False)
|
||||
for name, rows in (('tick-state-hashes.jsonl', hashes), ('queue.jsonl', queues)):
|
||||
(output / name).write_text(''.join(json.dumps(row) + '\n' for row in rows), encoding='utf-8')
|
||||
(output / 'requests.csv').write_text('tick,neuron_idx,attempted,accepted,rejected\n', encoding='utf-8')
|
||||
component = {'synthetic_fixture': True}
|
||||
write_json(output / 'apl-component.json', component)
|
||||
write_json(output / 'apl-timing-audit.json', audit)
|
||||
inputs = {name: bridge.digest(case / name) for name in ('spec.json', 'requests.npz')}
|
||||
inputs.update({'base_weights.npy': bridge.digest(root / 'graph/weights.npy'),
|
||||
'coefficients.json': bridge.digest(root / 'coefficients.json')})
|
||||
summary = dict(case=base['name'], complete=True, pass_all=True, steps=1000, completed_ticks=1000,
|
||||
nodes=166700, edges=25582938, precision='float64', apl_precision='float32', state_units='SI volts',
|
||||
total_spikes=0, requested=0, accepted_requests=0, rejected_requests=0, arriving_edges=0,
|
||||
accepted_arriving_edges=0, counts_match_sparse_events=True, all_finite=True, record_history=False,
|
||||
apl_fast_edges_zeroed=5845, kc_targets_present=4064, effective_weights_raw_sha256='0' * 64,
|
||||
apl_schedule='same synthetic schedule', apl_si_conversion='same synthetic conversion',
|
||||
sealed_ae_backend_sha256='1' * 64, learning=False, apl_delay_steps=18, apl_timing=audit,
|
||||
source_provenance={'same_sealed_source': True}, pending_generated_count=18,
|
||||
pending_initial_zero_prefix=0, pending_tail_shape=[18, 4064], future_generated_decay_tail_included=False,
|
||||
apl_component=component, input_sha256=inputs, build={'path': str(root / ('build-' + str(index)))})
|
||||
write_json(output / 'summary.json', summary)
|
||||
result = bridge.control_identity(outputs[1], outputs[0], cases[1], cases[0], aj_model=AJ)
|
||||
self.assertTrue(result['pass_all'], result.get('error', result['failed_checks']))
|
||||
pending[0, 0] = np.float32(-0.)
|
||||
np.save(outputs[1] / 'apl-pending-tail.float32.npy', pending, allow_pickle=False)
|
||||
failed = bridge.control_identity(outputs[1], outputs[0], cases[1], cases[0], aj_model=AJ)
|
||||
self.assertFalse(failed['pass_all'])
|
||||
self.assertIn('apl.pending.bitwise_exact', failed['failed_checks'])
|
||||
self.assertIn('fresh_gpu.fixed_delay_pending.bitwise_exact', failed['failed_checks'])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -0,0 +1,298 @@
|
||||
"""Synthetic-only validation tests: no historical outputs or brain execution."""
|
||||
import copy
|
||||
import json
|
||||
from pathlib import Path
|
||||
import tempfile
|
||||
import types
|
||||
import unittest
|
||||
from unittest.mock import patch
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
|
||||
import validation as val
|
||||
|
||||
HERE = Path(__file__).resolve().parent
|
||||
LEGACY = val.load_frozen(HERE.parent / "author-apl-lab-v2/calibration.py", val.AG_SHA256, "ak_test_ag")
|
||||
TIMING = val.load_frozen(HERE.parent / "apl-timing-lab-v1/calibration.py", val.AJ_SHA256, "ak_test_aj")
|
||||
|
||||
|
||||
def config():
|
||||
cfg = val.read(HERE / "config.json")
|
||||
cfg["validation"]["seeds"] = [1001, 1002, 1003, 1004, 1005] # Synthetic, not proposed scientific seeds.
|
||||
return cfg
|
||||
|
||||
|
||||
def panel():
|
||||
return [dict(odor_id=oid, odor_name=oid, split="calibration" if i < 6 else "heldout",
|
||||
mapped_response_sum=val.MEDIAN)
|
||||
for i, oid in enumerate(sorted(LEGACY.ORIGINAL_CAL_IDS) + ["synthetic-new-" + str(i) for i in range(6)])]
|
||||
|
||||
|
||||
def records(cfg):
|
||||
rows = []
|
||||
pp = panel()
|
||||
for ci, cohort in enumerate(val.COHORTS):
|
||||
for mode in val.MODES:
|
||||
for oi in range(6):
|
||||
for seed in cfg["validation"]["seeds"]:
|
||||
rows.append(dict(name=f"test-{mode}-{oi}-{seed}", cohort=cohort,
|
||||
source_panel_split=val.SPLITS[cohort], mode=mode, odor_id=pp[6 * ci + oi]["odor_id"],
|
||||
odor_index=oi, seed=seed, targets=1, requests=0))
|
||||
return rows
|
||||
|
||||
|
||||
def encoder(cfg, inventory):
|
||||
return dict(panel_count=12, cal_count=6, novel_to_aj_count=6, median_mapped_response_sum=val.MEDIAN,
|
||||
seeds=cfg["validation"]["seeds"], seeds_static_audit_sha256="a" * 64,
|
||||
cohorts_static_panel_rows={cohort: [dict(odor_id=oid, odor_index=i, source_panel_split=val.SPLITS[cohort])
|
||||
for i, oid in enumerate(inventory[cohort]["odor_ids"])] for cohort in val.COHORTS},
|
||||
requested_before_any_dynamics=True, historical_never_simulated_claim=False)
|
||||
|
||||
|
||||
def save(path, value):
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
with path.open("x", encoding="utf-8") as stream:
|
||||
json.dump(value, stream, allow_nan=False)
|
||||
|
||||
|
||||
def make_raw_trial(root):
|
||||
"""Tiny neuron state with the real full-width APL trace schema."""
|
||||
output, case, bundle = root / "out", root / "case", root / "bundle"
|
||||
output.mkdir(); case.mkdir(); bundle.mkdir()
|
||||
steps, neurons = 20, 2
|
||||
cfg = dict(neurons=neurons, edges=0)
|
||||
for filename in ("input_matrix.npy", "output_matrix.npy", "kc_globals.npy", "apl_globals.npy"):
|
||||
np.save(bundle / filename, np.zeros(1, np.int32))
|
||||
spec = dict(name="synthetic", steps=steps, validation_cohort="novel_to_aj", source_panel_split="heldout",
|
||||
apl_delay_steps=18, mode="physiological", odor_id="synthetic", odor_name="synthetic", seed=1001,
|
||||
expected_external_events=1., rate_sum_hz=50., apl_bundle_dir=str(bundle))
|
||||
save(case / "spec.json", spec)
|
||||
np.savez(case / "requests.npz", tick=np.empty(0, np.int32), neuron_idx=np.empty(0, np.int32))
|
||||
state = {"step": np.empty(0, np.int32), "neuron_idx": np.empty(0, np.int32),
|
||||
"counts": np.zeros(neurons, np.int32), "v": np.zeros(neurons, np.float64),
|
||||
"g": np.zeros(neurons, np.float64), "ref": np.zeros(neurons, np.int32)}
|
||||
np.savez(output / "state.npz", **state)
|
||||
hashes = [dict(tick=t, **{key + "_sha256": LEGACY.raw_hash(state[key]) for key in ("v", "g", "ref")}) for t in range(steps)]
|
||||
queues = [dict(tick=t, count=0, accepted_count=0, ordered_edge_sha256="0" * 64,
|
||||
accepted_mask_sha256="0" * 64, joint_sha256="0" * 64) for t in range(steps)]
|
||||
for filename, rows in (("tick-state-hashes.jsonl", hashes), ("queue.jsonl", queues)):
|
||||
(output / filename).write_text("".join(json.dumps(row) + "\n" for row in rows), encoding="utf-8")
|
||||
(output / "requests.csv").write_text("tick,neuron_idx,attempted,accepted,rejected\n", encoding="utf-8")
|
||||
for filename, width in LEGACY.APL_FILES.items():
|
||||
np.save(output / filename, np.zeros((steps, width), np.float32))
|
||||
np.save(output / "apl-applied.float32.npy", np.zeros((steps, 4064), np.float32))
|
||||
pending = np.zeros((18, 4064), np.float32)
|
||||
np.save(output / "apl-pending-tail.float32.npy", pending)
|
||||
audit = dict(pass_all=True, apl_delay_steps=18, steps=steps, pending_generated_count=18,
|
||||
pending_initial_zero_prefix=0, pending_application_tick_start=steps,
|
||||
pending_application_tick_stop_exclusive=steps + 18, pending_generated_tick_start=steps - 18,
|
||||
pending_generated_tick_stop_exclusive=steps, initial_padding_positive_zero=True,
|
||||
sample_bits_preserved=True, brain_tail_advanced=False, generated_trace="apl-inhibition.float32.npy",
|
||||
applied_trace="apl-applied.float32.npy", pending_trace="apl-pending-tail.float32.npy",
|
||||
pending_raw_sha256=LEGACY.raw_hash(pending), pending_queue_drained=False,
|
||||
finite_generated_sequence_only=True, future_apl_decay_or_feedback_generated=False,
|
||||
closed_loop_branch_integrals_claimed_equal=False, biological_delay_measurement_claimed=False,
|
||||
final_apl_state_float32=[0., 0.], final_apl_state_u32_bits=[0, 0], final_apl_state_nonzero=False)
|
||||
save(output / "apl-timing-audit.json", audit)
|
||||
component = dict(ok=True, n_neurons=neurons, n_kc=2, n_apl=2, dt_ms=.1,
|
||||
files_sha256={name: val.digest(bundle / name) for name in
|
||||
("input_matrix.npy", "output_matrix.npy", "kc_globals.npy", "apl_globals.npy")})
|
||||
save(output / "apl-component.json", component)
|
||||
save(output / "summary.json", dict(complete=True, pass_all=True, all_finite=True, steps=steps,
|
||||
completed_ticks=steps, nodes=neurons, edges=0, precision="float64", apl_precision="float32",
|
||||
case=spec["name"], record_history=False, learning=False, requested=0, accepted_requests=0,
|
||||
rejected_requests=0, total_spikes=0, apl_component=component, apl_delay_steps=18, apl_timing=audit,
|
||||
input_sha256={name: val.digest(case / name) for name in ("spec.json", "requests.npz")}))
|
||||
return output, case, spec, cfg
|
||||
|
||||
|
||||
def fake_trial(row, cohort, silent=False):
|
||||
counts = np.zeros(1000, np.int32)
|
||||
if not silent:
|
||||
counts[row["odor_index"] * 50:row["odor_index"] * 50 + 50] = 1
|
||||
return dict(kc_counts=counts, expected_external_events=1., external_events=1,
|
||||
record=dict(case=row["name"], mode=row["mode"], seed=row["seed"], odor_id=row["odor_id"],
|
||||
requested=row["requests"], split=cohort, cohort=cohort, source_panel_split=val.SPLITS[cohort]),
|
||||
timing=dict(report=dict(pass_all=True)), apl={})
|
||||
|
||||
|
||||
class ValidationTests(unittest.TestCase):
|
||||
def test_source_pins_and_globals_are_unchanged(self):
|
||||
self.assertEqual(LEGACY.ORIGINAL_SEEDS, (51101, 51102, 51103, 51104, 51105))
|
||||
self.assertFalse(hasattr(LEGACY, "EXP"))
|
||||
self.assertFalse(hasattr(TIMING, "EXP"))
|
||||
with self.assertRaisesRegex(ValueError, "SHA"):
|
||||
val.load_frozen(HERE.parent / "author-apl-lab-v2/calibration.py", "0" * 64, "bad_pin")
|
||||
|
||||
def test_inventory_accepts_configured_seeds_and_keeps_static_halves(self):
|
||||
cfg = config(); inv = val.validate_inventory(records(cfg), cfg, panel(), LEGACY)
|
||||
self.assertEqual([len(inv[c]["records"]) for c in val.COHORTS], [60, 60])
|
||||
self.assertEqual(inv["novel_to_aj"]["odor_ids"], ["synthetic-new-" + str(i) for i in range(6)])
|
||||
val.validate_encoder(encoder(cfg, inv), inv, cfg)
|
||||
self.assertEqual(LEGACY.ORIGINAL_SEEDS[0], 51101)
|
||||
|
||||
def test_inventory_rejects_missing_duplicate_mislabelled_and_unaudited_cells(self):
|
||||
cfg = config()
|
||||
variants = []
|
||||
rr = records(cfg); variants.append(rr[:-1])
|
||||
rr = records(cfg); rr[-1] = copy.deepcopy(rr[-2]); variants.append(rr)
|
||||
for field, value in (("source_panel_split", "heldout"), ("odor_id", "wrong"),
|
||||
("seed", 51101), ("name", "../outside"), ("odor_index", True), ("targets", 0)):
|
||||
rr = records(cfg); rr[0][field] = value; variants.append(rr)
|
||||
for rr in variants:
|
||||
with self.subTest(first=rr[0]), self.assertRaises(ValueError):
|
||||
val.validate_inventory(rr, cfg, panel(), LEGACY)
|
||||
|
||||
def test_no_gate_relaxation_or_subset_median(self):
|
||||
for key, value in (("minimum_separable_odor_pairs", 1), ("sparse_min_fraction", .01),
|
||||
("repeat_exact_required", False)):
|
||||
cfg = config(); cfg["gates"][key] = value
|
||||
with self.subTest(key=key), self.assertRaises(ValueError):
|
||||
val.validate_inventory(records(cfg), cfg, panel(), LEGACY)
|
||||
pp = panel()
|
||||
for row in pp:
|
||||
row["mapped_response_sum"] = 1.
|
||||
with self.assertRaisesRegex(ValueError, "median"):
|
||||
val.validate_inventory(records(config()), config(), pp, LEGACY)
|
||||
|
||||
def test_encoder_rejects_history_claim_or_changed_panel_rows(self):
|
||||
cfg = config(); inv = val.validate_inventory(records(cfg), cfg, panel(), LEGACY)
|
||||
for key, value in (("historical_never_simulated_claim", True), ("requested_before_any_dynamics", False),
|
||||
("seeds_static_audit_sha256", ""), ("cohorts_static_panel_rows", {})):
|
||||
ee = encoder(cfg, inv); ee[key] = value
|
||||
with self.subTest(key=key), self.assertRaises(ValueError):
|
||||
val.validate_encoder(ee, inv, cfg)
|
||||
|
||||
def test_encoder_actual_prepare_panel_row_extension(self):
|
||||
cfg = config(); inv = val.validate_inventory(records(cfg), cfg, panel(), LEGACY)
|
||||
ee = encoder(cfg, inv)
|
||||
for ci, cohort in enumerate(val.COHORTS):
|
||||
for oi, row in enumerate(ee["cohorts_static_panel_rows"][cohort]):
|
||||
row["source_panel_row"] = ci * 6 + oi
|
||||
val.validate_encoder(ee, inv, cfg)
|
||||
ee["cohorts_static_panel_rows"]["novel_to_aj"][0]["source_panel_row"] = 0
|
||||
with self.assertRaisesRegex(ValueError, "panel row"):
|
||||
val.validate_encoder(ee, inv, cfg)
|
||||
|
||||
def test_fullgraph_case_matches_static_physics_and_exact_input_expectation(self):
|
||||
cfg = config(); row = records(cfg)[60]
|
||||
row.update(source_panel_row=6, expected_external_events=10., rates_sum=100.)
|
||||
spec = dict(name=row["name"], kind="fullgraph", validation_cohort=row["cohort"],
|
||||
source_panel_split=row["source_panel_split"], source_panel_row=6,
|
||||
**{key: row[key] for key in ("mode", "odor_id", "odor_index", "seed")},
|
||||
apl_delay_steps=18, steps=1000, dt_ms=.1, duration_ms=100., training=False, record_history=False,
|
||||
model={"resting_potential_mv": -52.}, graph_dir="unchanged-graph", apl_bundle_dir="unchanged-bundle",
|
||||
apl={"gain": .01}, coefficients_path="unchanged-coefficients", science_python="unchanged-entry",
|
||||
legacy_apl_worker="unchanged-worker", precision="float64", apl_precision="float32",
|
||||
target_count=1, rate_sum_hz=100., expected_external_events=10.)
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
case = Path(tmp)
|
||||
save(case / "spec.json", spec)
|
||||
np.savez(case / "pn-drive.npz", targets=np.array([10], np.int32), rates_hz=np.array([100.], np.float32))
|
||||
np.savez(case / "requests.npz", tick=np.empty(0, np.int32), neuron_idx=np.empty(0, np.int32))
|
||||
self.assertEqual(val.validate_case(case, row, cfg, spec), spec)
|
||||
wrong = copy.deepcopy(spec); wrong["model"]["resting_potential_mv"] = -51.
|
||||
with self.assertRaisesRegex(ValueError, "physical field"):
|
||||
val.validate_case(case, row, cfg, wrong)
|
||||
wrong_row = dict(row, targets=2)
|
||||
with self.assertRaisesRegex(ValueError, "PN drive"):
|
||||
val.validate_case(case, wrong_row, cfg, spec)
|
||||
|
||||
def test_real_legacy_reader_record_is_relabelled_without_globals_or_numerical_changes(self):
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
output, case, spec, cfg = make_raw_trial(Path(tmp))
|
||||
trial = val.read_validation_trial(LEGACY, TIMING, output, case, spec, np.arange(2, dtype=np.int32), cfg)
|
||||
try:
|
||||
self.assertEqual(trial["record"]["split"], "novel_to_aj")
|
||||
self.assertEqual(trial["record"]["source_panel_split"], "heldout")
|
||||
self.assertFalse(trial["record"]["historical_never_simulated_claim"])
|
||||
self.assertTrue(trial["timing"]["report"]["pass_all"])
|
||||
self.assertEqual(LEGACY.ORIGINAL_SEEDS[0], 51101)
|
||||
finally:
|
||||
val.close_trial(trial)
|
||||
|
||||
def test_real_reader_still_rejects_missing_state_and_delay_zero(self):
|
||||
with tempfile.TemporaryDirectory() as tmp:
|
||||
output, case, spec, cfg = make_raw_trial(Path(tmp))
|
||||
bad = dict(spec, apl_delay_steps=0)
|
||||
with self.assertRaisesRegex(ValueError, "delay"):
|
||||
val.read_validation_trial(LEGACY, TIMING, output, case, bad, np.arange(2, dtype=np.int32), cfg)
|
||||
(output / "state.npz").unlink()
|
||||
with self.assertRaises(FileNotFoundError):
|
||||
val.read_validation_trial(LEGACY, TIMING, output, case, spec, np.arange(2, dtype=np.int32), cfg)
|
||||
|
||||
def collect(self, silent=False, broken_repeat=False, missing=False):
|
||||
cfg = config(); inv = val.validate_inventory(records(cfg), cfg, panel(), LEGACY)
|
||||
cohort = "seed_validation"; rows = inv[cohort]["records"]
|
||||
byname = {row["name"]: row for row in rows}
|
||||
accessed = []
|
||||
def load(legacy, timing, output, case, spec, kc, config_arg):
|
||||
accessed.append(str(output))
|
||||
if missing and spec["name"] == rows[0]["name"]:
|
||||
raise FileNotFoundError("synthetic missing evidence")
|
||||
return fake_trial(byname[spec["name"]], cohort, silent)
|
||||
timing = types.SimpleNamespace(timing_repeat=lambda *args: dict(pass_all=not broken_repeat,
|
||||
checks=dict(apl_applied=not broken_repeat)))
|
||||
with patch.object(val, "validate_case", side_effect=lambda case, row, *args: row), \
|
||||
patch.object(val, "read_validation_trial", side_effect=load), \
|
||||
patch.object(val, "evidence_hashes", return_value={"synthetic": True}):
|
||||
result = val.collect_cohort(cohort, rows, inv[cohort]["odor_ids"], cfg, Path("synthetic"),
|
||||
np.arange(2, dtype=np.int32), {}, LEGACY, timing)
|
||||
return result, accessed
|
||||
|
||||
def test_full_60_plus_12_and_pair_specific_gate_without_other_cohort_read(self):
|
||||
result, accessed = self.collect()
|
||||
self.assertTrue(result["pass_all"])
|
||||
self.assertEqual((result["valid_base_trials"], result["checked_repeats"], result["checked_timing_trials"]), (60, 12, 72))
|
||||
self.assertEqual(len(accessed), 72)
|
||||
self.assertFalse(any("novel_to_aj" in path for path in accessed))
|
||||
for report in result["modes"].values():
|
||||
self.assertEqual((report["pair_count"], report["within_distance_count"], report["between_distance_count"]), (15, 60, 75))
|
||||
json.dumps(result, allow_nan=False)
|
||||
|
||||
def test_representation_failure_keeps_all_runs_and_is_not_execution_failure(self):
|
||||
result, accessed = self.collect(silent=True)
|
||||
self.assertTrue(result["execution_gate_pass"])
|
||||
self.assertFalse(result["representation_gate_pass"])
|
||||
self.assertFalse(result["pass_all"])
|
||||
self.assertEqual(len(accessed), 72)
|
||||
self.assertTrue(all(row["stage"] == "representation_gate" for row in result["failures"]))
|
||||
|
||||
def test_missing_evidence_and_repeat_failure_never_pass_execution(self):
|
||||
for options in (dict(missing=True), dict(broken_repeat=True)):
|
||||
with self.subTest(options=options):
|
||||
result, _ = self.collect(**options)
|
||||
self.assertFalse(result["execution_gate_pass"])
|
||||
self.assertFalse(result["pass_all"])
|
||||
self.assertTrue(result["failures"])
|
||||
|
||||
def test_none_recompute_is_deterministic_and_writes_nothing(self):
|
||||
cfg = config(); rr = records(cfg); inv = val.validate_inventory(rr, cfg, panel(), LEGACY)
|
||||
ee = encoder(cfg, inv)
|
||||
ctx = types.SimpleNamespace(ROOT=Path("synthetic-root"), MODEL=Path("synthetic-model"), EXP=Path("synthetic-exp"),
|
||||
AG_MODEL=Path("ag-model"), AJ_MODEL=Path("aj-model"), AG=Path("ag"), AJ=Path("aj"), CFG=cfg,
|
||||
check=lambda: {}, save=lambda *args: self.fail("Read-only summarize wrote output"))
|
||||
collected, _ = self.collect()
|
||||
def read_fixture(path):
|
||||
if path.name == "validation-cases.json": return rr
|
||||
if path.name == "encoder-audit.json": return ee
|
||||
if path.name == "spec.json": return dict(apl_delay_steps=18, training=False)
|
||||
raise AssertionError("Unexpected input read: " + str(path))
|
||||
def hash_fixture(path):
|
||||
return val.PANEL_SHA256 if path.name == "frozen-odor-panel.parquet" else "a" * 64
|
||||
with patch.dict("sys.modules", context=ctx), patch.object(val, "read", side_effect=read_fixture), \
|
||||
patch.object(val, "digest", side_effect=hash_fixture), \
|
||||
patch.object(val, "load_frozen", side_effect=[LEGACY, TIMING, LEGACY, TIMING]), \
|
||||
patch.object(pd, "read_parquet", return_value=pd.DataFrame(panel())), \
|
||||
patch.object(np, "load", return_value=np.arange(4064, dtype=np.int32)), \
|
||||
patch.object(val, "collect_cohort", side_effect=lambda *args: copy.deepcopy(collected)):
|
||||
first = val.summarize("seed_validation", None)
|
||||
second = val.summarize("seed_validation", None)
|
||||
self.assertEqual(first, second)
|
||||
self.assertTrue(first["pass_all"])
|
||||
json.dumps(first, allow_nan=False)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -0,0 +1,344 @@
|
||||
"""Frozen-D18 validation cohorts; no simulation, fitting, or old heldout read.
|
||||
|
||||
Only the requested cohort's new trajectories are opened. The suite owns the
|
||||
seed-validation -> novel-to-AJ unlock. Legacy modules are source-hash pinned,
|
||||
loaded without writing bytecode, and never have their globals rebound.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
import re
|
||||
import sys
|
||||
import types
|
||||
|
||||
import numpy as np
|
||||
|
||||
AG_SHA256 = "edb9cb2d890471fd07afd88c959ef3540b0cd40af490fac3f26396b5e7f5bf9c"
|
||||
AJ_SHA256 = "fb15ddeaa108305c8de697bbae36b23ab0414a7c58db51c66dce9feb4a048a0d"
|
||||
PANEL_SHA256 = "907f16a56e024a8e2112b5751e53b0e6037b329fa110098af3d31b119c10a1a0"
|
||||
COHORTS = ("seed_validation", "novel_to_aj")
|
||||
SPLITS = dict(zip(COHORTS, ("calibration", "heldout")))
|
||||
MODES = ("physiological", "matched_energy")
|
||||
MEDIAN = 2.556107997894287
|
||||
_DEFAULT_OUTPUT = object()
|
||||
|
||||
|
||||
def require(ok, message):
|
||||
if not ok:
|
||||
raise ValueError(message)
|
||||
|
||||
|
||||
def read(path):
|
||||
return json.loads(Path(path).read_text(encoding="utf-8"))
|
||||
|
||||
|
||||
def digest(path):
|
||||
h = hashlib.sha256()
|
||||
with Path(path).open("rb") as stream:
|
||||
for block in iter(lambda: stream.read(8 << 20), b""):
|
||||
h.update(block)
|
||||
return h.hexdigest()
|
||||
|
||||
|
||||
def load_frozen(path, expected, name):
|
||||
path = Path(path)
|
||||
source = path.read_bytes()
|
||||
require(hashlib.sha256(source).hexdigest() == expected, "Frozen source SHA mismatch: " + str(path))
|
||||
module = types.ModuleType(name)
|
||||
module.__file__ = str(path)
|
||||
sys.modules[name] = module
|
||||
exec(compile(source, str(path), "exec"), module.__dict__)
|
||||
return module
|
||||
|
||||
|
||||
def validate_design(cfg):
|
||||
design = cfg["validation"]
|
||||
seeds = design["seeds"]
|
||||
require(isinstance(seeds, list) and len(seeds) == 5 and len(set(seeds)) == 5 and
|
||||
all(type(seed) is int and 0 <= seed < 2**63 for seed in seeds), "Need five explicitly audited seed integers")
|
||||
require(design["cohorts"] == list(COHORTS) and design["modes"] == list(MODES) and
|
||||
design["odor_count"] == 6 and design["duration_ms"] == 100.0 and
|
||||
design["repeat_first_seed_each_odor"] is True, "Validation design changed")
|
||||
require(type(cfg["apl_delay_steps"]) is int and cfg["apl_delay_steps"] == 18 and
|
||||
cfg["neurons"] == 166700 and cfg["edges"] == 25582938 and cfg["training"] is False,
|
||||
"Frozen D18/fullgraph/nonlearning scope changed")
|
||||
gates = cfg["gates"]
|
||||
require(gates["sparse_min_fraction"] == .03 and gates["sparse_max_fraction"] == .09 and
|
||||
gates["max_fraction_strict"] == .5 and gates["min_fraction_strict"] == 0 and
|
||||
gates["minimum_separable_odor_pairs"] == 3 and all(gates[key] is True for key in
|
||||
("same_jaccard_gt_between", "between_euclidean_gt_within", "both_modes_required",
|
||||
"finite_required", "repeat_exact_required")), "Original complete representation/integrity gates changed")
|
||||
return seeds
|
||||
|
||||
|
||||
def validate_inventory(records, cfg, panel_rows, legacy):
|
||||
"""Static 120-row inventory, preserving original panel row order in each half."""
|
||||
seeds = validate_design(cfg)
|
||||
require(isinstance(records, list) and len(records) == 120, "Inventory must contain exactly 120 base cases")
|
||||
require(len(panel_rows) == 12 and [row["split"] for row in panel_rows] == ["calibration"] * 6 + ["heldout"] * 6,
|
||||
"Frozen static panel order/splits changed")
|
||||
all_ids = [row["odor_id"] for row in panel_rows]
|
||||
require(all(isinstance(oid, str) and oid for oid in all_ids) and len(set(all_ids)) == 12 and
|
||||
set(all_ids[:6]) == legacy.ORIGINAL_CAL_IDS, "Frozen panel identities invalid")
|
||||
require(float(np.median([row["mapped_response_sum"] for row in panel_rows])) == MEDIAN,
|
||||
"Matched-energy reference must remain the original full-12 median")
|
||||
result = {}
|
||||
names, keys = set(), set()
|
||||
for row in records:
|
||||
require(row["cohort"] in COHORTS and row["mode"] in MODES, "Unknown cohort/mode")
|
||||
require(type(row["odor_index"]) is int and 0 <= row["odor_index"] < 6 and
|
||||
type(row["seed"]) is int and row["seed"] in seeds, "Invalid odor index/seed")
|
||||
require(isinstance(row["name"], str) and re.fullmatch(r"[A-Za-z0-9_-]+", row["name"]), "Unsafe case name")
|
||||
namekey = (row["cohort"], row["name"])
|
||||
key = (row["cohort"], row["mode"], row["odor_index"], row["seed"])
|
||||
require(namekey not in names and key not in keys, "Duplicate case name or experimental cell")
|
||||
names.add(namekey); keys.add(key)
|
||||
offset = 0 if row["cohort"] == "seed_validation" else 6
|
||||
require(row["source_panel_split"] == SPLITS[row["cohort"]] and
|
||||
row["odor_id"] == all_ids[offset + row["odor_index"]], "Cohort identity/order/source split mismatch")
|
||||
if "source_panel_row" in row:
|
||||
require(type(row["source_panel_row"]) is int and row["source_panel_row"] == offset + row["odor_index"],
|
||||
"Inventory original panel row mismatch")
|
||||
require(type(row["targets"]) is int and 0 < row["targets"] <= cfg["neurons"] and
|
||||
type(row["requests"]) is int and row["requests"] >= 0, "Invalid inventory target/request counts")
|
||||
expected = {(cohort, mode, oi, seed) for cohort in COHORTS for mode in MODES for oi in range(6) for seed in seeds}
|
||||
require(keys == expected, "Inventory missing or replacing a predeclared cell")
|
||||
for index, cohort in enumerate(COHORTS):
|
||||
rows = [row for row in records if row["cohort"] == cohort]
|
||||
rows.sort(key=lambda row: (MODES.index(row["mode"]), row["odor_index"], seeds.index(row["seed"])))
|
||||
result[cohort] = {"records": rows, "odor_ids": all_ids[index * 6:(index + 1) * 6]}
|
||||
return result
|
||||
|
||||
|
||||
def validate_encoder(encoder, inventory, cfg):
|
||||
require(encoder["panel_count"] == 12 and encoder["cal_count"] == 6 and encoder["novel_to_aj_count"] == 6 and
|
||||
encoder["median_mapped_response_sum"] == MEDIAN and encoder["seeds"] == cfg["validation"]["seeds"] and
|
||||
encoder["requested_before_any_dynamics"] is True and encoder["historical_never_simulated_claim"] is False,
|
||||
"Frozen encoder/reference or validation scope changed")
|
||||
require(isinstance(encoder["seeds_static_audit_sha256"], str) and
|
||||
re.fullmatch(r"[0-9a-f]{64}", encoder["seeds_static_audit_sha256"]), "Missing seed audit SHA")
|
||||
expected = {cohort: [dict(odor_id=oid, odor_index=index, source_panel_split=SPLITS[cohort])
|
||||
for index, oid in enumerate(inventory[cohort]["odor_ids"])] for cohort in COHORTS}
|
||||
actual = encoder["cohorts_static_panel_rows"]
|
||||
require(set(actual) == set(COHORTS), "Encoder cohort set changed")
|
||||
for ci, cohort in enumerate(COHORTS):
|
||||
require(len(actual[cohort]) == 6, "Encoder cohort panel count changed")
|
||||
for index, (row, wanted) in enumerate(zip(actual[cohort], expected[cohort])):
|
||||
require(all(row.get(key) == value for key, value in wanted.items()),
|
||||
"Encoder cohort panel rows differ from frozen identities")
|
||||
if "source_panel_row" in row:
|
||||
require(type(row["source_panel_row"]) is int and row["source_panel_row"] == ci * 6 + index,
|
||||
"Encoder original panel row mismatch")
|
||||
|
||||
|
||||
def validate_case(case, row, cfg, frozen_spec):
|
||||
spec = read(case / "spec.json")
|
||||
require(spec["name"] == row["name"] and spec["kind"] == "fullgraph" and
|
||||
spec["validation_cohort"] == row["cohort"] and spec["source_panel_split"] == row["source_panel_split"] and
|
||||
all(spec[key] == row[key] for key in ("mode", "odor_id", "odor_index", "seed")), "Spec differs from validation inventory")
|
||||
require(type(spec["apl_delay_steps"]) is int and spec["apl_delay_steps"] == 18 and spec["steps"] == 1000 and
|
||||
spec["dt_ms"] == .1 and spec["duration_ms"] == 100.0 and spec["training"] is False and
|
||||
spec["record_history"] is False, "Fixed D18/window/nonlearning schema changed")
|
||||
if "source_panel_row" in row or "source_panel_row" in spec:
|
||||
expected_row = (0 if row["cohort"] == "seed_validation" else 6) + row["odor_index"]
|
||||
require(type(spec.get("source_panel_row")) is int and spec["source_panel_row"] == expected_row and
|
||||
row.get("source_panel_row", expected_row) == expected_row, "Spec original panel row mismatch")
|
||||
for key in ("model", "graph_dir", "apl_bundle_dir", "apl", "coefficients_path", "science_python",
|
||||
"legacy_apl_worker", "precision", "apl_precision", "dt_ms", "duration_ms", "steps"):
|
||||
require(spec[key] == frozen_spec[key], "Frozen physical field changed: " + key)
|
||||
with np.load(case / "pn-drive.npz", allow_pickle=False) as source:
|
||||
require(set(source.files) == {"targets", "rates_hz"}, "PN drive schema changed")
|
||||
targets, rates = source["targets"], source["rates_hz"]
|
||||
require(targets.dtype == np.int32 and targets.ndim == 1 and len(targets) == row["targets"] and
|
||||
len(np.unique(targets)) == len(targets) and np.all((targets >= 0) & (targets < cfg["neurons"])) and
|
||||
rates.dtype == np.float32 and rates.shape == targets.shape and np.isfinite(rates).all() and np.all(rates > 0),
|
||||
"Invalid PN drive identities/rates; no sorting or zero-channel insertion is allowed")
|
||||
expected_events = float(rates.sum()) * spec["steps"] * .1 / 1000.
|
||||
require(spec["target_count"] == row["targets"] and spec["rate_sum_hz"] == float(rates.sum()) and
|
||||
spec["expected_external_events"] == expected_events and np.isfinite(expected_events) and expected_events > 0,
|
||||
"PN rates/spec event expectation disagree")
|
||||
if "expected_external_events" in row:
|
||||
require(row["expected_external_events"] == expected_events, "Inventory expected events disagree")
|
||||
if "rates_sum" in row:
|
||||
require(row["rates_sum"] == float(rates.sum()), "Inventory rate sum disagrees")
|
||||
with np.load(case / "requests.npz", allow_pickle=False) as source:
|
||||
require(set(source.files) == {"tick", "neuron_idx"} and len(source["tick"]) == row["requests"] and
|
||||
np.isin(source["neuron_idx"], targets).all(), "Request count/targets differ from prepared input")
|
||||
return spec
|
||||
|
||||
|
||||
def read_validation_trial(legacy, timing, output, case, spec, kc_globals, cfg):
|
||||
"""Reuse all sealed checks; replace only the returned descriptive record."""
|
||||
cohort = spec["validation_cohort"]
|
||||
require(cohort in COHORTS and spec["source_panel_split"] == SPLITS[cohort] and
|
||||
type(spec["apl_delay_steps"]) is int and spec["apl_delay_steps"] == 18, "Wrong validation cohort or delay")
|
||||
trial = legacy.read_trial(output, case, spec, kc_globals, cfg["neurons"], cfg["edges"])
|
||||
try:
|
||||
trial["timing"] = timing.validate_timing(output, spec, trial)
|
||||
except Exception:
|
||||
close_trial(trial)
|
||||
raise
|
||||
trial["record"] = dict(trial["record"], split=cohort, cohort=cohort, validation_cohort=cohort,
|
||||
source_panel_split=spec["source_panel_split"], historical_never_simulated_claim=False,
|
||||
used_for_parameter_selection=False)
|
||||
if "source_panel_row" in spec:
|
||||
trial["record"]["source_panel_row"] = spec["source_panel_row"]
|
||||
return trial
|
||||
|
||||
|
||||
def close_trial(trial):
|
||||
if trial is None:
|
||||
return
|
||||
arrays = list(trial.get("apl", {}).values())
|
||||
arrays += [trial.get("timing", {}).get(key) for key in ("applied", "pending")]
|
||||
for value in arrays:
|
||||
mmap = getattr(value, "_mmap", None)
|
||||
if mmap is not None and not mmap.closed:
|
||||
mmap.close()
|
||||
|
||||
|
||||
def evidence_hashes(output, case, name, repeat):
|
||||
files = ("state.npz", "summary.json", "tick-state-hashes.jsonl", "queue.jsonl", "requests.csv", "apl-component.json",
|
||||
"apl-drive.float32.npy", "apl-state.float32.npy", "apl-inhibition.float32.npy",
|
||||
"apl-applied.float32.npy", "apl-pending-tail.float32.npy", "apl-timing-audit.json")
|
||||
return {"case": name, "repeat": repeat,
|
||||
"input_sha256": {key: digest(case / key) for key in ("spec.json", "requests.npz", "pn-drive.npz")},
|
||||
"output_sha256": {key: digest(output / key) for key in files}}
|
||||
|
||||
|
||||
def collect_cohort(cohort, records, odors, cfg, exp, kc_globals, frozen_spec, legacy, timing):
|
||||
"""Aggregate one block even when its representation gate fails."""
|
||||
seeds = cfg["validation"]["seeds"]
|
||||
failures, runs, rows, repeats, timings, proof, modes = [], {}, [], [], [], [], {}
|
||||
for row in records:
|
||||
name, first, spec = row["name"], None, None
|
||||
case = exp / "cases" / cohort / name
|
||||
try:
|
||||
spec = validate_case(case, row, cfg, frozen_spec)
|
||||
except Exception as error:
|
||||
failures.append(dict(stage="case_input", case=name, type=type(error).__name__, message=str(error)))
|
||||
for repeat_index in ([0, 1] if row["seed"] == seeds[0] else [0]):
|
||||
trial = None
|
||||
try:
|
||||
require(spec is not None, "Case input validation unavailable")
|
||||
output = exp / "gpu" / cohort / (name + "-r" + str(repeat_index))
|
||||
trial = read_validation_trial(legacy, timing, output, case, spec, kc_globals, cfg)
|
||||
require(trial["record"]["requested"] == row["requests"], "Inventory/actual request count differs")
|
||||
entry = evidence_hashes(output, case, name, repeat_index)
|
||||
proof.append(entry)
|
||||
timings.append(dict(case=name, repeat=repeat_index, **trial["timing"]["report"]))
|
||||
if repeat_index == 0:
|
||||
first = trial
|
||||
runs[(row["mode"], row["odor_id"], row["seed"])] = {key: trial[key] for key in
|
||||
("kc_counts", "expected_external_events", "external_events")}
|
||||
rows.append(trial["record"])
|
||||
else:
|
||||
require(first is not None, "Baseline unavailable for exact repeat")
|
||||
report = dict(case=name, **timing.timing_repeat(first, trial, legacy))
|
||||
repeats.append(report)
|
||||
require(report["pass_all"] is True, "Exact repeat differs: " + ", ".join(
|
||||
key for key, value in report["checks"].items() if not value))
|
||||
except Exception as error:
|
||||
failures.append(dict(stage="raw_trial" if repeat_index == 0 else "repeat_trial", case=name,
|
||||
repeat=repeat_index, type=type(error).__name__, message=str(error)))
|
||||
finally:
|
||||
if trial is not first:
|
||||
close_trial(trial)
|
||||
close_trial(first)
|
||||
for mode in MODES:
|
||||
expected = {(mode, odor, seed) for odor in odors for seed in seeds}
|
||||
if expected.issubset(runs):
|
||||
try:
|
||||
report = legacy.summarize_mode(mode, odors, seeds, runs, cfg["gates"])
|
||||
require(report["conditions"] == legacy.evaluate_gates(report, cfg["gates"]), "Original gate conjunction mismatch")
|
||||
require(report["within_distance_count"] == 60 and report["between_distance_count"] == 75 and
|
||||
report["pair_count"] == 15 and all(pair["within_distance_count"] == 20 and
|
||||
pair["between_distance_count"] == 5 for pair in report["pairs"]), "Pair-specific denominator changed")
|
||||
modes[mode] = report
|
||||
if not report["gate"]:
|
||||
failures.append(dict(stage="representation_gate", mode=mode,
|
||||
failed_conditions=[key for key, value in report["conditions"].items() if not value]))
|
||||
except Exception as error:
|
||||
failures.append(dict(stage="representation_calculation", mode=mode, type=type(error).__name__, message=str(error)))
|
||||
numerical = bool(len(runs) == 60 and len(timings) == 72 and not any(row["stage"] in
|
||||
("case_input", "raw_trial", "repeat_trial") for row in failures))
|
||||
repeated = bool(len(repeats) == 12 and all(row["pass_all"] is True for row in repeats))
|
||||
execution = bool(numerical and repeated and not any(row["stage"] == "representation_calculation" for row in failures))
|
||||
represented = bool(len(modes) == 2 and all(row["gate"] is True for row in modes.values()))
|
||||
return dict(cohort=cohort, source_panel_split=SPLITS[cohort], pass_all=bool(execution and represented),
|
||||
execution_gate_pass=execution, numerical_integrity_pass=numerical, exact_repeat_pass=repeated,
|
||||
representation_gate_pass=represented, original_representation_gate_pass=represented,
|
||||
expected_base_trials=60, valid_base_trials=len(runs), expected_repeats=12, checked_repeats=len(repeats),
|
||||
checked_timing_trials=len(timings), modes=modes, runs=rows, repeats=repeats, timing_checks=timings,
|
||||
failures=failures, input_output_provenance=proof)
|
||||
|
||||
|
||||
def summarize(cohort, out_json=_DEFAULT_OUTPUT):
|
||||
"""Default exclusive write; None recomputes deterministically without writes."""
|
||||
require(cohort in COHORTS, "Unknown validation cohort")
|
||||
import context as ctx
|
||||
target = ctx.EXP / "validation" / cohort / "summary.json" if out_json is _DEFAULT_OUTPUT else (
|
||||
None if out_json is None else Path(out_json))
|
||||
require(target is None or not target.exists(), "Refusing existing cohort summary")
|
||||
result = dict(cohort=cohort, source_panel_split=SPLITS[cohort], pass_all=False, execution_gate_pass=False,
|
||||
numerical_integrity_pass=False, exact_repeat_pass=False, representation_gate_pass=False,
|
||||
original_representation_gate_pass=False, expected_base_trials=60, valid_base_trials=0,
|
||||
expected_repeats=12, checked_repeats=0, checked_timing_trials=0,
|
||||
modes={}, runs=[], repeats=[], timing_checks=[], failures=[], input_output_provenance=[])
|
||||
proof, odors, encoder = {}, [], None
|
||||
try:
|
||||
ctx.check()
|
||||
legacy = load_frozen(ctx.AG_MODEL / "calibration.py", AG_SHA256, "phase4ak_frozen_ag_calibration")
|
||||
timing = load_frozen(ctx.AJ_MODEL / "calibration.py", AJ_SHA256, "phase4ak_frozen_aj_calibration")
|
||||
inventory_path = ctx.EXP / "protocol/validation-cases.json"
|
||||
encoder_path = ctx.EXP / "protocol/encoder-audit.json"
|
||||
panel_path = ctx.ROOT / "experiments/phase4l-olfactory-grounding/odor-encoder/frozen-odor-panel.parquet"
|
||||
require(digest(panel_path) == PANEL_SHA256, "Frozen static panel SHA changed")
|
||||
import pandas as pd
|
||||
panel = pd.read_parquet(panel_path).to_dict(orient="records")
|
||||
inventory = validate_inventory(read(inventory_path), ctx.CFG, panel, legacy)
|
||||
encoder = read(encoder_path)
|
||||
validate_encoder(encoder, inventory, ctx.CFG)
|
||||
seed_audit = ctx.MODEL / "seed-audit.json"
|
||||
require(digest(seed_audit) == encoder["seeds_static_audit_sha256"], "Seed-audit receipt/encoder mismatch")
|
||||
kc_path = ctx.AG / "apl-bundle/kc_globals.npy"
|
||||
kc = np.load(kc_path, allow_pickle=False)
|
||||
require(kc.dtype == np.int32 and kc.shape == (4064,) and np.all(np.diff(kc) > 0) and
|
||||
np.all((kc >= 0) & (kc < ctx.CFG["neurons"])), "Frozen KC identity invalid")
|
||||
base_path = ctx.AJ / "cases/delay18/cal-physiological-00-s51101/spec.json"
|
||||
base = read(base_path)
|
||||
require(base["apl_delay_steps"] == 18 and base["training"] is False, "Wrong frozen physical reference")
|
||||
proof = {"validation_inventory": digest(inventory_path), "encoder_audit": digest(encoder_path),
|
||||
"static_panel": digest(panel_path), "seed_audit": digest(seed_audit),
|
||||
"KC_identity": digest(kc_path), "frozen_D18_spec": digest(base_path),
|
||||
"AG_calibration_source": AG_SHA256, "AJ_calibration_source": AJ_SHA256}
|
||||
odors = inventory[cohort]["odor_ids"]
|
||||
result = collect_cohort(cohort, inventory[cohort]["records"], odors, ctx.CFG, ctx.EXP, kc, base, legacy, timing)
|
||||
except Exception as error:
|
||||
result["failures"].append(dict(stage="prerequisites", type=type(error).__name__, message=str(error)))
|
||||
result.update(phase="4AK", apl_delay_steps=18, seeds=ctx.CFG["validation"]["seeds"], duration_ms=100.0,
|
||||
odor_ids=odors, encoder_audit=encoder, prerequisite_input_sha256=proof,
|
||||
representation_failure_is_not_numerical_failure=True, old_module_globals_modified=False,
|
||||
old_heldout_dynamic_access=False, historical_never_simulated_claim=False,
|
||||
requested_cohort_only_dynamic_read=True, suite_owns_sequential_unlock=True,
|
||||
shared_apl_component_oracle_limit=True, independent_oracle_equivalence_claim=False,
|
||||
seed_namespace_claim="Declared static-audit scope only; not an unqualified all-history independence claim",
|
||||
biological_delay_measurement_claimed=False, candidate_generated=False, training=False,
|
||||
metric_source="SHA-pinned AG complete phase4l gate; SHA-pinned AJ timing/repeat checks")
|
||||
# Serializability/finiteness must be established even for read-only finalization.
|
||||
json.dumps(result, allow_nan=False, sort_keys=True)
|
||||
if target is not None:
|
||||
outputs = {target: result}
|
||||
outputs.update({target.parent / (mode + ".json"): report for mode, report in result["modes"].items()})
|
||||
require(all(not path.exists() for path in outputs), "Refusing existing cohort/mode output")
|
||||
for path, value in outputs.items():
|
||||
ctx.save(path, value)
|
||||
return result
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
require(len(sys.argv) == 2, "Usage: validation.py seed_validation|novel_to_aj")
|
||||
answer = summarize(sys.argv[1])
|
||||
print(json.dumps({key: answer[key] for key in ("cohort", "pass_all", "execution_gate_pass", "representation_gate_pass")}))
|
||||
@@ -0,0 +1,49 @@
|
||||
"""Unchanged deterministic-v2 reference rerun, exclusively into this new stage."""
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
import yaml
|
||||
from context import ROOT, EXP, CFG, check, save, bit_equal
|
||||
|
||||
|
||||
def main():
|
||||
check()
|
||||
assert not (EXP / 'regression/frozen-five.json').exists()
|
||||
from run_case import preflight
|
||||
preflight()
|
||||
runtime_path = ROOT / 'models/male-cns-lif/deterministic-runtime-v2'
|
||||
pc = yaml.safe_load((runtime_path / 'phase4p.yaml').read_text())
|
||||
sys.path.insert(0, str(ROOT / 'models/male-cns-lif'))
|
||||
sys.path.insert(0, str(runtime_path))
|
||||
import torch
|
||||
import phase4p
|
||||
assert torch.cuda.mem_get_info()[0] > 2 * 1024**3
|
||||
torch.cuda.reset_peak_memory_stats()
|
||||
started = time.perf_counter()
|
||||
runtime = phase4p.CanonicalRuntime(pc, runtime_path, EXP)
|
||||
rows = []
|
||||
for spec in pc['reference_trials']:
|
||||
preflight()
|
||||
reference_dir = ROOT / 'experiments/phase4p-deterministic-runtime/phase4c-v2/reference' / spec['name']
|
||||
events = pd.read_parquet(reference_dir / 'spike-events.parquet')
|
||||
reference = dict(step=events.step.to_numpy(), neuron_idx=events.neuron_idx.to_numpy(),
|
||||
counts=np.load(reference_dir / 'per-neuron-spike-counts.int32.npy'),
|
||||
v=np.load(reference_dir / 'final-voltage.float32.npy'), g=np.load(reference_dir / 'final-g.float32.npy'))
|
||||
result = runtime.run(np.flatnonzero(runtime.pops[spec['population']]), spec['rate_hz'], spec['seed'], spec['duration_ms'])
|
||||
row = dict(trial=spec['name'], exact={key: bool(bit_equal(value, result[key])) for key, value in reference.items()},
|
||||
dtype_shape={key: dict(reference_dtype=str(value.dtype), actual_dtype=str(result[key].dtype),
|
||||
reference_shape=list(value.shape), actual_shape=list(result[key].shape)) for key, value in reference.items()},
|
||||
wall_seconds=result['metrics']['wall_seconds'])
|
||||
rows.append(row)
|
||||
print(row, flush=True)
|
||||
passed = len(rows) == 5 and all(all(row['exact'].values()) for row in rows)
|
||||
save(EXP / 'regression/frozen-five.json', dict(pass_all=passed, trials=rows,
|
||||
wall_seconds=time.perf_counter() - started, peak_allocated_vram=int(torch.cuda.max_memory_allocated()),
|
||||
scope='Old frozen deterministic-v2 five references only; not the new D18 hypothesis'))
|
||||
assert passed
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,14 @@
|
||||
# Phase 4AK — frozen D18 independent validation
|
||||
|
||||
Status: `PASS-FROZEN-D18-INDEPENDENT-VALIDATION`.
|
||||
|
||||
Numerical gate: True. Seed-validation pass: True. Novel-to-AJ pass: True.
|
||||
Novel dynamics executed: True. Unauthorized unlock: False.
|
||||
Both cohorts and all requested inputs were locked before trajectories; no tuning or gate changes.
|
||||
Original sealed AJ runtime functions are used unchanged, including 1,212 unreplaced non-KC APL fast edges.
|
||||
The second six odors were not used for AG/AJ calibration; old 4L had simulated the full panel.
|
||||
Static seed audit is bounded, not proof of universally unused or statistically independent RNG streams.
|
||||
Brian LIF/FIFO is independent; APL arithmetic is intentionally shared and separately component-audited.
|
||||
Old frozen integrity: True. Five old reference trials: True.
|
||||
No learning, plasticity update, candidate, game, decoder, RL or Web. This is not completion of the learning goal.
|
||||
Next gate: Credit specificity and real KC-to-MBON functional transfer before conditioning
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
{
|
||||
"accepted_arriving_edges": 13337480,
|
||||
"accepted_requests": 79,
|
||||
"active_neurons": 6997,
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"arriving_edges": 14503540,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"case": "novel_to_aj-matched_energy-00-s1073741825",
|
||||
"case_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"cpu.accepted_spikes_rejected_absent": true,
|
||||
"cpu.actual_author_coefficients_exact": true,
|
||||
"cpu.actual_component_bundle_bytes": true,
|
||||
"cpu.all_ref_hashes_from_actual_events": true,
|
||||
"cpu.apl_fast_edge_count": true,
|
||||
"cpu.apl_positive_applied": true,
|
||||
"cpu.apl_positive_drive": true,
|
||||
"cpu.apl_positive_inhibition": true,
|
||||
"cpu.apl_positive_state": true,
|
||||
"cpu.apl_precision": true,
|
||||
"cpu.bundle_hashes": true,
|
||||
"cpu.case_name": true,
|
||||
"cpu.coefficient_input_hash": true,
|
||||
"cpu.component_dimensions_clock": true,
|
||||
"cpu.component_precision_environment": true,
|
||||
"cpu.count_nonnegative_total": true,
|
||||
"cpu.delay_summary": true,
|
||||
"cpu.delayed_all_edges_count": true,
|
||||
"cpu.effective_weights_independent_bytes": true,
|
||||
"cpu.effective_weights_raw_sha": true,
|
||||
"cpu.events_per_neuron_counts": true,
|
||||
"cpu.events_sorted_unique": true,
|
||||
"cpu.final_apl_state_metadata": true,
|
||||
"cpu.finite_sequence_row_conservation": true,
|
||||
"cpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"cpu.fixed_delay_applied.finite": true,
|
||||
"cpu.fixed_delay_applied.schema": true,
|
||||
"cpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"cpu.fixed_delay_pending.finite": true,
|
||||
"cpu.fixed_delay_pending.schema": true,
|
||||
"cpu.frozen_apl_constants": true,
|
||||
"cpu.graph_hashes": true,
|
||||
"cpu.history_mode": true,
|
||||
"cpu.kc_target_count": true,
|
||||
"cpu.last_hash_g": true,
|
||||
"cpu.last_hash_ref": true,
|
||||
"cpu.last_hash_v": true,
|
||||
"cpu.mask_provenance": true,
|
||||
"cpu.no_candidate_trace_input": true,
|
||||
"cpu.no_dense_g": true,
|
||||
"cpu.no_dense_ref": true,
|
||||
"cpu.no_dense_v": true,
|
||||
"cpu.no_error_marker": true,
|
||||
"cpu.no_extra_brain_or_apl_ticks": true,
|
||||
"cpu.pending_hash_metadata": true,
|
||||
"cpu.pending_shape_metadata": true,
|
||||
"cpu.pending_summary_counts": true,
|
||||
"cpu.pinned_environment": true,
|
||||
"cpu.queue_observer_coverage": true,
|
||||
"cpu.read_actual_case": true,
|
||||
"cpu.ref_range": true,
|
||||
"cpu.reported_events": true,
|
||||
"cpu.request_refractory_gate": true,
|
||||
"cpu.request_summary": true,
|
||||
"cpu.requests_match_frozen_input": true,
|
||||
"cpu.sidecar_complete": true,
|
||||
"cpu.summary_complete": true,
|
||||
"cpu.timing_finite_nonnegative": true,
|
||||
"cpu.timing_integer_metadata": true,
|
||||
"cpu.timing_summary_metadata": true,
|
||||
"cpu.worker_source_hash": true,
|
||||
"gpu.accepted_spikes_rejected_absent": true,
|
||||
"gpu.actual_component_bundle_bytes": true,
|
||||
"gpu.all_ref_hashes_from_actual_events": true,
|
||||
"gpu.apl_fast_edge_count": true,
|
||||
"gpu.apl_positive_applied": true,
|
||||
"gpu.apl_positive_drive": true,
|
||||
"gpu.apl_positive_inhibition": true,
|
||||
"gpu.apl_positive_state": true,
|
||||
"gpu.apl_precision": true,
|
||||
"gpu.case_name": true,
|
||||
"gpu.component_dimensions_clock": true,
|
||||
"gpu.component_precision_environment": true,
|
||||
"gpu.component_summary_consistent": true,
|
||||
"gpu.count_nonnegative_total": true,
|
||||
"gpu.delay_summary": true,
|
||||
"gpu.delayed_all_edges_count": true,
|
||||
"gpu.effective_weights_raw_sha": true,
|
||||
"gpu.events_per_neuron_counts": true,
|
||||
"gpu.events_sorted_unique": true,
|
||||
"gpu.final_apl_state_metadata": true,
|
||||
"gpu.finite_sequence_row_conservation": true,
|
||||
"gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"gpu.fixed_delay_applied.finite": true,
|
||||
"gpu.fixed_delay_applied.schema": true,
|
||||
"gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"gpu.fixed_delay_pending.finite": true,
|
||||
"gpu.fixed_delay_pending.schema": true,
|
||||
"gpu.frozen_apl_constants": true,
|
||||
"gpu.history_mode": true,
|
||||
"gpu.input_hashes": true,
|
||||
"gpu.kc_target_count": true,
|
||||
"gpu.last_hash_g": true,
|
||||
"gpu.last_hash_ref": true,
|
||||
"gpu.last_hash_v": true,
|
||||
"gpu.no_dense_g": true,
|
||||
"gpu.no_dense_ref": true,
|
||||
"gpu.no_dense_v": true,
|
||||
"gpu.no_error_marker": true,
|
||||
"gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"gpu.pending_hash_metadata": true,
|
||||
"gpu.pending_shape_metadata": true,
|
||||
"gpu.pending_summary_counts": true,
|
||||
"gpu.ref_range": true,
|
||||
"gpu.reported_events": true,
|
||||
"gpu.request_refractory_gate": true,
|
||||
"gpu.request_summary": true,
|
||||
"gpu.requests_match_frozen_input": true,
|
||||
"gpu.summary_complete": true,
|
||||
"gpu.timing_finite_nonnegative": true,
|
||||
"gpu.timing_integer_metadata": true,
|
||||
"gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true
|
||||
},
|
||||
"component_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"
|
||||
},
|
||||
"cpu_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825",
|
||||
"cross_delay_closed_loop_integrals_claimed_equal": false,
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/dst.npy": "ce20f7433f78442c717ad2a7b5394cf4a3b109d990b4be0788040b7b0f4ed150",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/edge_id.npy": "49260615ff2b6432ce3dea9ce2c7ab8f83d06c2fb7491e58e08355fcedf86a30",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/nodes.npy": "5b511a98e8fbf8d65bbc70b93e75ecae19366f650b7842a45611bfad62ed83dc",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/ptr.npy": "fe43420f11e6242a11f8199ae7f097cab4b8a6db181d36f2a46b9e46670acbb4",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/signed_raw.npy": "f9884ccb8930b32420b27c69271df78034a8350fe5a5c9b76a63c259268efc09",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/src.npy": "bfd625ce690fc21eb0a8b9dede831688ab73b789045ba83ddf4baeefeddf1fc3",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/requests.npz": "2492a95c805c779db16753a786a20e5668885ae9f54f4be39e6d86e3090e5cd3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/spec.json": "f57a9d8eba2548c8a4c1129494620f55e12acf5a4492ee04301c3c90c7ad15c8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-applied.float32.npy": "a0b0fb96df98f1b589f81d6169d095ed22a0896de92725b00bb1d42e01c4f206",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-drive.float32.npy": "705fc118805a38f04f21cde945996d6365f04c7dc142c2c167c300b837a909ee",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-inhibition.float32.npy": "e2ae30c7cd172c623b2d129a87197052d4c3467ac163e3b92a60d0340ec0da30",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-pending-tail.float32.npy": "6fe96517fc7e7ec8f991a9a9b1fb5a9c4d9a27d4532f17a17676fc540b427fa3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-state.float32.npy": "f46650683c74f06fb24cdfa9374de0da8a64a6ae89c606a7a992aed93772609b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-timing-audit.json": "b9e32e2636b8a8c6a00510871bf6c46f0d3b6957cd265a4ce7df516efd08d590",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/queue.jsonl": "3cf1017ab663961a26f026660059bf52b31683d68cfa6f5c782c985c84363547",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/requests.csv": "605d2ce163b2a93cb18c009c90fc0a6fe0fb89007d030128bc130b9cfecb3968",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/state.npz": "de63be6895c06e99631076550b984f1bff9a1360caedb6b9661e70bb91f6c0ad",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/summary.json": "ca0a197b450f0b182f21e5cf79b9df1fc9b4a93763a4f884e19236a1cfc47f30",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/tick-state-hashes.jsonl": "60cc144f8cf1634edaebd694bf505b3fe0779353fd501a467187c9d859a08080",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/apl-applied.float32.npy": "a0b0fb96df98f1b589f81d6169d095ed22a0896de92725b00bb1d42e01c4f206",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/apl-drive.float32.npy": "705fc118805a38f04f21cde945996d6365f04c7dc142c2c167c300b837a909ee",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/apl-inhibition.float32.npy": "e2ae30c7cd172c623b2d129a87197052d4c3467ac163e3b92a60d0340ec0da30",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/apl-mask-audit.json": "d0f9e4bec276cba5df66468d4052c00944c6fd9022d2d09c400e3b582e4c90b7",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/apl-pending-tail.float32.npy": "6fe96517fc7e7ec8f991a9a9b1fb5a9c4d9a27d4532f17a17676fc540b427fa3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/apl-state.float32.npy": "f46650683c74f06fb24cdfa9374de0da8a64a6ae89c606a7a992aed93772609b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/apl-timing-audit.json": "d5a6b9b87bb29eab8849aaf284de8a3383d169d7f76ad04d8ab9dfaf230fda89",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/apl-worker-handshake.json": "9850e95638c94a6855533152c91b1f50430cd2b68ca2b47381a0ec5d99d0e1f0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/environment.json": "16ec485d45d573738f9e62d74d7dc5a2cf130320472e2cedcca645dad2c5983c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/input-audit.json": "9491589532b60bbb131459174f5d0addd20f63cf079b39895ad67012b386239e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/queue-audit.json": "338af77057d2c3611f4dcdcf4329ec7399d9375f9bfc67a0cafe3eca2a26a6b1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/queue.jsonl": "102e549d18bc7a421dc1500c7436bf7abee361e1e2bedaad50b9546d2aa56167",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/requests.csv": "605d2ce163b2a93cb18c009c90fc0a6fe0fb89007d030128bc130b9cfecb3968",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/state.npz": "de63be6895c06e99631076550b984f1bff9a1360caedb6b9661e70bb91f6c0ad",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/summary.json": "89186c151d565cfbe568f0083658b7a5bfed65ca7468ecac7d8cc2e0fc4b8e9d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/tick-state-hashes.jsonl": "a92a4ca83752275c8118911d8d2c8543df4bc4e45d8e08151f3bf5964dc3b8cf",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825/weights.npy": "ac433da4b0ac3cdc20c526d99a7158c3dc2298b62c10784f9dcd7db1f089214b"
|
||||
},
|
||||
"failed_checks": [],
|
||||
"finite_generated_sequence_accounting_only": true,
|
||||
"gpu_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0",
|
||||
"independent_CPU_all_components_claim": false,
|
||||
"kind": "shared-APL-component closed-loop byte-exact comparison",
|
||||
"limits": [
|
||||
"APL Torch primitives are shared; original AST component validation is a separate required gate.",
|
||||
"Small cases preserve and independently hash all pre/post states; full cases compare all-tick instrumented state hashes without saving dense whole-brain histories.",
|
||||
"For full cases intermediate finite checks are performed by the instrumented backends; this file independently inspects final states and all APL traces.",
|
||||
"Fixed-delay checks conserve this run's finite generated sample sequence, including pending initial zeros; no tail brain advancement or equality of different closed-loop branches is claimed.",
|
||||
"This is exact agreement for the declared trajectory, not physiological validity or learning."
|
||||
],
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"rejected_requests": 30,
|
||||
"requested": 109,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 29962
|
||||
}
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
{
|
||||
"accepted_arriving_edges": 13247530,
|
||||
"accepted_requests": 80,
|
||||
"active_neurons": 6974,
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"arriving_edges": 14410892,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"case": "novel_to_aj-physiological-00-s1073741825",
|
||||
"case_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/novel_to_aj/novel_to_aj-physiological-00-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"cpu.accepted_spikes_rejected_absent": true,
|
||||
"cpu.actual_author_coefficients_exact": true,
|
||||
"cpu.actual_component_bundle_bytes": true,
|
||||
"cpu.all_ref_hashes_from_actual_events": true,
|
||||
"cpu.apl_fast_edge_count": true,
|
||||
"cpu.apl_positive_applied": true,
|
||||
"cpu.apl_positive_drive": true,
|
||||
"cpu.apl_positive_inhibition": true,
|
||||
"cpu.apl_positive_state": true,
|
||||
"cpu.apl_precision": true,
|
||||
"cpu.bundle_hashes": true,
|
||||
"cpu.case_name": true,
|
||||
"cpu.coefficient_input_hash": true,
|
||||
"cpu.component_dimensions_clock": true,
|
||||
"cpu.component_precision_environment": true,
|
||||
"cpu.count_nonnegative_total": true,
|
||||
"cpu.delay_summary": true,
|
||||
"cpu.delayed_all_edges_count": true,
|
||||
"cpu.effective_weights_independent_bytes": true,
|
||||
"cpu.effective_weights_raw_sha": true,
|
||||
"cpu.events_per_neuron_counts": true,
|
||||
"cpu.events_sorted_unique": true,
|
||||
"cpu.final_apl_state_metadata": true,
|
||||
"cpu.finite_sequence_row_conservation": true,
|
||||
"cpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"cpu.fixed_delay_applied.finite": true,
|
||||
"cpu.fixed_delay_applied.schema": true,
|
||||
"cpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"cpu.fixed_delay_pending.finite": true,
|
||||
"cpu.fixed_delay_pending.schema": true,
|
||||
"cpu.frozen_apl_constants": true,
|
||||
"cpu.graph_hashes": true,
|
||||
"cpu.history_mode": true,
|
||||
"cpu.kc_target_count": true,
|
||||
"cpu.last_hash_g": true,
|
||||
"cpu.last_hash_ref": true,
|
||||
"cpu.last_hash_v": true,
|
||||
"cpu.mask_provenance": true,
|
||||
"cpu.no_candidate_trace_input": true,
|
||||
"cpu.no_dense_g": true,
|
||||
"cpu.no_dense_ref": true,
|
||||
"cpu.no_dense_v": true,
|
||||
"cpu.no_error_marker": true,
|
||||
"cpu.no_extra_brain_or_apl_ticks": true,
|
||||
"cpu.pending_hash_metadata": true,
|
||||
"cpu.pending_shape_metadata": true,
|
||||
"cpu.pending_summary_counts": true,
|
||||
"cpu.pinned_environment": true,
|
||||
"cpu.queue_observer_coverage": true,
|
||||
"cpu.read_actual_case": true,
|
||||
"cpu.ref_range": true,
|
||||
"cpu.reported_events": true,
|
||||
"cpu.request_refractory_gate": true,
|
||||
"cpu.request_summary": true,
|
||||
"cpu.requests_match_frozen_input": true,
|
||||
"cpu.sidecar_complete": true,
|
||||
"cpu.summary_complete": true,
|
||||
"cpu.timing_finite_nonnegative": true,
|
||||
"cpu.timing_integer_metadata": true,
|
||||
"cpu.timing_summary_metadata": true,
|
||||
"cpu.worker_source_hash": true,
|
||||
"gpu.accepted_spikes_rejected_absent": true,
|
||||
"gpu.actual_component_bundle_bytes": true,
|
||||
"gpu.all_ref_hashes_from_actual_events": true,
|
||||
"gpu.apl_fast_edge_count": true,
|
||||
"gpu.apl_positive_applied": true,
|
||||
"gpu.apl_positive_drive": true,
|
||||
"gpu.apl_positive_inhibition": true,
|
||||
"gpu.apl_positive_state": true,
|
||||
"gpu.apl_precision": true,
|
||||
"gpu.case_name": true,
|
||||
"gpu.component_dimensions_clock": true,
|
||||
"gpu.component_precision_environment": true,
|
||||
"gpu.component_summary_consistent": true,
|
||||
"gpu.count_nonnegative_total": true,
|
||||
"gpu.delay_summary": true,
|
||||
"gpu.delayed_all_edges_count": true,
|
||||
"gpu.effective_weights_raw_sha": true,
|
||||
"gpu.events_per_neuron_counts": true,
|
||||
"gpu.events_sorted_unique": true,
|
||||
"gpu.final_apl_state_metadata": true,
|
||||
"gpu.finite_sequence_row_conservation": true,
|
||||
"gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"gpu.fixed_delay_applied.finite": true,
|
||||
"gpu.fixed_delay_applied.schema": true,
|
||||
"gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"gpu.fixed_delay_pending.finite": true,
|
||||
"gpu.fixed_delay_pending.schema": true,
|
||||
"gpu.frozen_apl_constants": true,
|
||||
"gpu.history_mode": true,
|
||||
"gpu.input_hashes": true,
|
||||
"gpu.kc_target_count": true,
|
||||
"gpu.last_hash_g": true,
|
||||
"gpu.last_hash_ref": true,
|
||||
"gpu.last_hash_v": true,
|
||||
"gpu.no_dense_g": true,
|
||||
"gpu.no_dense_ref": true,
|
||||
"gpu.no_dense_v": true,
|
||||
"gpu.no_error_marker": true,
|
||||
"gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"gpu.pending_hash_metadata": true,
|
||||
"gpu.pending_shape_metadata": true,
|
||||
"gpu.pending_summary_counts": true,
|
||||
"gpu.ref_range": true,
|
||||
"gpu.reported_events": true,
|
||||
"gpu.request_refractory_gate": true,
|
||||
"gpu.request_summary": true,
|
||||
"gpu.requests_match_frozen_input": true,
|
||||
"gpu.summary_complete": true,
|
||||
"gpu.timing_finite_nonnegative": true,
|
||||
"gpu.timing_integer_metadata": true,
|
||||
"gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true
|
||||
},
|
||||
"component_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"
|
||||
},
|
||||
"cpu_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825",
|
||||
"cross_delay_closed_loop_integrals_claimed_equal": false,
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/dst.npy": "ce20f7433f78442c717ad2a7b5394cf4a3b109d990b4be0788040b7b0f4ed150",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/edge_id.npy": "49260615ff2b6432ce3dea9ce2c7ab8f83d06c2fb7491e58e08355fcedf86a30",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/nodes.npy": "5b511a98e8fbf8d65bbc70b93e75ecae19366f650b7842a45611bfad62ed83dc",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/ptr.npy": "fe43420f11e6242a11f8199ae7f097cab4b8a6db181d36f2a46b9e46670acbb4",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/signed_raw.npy": "f9884ccb8930b32420b27c69271df78034a8350fe5a5c9b76a63c259268efc09",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/src.npy": "bfd625ce690fc21eb0a8b9dede831688ab73b789045ba83ddf4baeefeddf1fc3",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/novel_to_aj/novel_to_aj-physiological-00-s1073741825/requests.npz": "e1864bc4bbe3224126fdc6757552d09d942803c83853faec00e06069c00838ee",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/novel_to_aj/novel_to_aj-physiological-00-s1073741825/spec.json": "e6a07f3094dd548d6ba784edbe4e0dcd854514b6fd6492cbdc417b39e9063845",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-applied.float32.npy": "757329fd1d760d3f2dc5e73fb2686a94ba78c5a255db7f4ec9918f8d8ba700f8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-drive.float32.npy": "dcffdc2891adcea6be0e672c5840527a7d7073ffaedc2bfa48a3287caa291d27",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-inhibition.float32.npy": "ac66b570abacbc83dff4250936becf7c538bf2aca8d53a358e237b33050b2616",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-pending-tail.float32.npy": "0bbf355ce1ddb2d2ddfdd73a0ca2fba59dd479584403a6cf8aa0b8d2336935f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-state.float32.npy": "6ce330b52b7e8067ae043df15f1691973afedc4867679c9d97761e88f6ca9cff",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-timing-audit.json": "54224aba229e01482bf226f4b6c4dcb8d6c82c6f08be3e016df9138635a227aa",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/queue.jsonl": "ebd6f41a0b635a8b6d36819d97eadfbeab5eaaab7f1fed5a41e0db84cad6ce9b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/requests.csv": "dee41900961ca56bfe5ac1d725783a4a1a99ae89dd364b2dcb99d93d25db9608",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/state.npz": "651624e2efa6b0cc8caedb3d120e020f37ca85accb36f59ba8dff69e914bd742",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/summary.json": "2a0e1b97a90de09a3ee05db6701ce45a1da3c18ac4ce3390f8b01a08aa3c5a01",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/tick-state-hashes.jsonl": "b2a79871dd604f8c062598c8014711242699dba435db4bea5b75b088ec38a191",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/apl-applied.float32.npy": "757329fd1d760d3f2dc5e73fb2686a94ba78c5a255db7f4ec9918f8d8ba700f8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/apl-drive.float32.npy": "dcffdc2891adcea6be0e672c5840527a7d7073ffaedc2bfa48a3287caa291d27",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/apl-inhibition.float32.npy": "ac66b570abacbc83dff4250936becf7c538bf2aca8d53a358e237b33050b2616",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/apl-mask-audit.json": "d0f9e4bec276cba5df66468d4052c00944c6fd9022d2d09c400e3b582e4c90b7",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/apl-pending-tail.float32.npy": "0bbf355ce1ddb2d2ddfdd73a0ca2fba59dd479584403a6cf8aa0b8d2336935f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/apl-state.float32.npy": "6ce330b52b7e8067ae043df15f1691973afedc4867679c9d97761e88f6ca9cff",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/apl-timing-audit.json": "251dd25f317e022dfd8ba8709e0c1b5c468401c3ed7beeedecde9f8cfe246a63",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/apl-worker-handshake.json": "9850e95638c94a6855533152c91b1f50430cd2b68ca2b47381a0ec5d99d0e1f0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/environment.json": "16ec485d45d573738f9e62d74d7dc5a2cf130320472e2cedcca645dad2c5983c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/input-audit.json": "62ff6072a0db38c03f733afa57dc46a71358bb27bf02b877a87d754cca5b92bb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/queue-audit.json": "338af77057d2c3611f4dcdcf4329ec7399d9375f9bfc67a0cafe3eca2a26a6b1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/queue.jsonl": "894ab50fa8a60ebe4ccf54c46b7778488b83605bb08c9dcb438981f9901c0a0c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/requests.csv": "dee41900961ca56bfe5ac1d725783a4a1a99ae89dd364b2dcb99d93d25db9608",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/state.npz": "651624e2efa6b0cc8caedb3d120e020f37ca85accb36f59ba8dff69e914bd742",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/summary.json": "dc80c2a5ad1f5cdae92e93f7124ebfb8a38af45324d3c00203dabeb44d3cf6b5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/tick-state-hashes.jsonl": "166a663b84ff3281babc50b7ebd7d356f6de1eed734b72abfd545b785b9a063c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/novel_to_aj/novel_to_aj-physiological-00-s1073741825/weights.npy": "ac433da4b0ac3cdc20c526d99a7158c3dc2298b62c10784f9dcd7db1f089214b"
|
||||
},
|
||||
"failed_checks": [],
|
||||
"finite_generated_sequence_accounting_only": true,
|
||||
"gpu_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0",
|
||||
"independent_CPU_all_components_claim": false,
|
||||
"kind": "shared-APL-component closed-loop byte-exact comparison",
|
||||
"limits": [
|
||||
"APL Torch primitives are shared; original AST component validation is a separate required gate.",
|
||||
"Small cases preserve and independently hash all pre/post states; full cases compare all-tick instrumented state hashes without saving dense whole-brain histories.",
|
||||
"For full cases intermediate finite checks are performed by the instrumented backends; this file independently inspects final states and all APL traces.",
|
||||
"Fixed-delay checks conserve this run's finite generated sample sequence, including pending initial zeros; no tail brain advancement or equality of different closed-loop branches is claimed.",
|
||||
"This is exact agreement for the declared trajectory, not physiological validity or learning."
|
||||
],
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"rejected_requests": 37,
|
||||
"requested": 117,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 29986
|
||||
}
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
{
|
||||
"accepted_arriving_edges": 13825273,
|
||||
"accepted_requests": 78,
|
||||
"active_neurons": 7171,
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"arriving_edges": 15029855,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"case": "seed_validation-matched_energy-00-s1073741825",
|
||||
"case_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/seed_validation/seed_validation-matched_energy-00-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"cpu.accepted_spikes_rejected_absent": true,
|
||||
"cpu.actual_author_coefficients_exact": true,
|
||||
"cpu.actual_component_bundle_bytes": true,
|
||||
"cpu.all_ref_hashes_from_actual_events": true,
|
||||
"cpu.apl_fast_edge_count": true,
|
||||
"cpu.apl_positive_applied": true,
|
||||
"cpu.apl_positive_drive": true,
|
||||
"cpu.apl_positive_inhibition": true,
|
||||
"cpu.apl_positive_state": true,
|
||||
"cpu.apl_precision": true,
|
||||
"cpu.bundle_hashes": true,
|
||||
"cpu.case_name": true,
|
||||
"cpu.coefficient_input_hash": true,
|
||||
"cpu.component_dimensions_clock": true,
|
||||
"cpu.component_precision_environment": true,
|
||||
"cpu.count_nonnegative_total": true,
|
||||
"cpu.delay_summary": true,
|
||||
"cpu.delayed_all_edges_count": true,
|
||||
"cpu.effective_weights_independent_bytes": true,
|
||||
"cpu.effective_weights_raw_sha": true,
|
||||
"cpu.events_per_neuron_counts": true,
|
||||
"cpu.events_sorted_unique": true,
|
||||
"cpu.final_apl_state_metadata": true,
|
||||
"cpu.finite_sequence_row_conservation": true,
|
||||
"cpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"cpu.fixed_delay_applied.finite": true,
|
||||
"cpu.fixed_delay_applied.schema": true,
|
||||
"cpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"cpu.fixed_delay_pending.finite": true,
|
||||
"cpu.fixed_delay_pending.schema": true,
|
||||
"cpu.frozen_apl_constants": true,
|
||||
"cpu.graph_hashes": true,
|
||||
"cpu.history_mode": true,
|
||||
"cpu.kc_target_count": true,
|
||||
"cpu.last_hash_g": true,
|
||||
"cpu.last_hash_ref": true,
|
||||
"cpu.last_hash_v": true,
|
||||
"cpu.mask_provenance": true,
|
||||
"cpu.no_candidate_trace_input": true,
|
||||
"cpu.no_dense_g": true,
|
||||
"cpu.no_dense_ref": true,
|
||||
"cpu.no_dense_v": true,
|
||||
"cpu.no_error_marker": true,
|
||||
"cpu.no_extra_brain_or_apl_ticks": true,
|
||||
"cpu.pending_hash_metadata": true,
|
||||
"cpu.pending_shape_metadata": true,
|
||||
"cpu.pending_summary_counts": true,
|
||||
"cpu.pinned_environment": true,
|
||||
"cpu.queue_observer_coverage": true,
|
||||
"cpu.read_actual_case": true,
|
||||
"cpu.ref_range": true,
|
||||
"cpu.reported_events": true,
|
||||
"cpu.request_refractory_gate": true,
|
||||
"cpu.request_summary": true,
|
||||
"cpu.requests_match_frozen_input": true,
|
||||
"cpu.sidecar_complete": true,
|
||||
"cpu.summary_complete": true,
|
||||
"cpu.timing_finite_nonnegative": true,
|
||||
"cpu.timing_integer_metadata": true,
|
||||
"cpu.timing_summary_metadata": true,
|
||||
"cpu.worker_source_hash": true,
|
||||
"gpu.accepted_spikes_rejected_absent": true,
|
||||
"gpu.actual_component_bundle_bytes": true,
|
||||
"gpu.all_ref_hashes_from_actual_events": true,
|
||||
"gpu.apl_fast_edge_count": true,
|
||||
"gpu.apl_positive_applied": true,
|
||||
"gpu.apl_positive_drive": true,
|
||||
"gpu.apl_positive_inhibition": true,
|
||||
"gpu.apl_positive_state": true,
|
||||
"gpu.apl_precision": true,
|
||||
"gpu.case_name": true,
|
||||
"gpu.component_dimensions_clock": true,
|
||||
"gpu.component_precision_environment": true,
|
||||
"gpu.component_summary_consistent": true,
|
||||
"gpu.count_nonnegative_total": true,
|
||||
"gpu.delay_summary": true,
|
||||
"gpu.delayed_all_edges_count": true,
|
||||
"gpu.effective_weights_raw_sha": true,
|
||||
"gpu.events_per_neuron_counts": true,
|
||||
"gpu.events_sorted_unique": true,
|
||||
"gpu.final_apl_state_metadata": true,
|
||||
"gpu.finite_sequence_row_conservation": true,
|
||||
"gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"gpu.fixed_delay_applied.finite": true,
|
||||
"gpu.fixed_delay_applied.schema": true,
|
||||
"gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"gpu.fixed_delay_pending.finite": true,
|
||||
"gpu.fixed_delay_pending.schema": true,
|
||||
"gpu.frozen_apl_constants": true,
|
||||
"gpu.history_mode": true,
|
||||
"gpu.input_hashes": true,
|
||||
"gpu.kc_target_count": true,
|
||||
"gpu.last_hash_g": true,
|
||||
"gpu.last_hash_ref": true,
|
||||
"gpu.last_hash_v": true,
|
||||
"gpu.no_dense_g": true,
|
||||
"gpu.no_dense_ref": true,
|
||||
"gpu.no_dense_v": true,
|
||||
"gpu.no_error_marker": true,
|
||||
"gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"gpu.pending_hash_metadata": true,
|
||||
"gpu.pending_shape_metadata": true,
|
||||
"gpu.pending_summary_counts": true,
|
||||
"gpu.ref_range": true,
|
||||
"gpu.reported_events": true,
|
||||
"gpu.request_refractory_gate": true,
|
||||
"gpu.request_summary": true,
|
||||
"gpu.requests_match_frozen_input": true,
|
||||
"gpu.summary_complete": true,
|
||||
"gpu.timing_finite_nonnegative": true,
|
||||
"gpu.timing_integer_metadata": true,
|
||||
"gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true
|
||||
},
|
||||
"component_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"
|
||||
},
|
||||
"cpu_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825",
|
||||
"cross_delay_closed_loop_integrals_claimed_equal": false,
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/dst.npy": "ce20f7433f78442c717ad2a7b5394cf4a3b109d990b4be0788040b7b0f4ed150",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/edge_id.npy": "49260615ff2b6432ce3dea9ce2c7ab8f83d06c2fb7491e58e08355fcedf86a30",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/nodes.npy": "5b511a98e8fbf8d65bbc70b93e75ecae19366f650b7842a45611bfad62ed83dc",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/ptr.npy": "fe43420f11e6242a11f8199ae7f097cab4b8a6db181d36f2a46b9e46670acbb4",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/signed_raw.npy": "f9884ccb8930b32420b27c69271df78034a8350fe5a5c9b76a63c259268efc09",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/src.npy": "bfd625ce690fc21eb0a8b9dede831688ab73b789045ba83ddf4baeefeddf1fc3",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/seed_validation/seed_validation-matched_energy-00-s1073741825/requests.npz": "829bb96de6a7137e33f3b17ba12163a973471068a5777188c958ce4687100585",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/seed_validation/seed_validation-matched_energy-00-s1073741825/spec.json": "23b4e96982040551cc88333dad82d8bd77275726132134ece80e560f8aae988d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-applied.float32.npy": "d17e1c743093b083d47ca78438e56f3097b5634da887f83987aec477b9ec4274",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-drive.float32.npy": "18cae6e5e9a99a239baf3e1d78ed2017022923e0ce4aa8a6c3725a267fed1fd5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-inhibition.float32.npy": "8f8841b63ee734ddd51fac8d47017ea3499d8fb67b14623c6a24e45503fbb809",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-pending-tail.float32.npy": "fdc9d9439f0a7ced8c05728bd893861e1a383b4ff2d0e8338817e80c75b0dc69",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-state.float32.npy": "ee6cf00cae5c024fd596d217168f18466e579effa3af9cbe022168b6e2c5d39a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-timing-audit.json": "489a66472a77910979a2cd9e60237f1202ad9e53f9364afb377d7ade90a14c9f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/queue.jsonl": "0f789d0733a6b7ec0056f39c0522fa19ee21ad61db9da239228ceda7612dfde6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/requests.csv": "b13c09a63c0825beb3caf362a3c31c8d75ba38d9e9adb7c393c1ce172dc497a4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/state.npz": "8e79648cdfb7f23ed18f92a248708f028f9f5ffaccb9d59c171aa36ed3177509",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/summary.json": "7c65ee7ec41142271137e2985366f1de38915abf29f80fc39261d8c4e440e71d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/tick-state-hashes.jsonl": "44c7ed90a421c7d7eb771365661fb6f02842a4ebedc6171ceca4062627ba214c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/apl-applied.float32.npy": "d17e1c743093b083d47ca78438e56f3097b5634da887f83987aec477b9ec4274",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/apl-drive.float32.npy": "18cae6e5e9a99a239baf3e1d78ed2017022923e0ce4aa8a6c3725a267fed1fd5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/apl-inhibition.float32.npy": "8f8841b63ee734ddd51fac8d47017ea3499d8fb67b14623c6a24e45503fbb809",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/apl-mask-audit.json": "d0f9e4bec276cba5df66468d4052c00944c6fd9022d2d09c400e3b582e4c90b7",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/apl-pending-tail.float32.npy": "fdc9d9439f0a7ced8c05728bd893861e1a383b4ff2d0e8338817e80c75b0dc69",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/apl-state.float32.npy": "ee6cf00cae5c024fd596d217168f18466e579effa3af9cbe022168b6e2c5d39a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/apl-timing-audit.json": "ef1061951869c394d606f79f2d362f67e75a06955e737f0a4b9a7cb7eedd6ce1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/apl-worker-handshake.json": "9850e95638c94a6855533152c91b1f50430cd2b68ca2b47381a0ec5d99d0e1f0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/environment.json": "16ec485d45d573738f9e62d74d7dc5a2cf130320472e2cedcca645dad2c5983c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/input-audit.json": "a9b6bb54fd3cc904d7e56c6ab2e49f607432966623c6ba47a3939e8d7e401920",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/queue-audit.json": "338af77057d2c3611f4dcdcf4329ec7399d9375f9bfc67a0cafe3eca2a26a6b1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/queue.jsonl": "90826f935c270e4d56d4310aad43d17124322129add4f096eabfa3c352bb2336",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/requests.csv": "b13c09a63c0825beb3caf362a3c31c8d75ba38d9e9adb7c393c1ce172dc497a4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/state.npz": "8e79648cdfb7f23ed18f92a248708f028f9f5ffaccb9d59c171aa36ed3177509",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/summary.json": "ea1db106544f41d49e9a07449670f4227b4f93d3eeb8b2de2befa4b68d287ae1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/tick-state-hashes.jsonl": "b0386ffb7f5aaac324e058daed6dddb87979001dbb172a9673cf5392d35ae212",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-matched_energy-00-s1073741825/weights.npy": "ac433da4b0ac3cdc20c526d99a7158c3dc2298b62c10784f9dcd7db1f089214b"
|
||||
},
|
||||
"failed_checks": [],
|
||||
"finite_generated_sequence_accounting_only": true,
|
||||
"gpu_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0",
|
||||
"independent_CPU_all_components_claim": false,
|
||||
"kind": "shared-APL-component closed-loop byte-exact comparison",
|
||||
"limits": [
|
||||
"APL Torch primitives are shared; original AST component validation is a separate required gate.",
|
||||
"Small cases preserve and independently hash all pre/post states; full cases compare all-tick instrumented state hashes without saving dense whole-brain histories.",
|
||||
"For full cases intermediate finite checks are performed by the instrumented backends; this file independently inspects final states and all APL traces.",
|
||||
"Fixed-delay checks conserve this run's finite generated sample sequence, including pending initial zeros; no tail brain advancement or equality of different closed-loop branches is claimed.",
|
||||
"This is exact agreement for the declared trajectory, not physiological validity or learning."
|
||||
],
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"rejected_requests": 29,
|
||||
"requested": 107,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30982
|
||||
}
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
{
|
||||
"accepted_arriving_edges": 13677623,
|
||||
"accepted_requests": 79,
|
||||
"active_neurons": 7035,
|
||||
"apl_delay_steps": 18,
|
||||
"apl_fast_edges_zeroed": 5845,
|
||||
"arriving_edges": 14890820,
|
||||
"biological_delay_measurement_claimed": false,
|
||||
"case": "seed_validation-physiological-00-s1073741825",
|
||||
"case_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/seed_validation/seed_validation-physiological-00-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"cpu.accepted_spikes_rejected_absent": true,
|
||||
"cpu.actual_author_coefficients_exact": true,
|
||||
"cpu.actual_component_bundle_bytes": true,
|
||||
"cpu.all_ref_hashes_from_actual_events": true,
|
||||
"cpu.apl_fast_edge_count": true,
|
||||
"cpu.apl_positive_applied": true,
|
||||
"cpu.apl_positive_drive": true,
|
||||
"cpu.apl_positive_inhibition": true,
|
||||
"cpu.apl_positive_state": true,
|
||||
"cpu.apl_precision": true,
|
||||
"cpu.bundle_hashes": true,
|
||||
"cpu.case_name": true,
|
||||
"cpu.coefficient_input_hash": true,
|
||||
"cpu.component_dimensions_clock": true,
|
||||
"cpu.component_precision_environment": true,
|
||||
"cpu.count_nonnegative_total": true,
|
||||
"cpu.delay_summary": true,
|
||||
"cpu.delayed_all_edges_count": true,
|
||||
"cpu.effective_weights_independent_bytes": true,
|
||||
"cpu.effective_weights_raw_sha": true,
|
||||
"cpu.events_per_neuron_counts": true,
|
||||
"cpu.events_sorted_unique": true,
|
||||
"cpu.final_apl_state_metadata": true,
|
||||
"cpu.finite_sequence_row_conservation": true,
|
||||
"cpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"cpu.fixed_delay_applied.finite": true,
|
||||
"cpu.fixed_delay_applied.schema": true,
|
||||
"cpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"cpu.fixed_delay_pending.finite": true,
|
||||
"cpu.fixed_delay_pending.schema": true,
|
||||
"cpu.frozen_apl_constants": true,
|
||||
"cpu.graph_hashes": true,
|
||||
"cpu.history_mode": true,
|
||||
"cpu.kc_target_count": true,
|
||||
"cpu.last_hash_g": true,
|
||||
"cpu.last_hash_ref": true,
|
||||
"cpu.last_hash_v": true,
|
||||
"cpu.mask_provenance": true,
|
||||
"cpu.no_candidate_trace_input": true,
|
||||
"cpu.no_dense_g": true,
|
||||
"cpu.no_dense_ref": true,
|
||||
"cpu.no_dense_v": true,
|
||||
"cpu.no_error_marker": true,
|
||||
"cpu.no_extra_brain_or_apl_ticks": true,
|
||||
"cpu.pending_hash_metadata": true,
|
||||
"cpu.pending_shape_metadata": true,
|
||||
"cpu.pending_summary_counts": true,
|
||||
"cpu.pinned_environment": true,
|
||||
"cpu.queue_observer_coverage": true,
|
||||
"cpu.read_actual_case": true,
|
||||
"cpu.ref_range": true,
|
||||
"cpu.reported_events": true,
|
||||
"cpu.request_refractory_gate": true,
|
||||
"cpu.request_summary": true,
|
||||
"cpu.requests_match_frozen_input": true,
|
||||
"cpu.sidecar_complete": true,
|
||||
"cpu.summary_complete": true,
|
||||
"cpu.timing_finite_nonnegative": true,
|
||||
"cpu.timing_integer_metadata": true,
|
||||
"cpu.timing_summary_metadata": true,
|
||||
"cpu.worker_source_hash": true,
|
||||
"gpu.accepted_spikes_rejected_absent": true,
|
||||
"gpu.actual_component_bundle_bytes": true,
|
||||
"gpu.all_ref_hashes_from_actual_events": true,
|
||||
"gpu.apl_fast_edge_count": true,
|
||||
"gpu.apl_positive_applied": true,
|
||||
"gpu.apl_positive_drive": true,
|
||||
"gpu.apl_positive_inhibition": true,
|
||||
"gpu.apl_positive_state": true,
|
||||
"gpu.apl_precision": true,
|
||||
"gpu.case_name": true,
|
||||
"gpu.component_dimensions_clock": true,
|
||||
"gpu.component_precision_environment": true,
|
||||
"gpu.component_summary_consistent": true,
|
||||
"gpu.count_nonnegative_total": true,
|
||||
"gpu.delay_summary": true,
|
||||
"gpu.delayed_all_edges_count": true,
|
||||
"gpu.effective_weights_raw_sha": true,
|
||||
"gpu.events_per_neuron_counts": true,
|
||||
"gpu.events_sorted_unique": true,
|
||||
"gpu.final_apl_state_metadata": true,
|
||||
"gpu.finite_sequence_row_conservation": true,
|
||||
"gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"gpu.fixed_delay_applied.finite": true,
|
||||
"gpu.fixed_delay_applied.schema": true,
|
||||
"gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"gpu.fixed_delay_pending.finite": true,
|
||||
"gpu.fixed_delay_pending.schema": true,
|
||||
"gpu.frozen_apl_constants": true,
|
||||
"gpu.history_mode": true,
|
||||
"gpu.input_hashes": true,
|
||||
"gpu.kc_target_count": true,
|
||||
"gpu.last_hash_g": true,
|
||||
"gpu.last_hash_ref": true,
|
||||
"gpu.last_hash_v": true,
|
||||
"gpu.no_dense_g": true,
|
||||
"gpu.no_dense_ref": true,
|
||||
"gpu.no_dense_v": true,
|
||||
"gpu.no_error_marker": true,
|
||||
"gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"gpu.pending_hash_metadata": true,
|
||||
"gpu.pending_shape_metadata": true,
|
||||
"gpu.pending_summary_counts": true,
|
||||
"gpu.ref_range": true,
|
||||
"gpu.reported_events": true,
|
||||
"gpu.request_refractory_gate": true,
|
||||
"gpu.request_summary": true,
|
||||
"gpu.requests_match_frozen_input": true,
|
||||
"gpu.summary_complete": true,
|
||||
"gpu.timing_finite_nonnegative": true,
|
||||
"gpu.timing_integer_metadata": true,
|
||||
"gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true
|
||||
},
|
||||
"component_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"
|
||||
},
|
||||
"cpu_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825",
|
||||
"cross_delay_closed_loop_integrals_claimed_equal": false,
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"effective_weights_raw_sha256": "b8b8f43048e0ef03943e607666319d25363bed3b2564fdc02b4149837e7eedc9",
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/apl_globals.npy": "8388c8795d49cfe5b14fda54f76ef3a35030c62ba87bd8ca6334a2dcdf186f19",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/input_matrix.npy": "c4d3df703ea5f1d7402b8255cfa19d9744139ad1048827c23b151d8ba766fec6",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/kc_globals.npy": "97a570aafa089f93e642b2bb07e3a3322dabb14c3c7dd431f0c8d2b3b7951fdd",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle/output_matrix.npy": "e2d0a1ccd740e6777245ebf2efcd88bf5e1da9e47308c63ec8e83d451e134a73",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/dst.npy": "ce20f7433f78442c717ad2a7b5394cf4a3b109d990b4be0788040b7b0f4ed150",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/edge_id.npy": "49260615ff2b6432ce3dea9ce2c7ab8f83d06c2fb7491e58e08355fcedf86a30",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/nodes.npy": "5b511a98e8fbf8d65bbc70b93e75ecae19366f650b7842a45611bfad62ed83dc",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/ptr.npy": "fe43420f11e6242a11f8199ae7f097cab4b8a6db181d36f2a46b9e46670acbb4",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/signed_raw.npy": "f9884ccb8930b32420b27c69271df78034a8350fe5a5c9b76a63c259268efc09",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/src.npy": "bfd625ce690fc21eb0a8b9dede831688ab73b789045ba83ddf4baeefeddf1fc3",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/seed_validation/seed_validation-physiological-00-s1073741825/requests.npz": "003a6f6306787b67391735c41dd8b14c689beaaab3ab71a5e9afb376d3cbb091",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/seed_validation/seed_validation-physiological-00-s1073741825/spec.json": "ebffa677b41e06cb776a987a496a0577bdda135cf3c067ca8017b038ff3fc5c4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-applied.float32.npy": "b3a535bc095db2464a75560ed11f336a9db8e843c08fd7681a1b9759b624ad8e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-drive.float32.npy": "8b6432e8947f4c67466b5cae28cb0d0877b61862e80e6d9b10c5734d9afa8411",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-inhibition.float32.npy": "8f9e59026dc7c7663abf8f7abc60ebf93b11a68483bc0960d375a83731acc859",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-pending-tail.float32.npy": "fc1e2d8ffa426d4118a7544129323c5f7523e9df3e298a60922ca0ecabe7c18f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-state.float32.npy": "36ecfec747be0c700959ba1ac171b81a1f3471aa9baba41b7bb6a67be01213c2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-timing-audit.json": "850600c0560f98c1f2de35bae506c5619205375e6616137a7e8ff978000b0c3a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/queue.jsonl": "22fbf106279d5ad314beba357137701df111bb28b57accdb09a0e299dfdf39cf",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/requests.csv": "4bcc9ef7fdc596ddac3be3b0d29f0aea2e086deeb803f3a90baba21b5490ef53",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/state.npz": "933afdc1bd0ea81174aeb334f017cfbe1bbc0a72f8eca767698275c5dca886f3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/summary.json": "9d65ce466a76c4adb46dac9ebeb15b6a72f829427f0cb1a4b4946b4016346266",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/tick-state-hashes.jsonl": "0266afe78eadd1ea5bfb25026103d01d2af82d9b6ce2bcbb9d60e576ac898e91",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/apl-applied.float32.npy": "b3a535bc095db2464a75560ed11f336a9db8e843c08fd7681a1b9759b624ad8e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/apl-drive.float32.npy": "8b6432e8947f4c67466b5cae28cb0d0877b61862e80e6d9b10c5734d9afa8411",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/apl-inhibition.float32.npy": "8f9e59026dc7c7663abf8f7abc60ebf93b11a68483bc0960d375a83731acc859",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/apl-mask-audit.json": "d0f9e4bec276cba5df66468d4052c00944c6fd9022d2d09c400e3b582e4c90b7",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/apl-pending-tail.float32.npy": "fc1e2d8ffa426d4118a7544129323c5f7523e9df3e298a60922ca0ecabe7c18f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/apl-state.float32.npy": "36ecfec747be0c700959ba1ac171b81a1f3471aa9baba41b7bb6a67be01213c2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/apl-timing-audit.json": "c94e1d8a3a3760cf1926f105c41487e7f6fa5a68b3a4170857328ae9519af78d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/apl-worker-handshake.json": "9850e95638c94a6855533152c91b1f50430cd2b68ca2b47381a0ec5d99d0e1f0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/environment.json": "16ec485d45d573738f9e62d74d7dc5a2cf130320472e2cedcca645dad2c5983c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/input-audit.json": "b6b911de48231528ec16cb87396b297d9b2beeec2fd54c2a4d6717704f706659",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/queue-audit.json": "338af77057d2c3611f4dcdcf4329ec7399d9375f9bfc67a0cafe3eca2a26a6b1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/queue.jsonl": "ea81d2d07626aed2ae1096da17a1b4163d3568dc54438409c3ac35f81a7d395f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/requests.csv": "4bcc9ef7fdc596ddac3be3b0d29f0aea2e086deeb803f3a90baba21b5490ef53",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/state.npz": "933afdc1bd0ea81174aeb334f017cfbe1bbc0a72f8eca767698275c5dca886f3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/summary.json": "3050f437019a9e0c44bb5cee4984b8d7872e45b82f4fec8e9f7ee4a0b31fdffd",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/tick-state-hashes.jsonl": "b06d86d7560da6c0222e9ea82dc172faf94aec38950456d47a8bdc40acfbf3ad",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/oracle/seed_validation/seed_validation-physiological-00-s1073741825/weights.npy": "ac433da4b0ac3cdc20c526d99a7158c3dc2298b62c10784f9dcd7db1f089214b"
|
||||
},
|
||||
"failed_checks": [],
|
||||
"finite_generated_sequence_accounting_only": true,
|
||||
"gpu_dir": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0",
|
||||
"independent_CPU_all_components_claim": false,
|
||||
"kind": "shared-APL-component closed-loop byte-exact comparison",
|
||||
"limits": [
|
||||
"APL Torch primitives are shared; original AST component validation is a separate required gate.",
|
||||
"Small cases preserve and independently hash all pre/post states; full cases compare all-tick instrumented state hashes without saving dense whole-brain histories.",
|
||||
"For full cases intermediate finite checks are performed by the instrumented backends; this file independently inspects final states and all APL traces.",
|
||||
"Fixed-delay checks conserve this run's finite generated sample sequence, including pending initial zeros; no tail brain advancement or equality of different closed-loop branches is claimed.",
|
||||
"This is exact agreement for the declared trajectory, not physiological validity or learning."
|
||||
],
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"rejected_requests": 31,
|
||||
"requested": 110,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30876
|
||||
}
|
||||
+210
@@ -0,0 +1,210 @@
|
||||
{
|
||||
"allowed_case_metadata_differences": [
|
||||
"budget_root",
|
||||
"output_budget_bytes"
|
||||
],
|
||||
"apl_delay_steps": 18,
|
||||
"build_and_wall_metadata_compared": false,
|
||||
"case": "cal-matched_energy-00-s51101",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"control_input_spec_and_bytes": true,
|
||||
"fresh_gpu.actual_input_hashes": true,
|
||||
"fresh_gpu.apl_positive_applied": true,
|
||||
"fresh_gpu.apl_positive_drive": true,
|
||||
"fresh_gpu.apl_positive_inhibition": true,
|
||||
"fresh_gpu.apl_positive_state": true,
|
||||
"fresh_gpu.apl_precision": true,
|
||||
"fresh_gpu.case_name": true,
|
||||
"fresh_gpu.component_summary_consistent": true,
|
||||
"fresh_gpu.count_nonnegative_total": true,
|
||||
"fresh_gpu.delay_summary": true,
|
||||
"fresh_gpu.events_sorted_unique": true,
|
||||
"fresh_gpu.final_apl_state_metadata": true,
|
||||
"fresh_gpu.finite_sequence_row_conservation": true,
|
||||
"fresh_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"fresh_gpu.fixed_delay_applied.finite": true,
|
||||
"fresh_gpu.fixed_delay_applied.schema": true,
|
||||
"fresh_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"fresh_gpu.fixed_delay_pending.finite": true,
|
||||
"fresh_gpu.fixed_delay_pending.schema": true,
|
||||
"fresh_gpu.history_mode": true,
|
||||
"fresh_gpu.last_hash_g": true,
|
||||
"fresh_gpu.last_hash_ref": true,
|
||||
"fresh_gpu.last_hash_v": true,
|
||||
"fresh_gpu.no_dense_g": true,
|
||||
"fresh_gpu.no_dense_ref": true,
|
||||
"fresh_gpu.no_dense_v": true,
|
||||
"fresh_gpu.no_error_marker": true,
|
||||
"fresh_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"fresh_gpu.pending_hash_metadata": true,
|
||||
"fresh_gpu.pending_shape_metadata": true,
|
||||
"fresh_gpu.pending_summary_counts": true,
|
||||
"fresh_gpu.ref_range": true,
|
||||
"fresh_gpu.reported_events": true,
|
||||
"fresh_gpu.request_summary": true,
|
||||
"fresh_gpu.summary_complete": true,
|
||||
"fresh_gpu.timing_finite_nonnegative": true,
|
||||
"fresh_gpu.timing_integer_metadata": true,
|
||||
"fresh_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"sealed_gpu.actual_input_hashes": true,
|
||||
"sealed_gpu.apl_positive_applied": true,
|
||||
"sealed_gpu.apl_positive_drive": true,
|
||||
"sealed_gpu.apl_positive_inhibition": true,
|
||||
"sealed_gpu.apl_positive_state": true,
|
||||
"sealed_gpu.apl_precision": true,
|
||||
"sealed_gpu.case_name": true,
|
||||
"sealed_gpu.component_summary_consistent": true,
|
||||
"sealed_gpu.count_nonnegative_total": true,
|
||||
"sealed_gpu.delay_summary": true,
|
||||
"sealed_gpu.events_sorted_unique": true,
|
||||
"sealed_gpu.final_apl_state_metadata": true,
|
||||
"sealed_gpu.finite_sequence_row_conservation": true,
|
||||
"sealed_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"sealed_gpu.fixed_delay_applied.finite": true,
|
||||
"sealed_gpu.fixed_delay_applied.schema": true,
|
||||
"sealed_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"sealed_gpu.fixed_delay_pending.finite": true,
|
||||
"sealed_gpu.fixed_delay_pending.schema": true,
|
||||
"sealed_gpu.history_mode": true,
|
||||
"sealed_gpu.last_hash_g": true,
|
||||
"sealed_gpu.last_hash_ref": true,
|
||||
"sealed_gpu.last_hash_v": true,
|
||||
"sealed_gpu.no_dense_g": true,
|
||||
"sealed_gpu.no_dense_ref": true,
|
||||
"sealed_gpu.no_dense_v": true,
|
||||
"sealed_gpu.no_error_marker": true,
|
||||
"sealed_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"sealed_gpu.pending_hash_metadata": true,
|
||||
"sealed_gpu.pending_shape_metadata": true,
|
||||
"sealed_gpu.pending_summary_counts": true,
|
||||
"sealed_gpu.ref_range": true,
|
||||
"sealed_gpu.reported_events": true,
|
||||
"sealed_gpu.request_summary": true,
|
||||
"sealed_gpu.summary_complete": true,
|
||||
"sealed_gpu.timing_finite_nonnegative": true,
|
||||
"sealed_gpu.timing_integer_metadata": true,
|
||||
"sealed_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true,
|
||||
"timing_audit.parsed_exact": true
|
||||
},
|
||||
"differences": {},
|
||||
"dynamics_copied_or_reimplemented": false,
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/cases/delay18/cal-matched_energy-00-s51101/pn-drive.npz": "43b41e132a94345cfb25c40be05b133c107b40acafcd29bd9e32ce1a5d83c970",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/cases/delay18/cal-matched_energy-00-s51101/requests.npz": "d49fb00b3870c8e923c0e5fc903536c0d8985555e5052c23ebc6f963c8af5314",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/cases/delay18/cal-matched_energy-00-s51101/spec.json": "8fc9e0398031edeafafb21e4fc1a869ff18a72a0331e4ef172b0163eddf3bc89",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/apl-applied.float32.npy": "228218d929370f412387eddc969694178b025186ed4d226a17e57c2d46bf49d5",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/apl-drive.float32.npy": "945f263c84f91569984961e9c04bec1b316195bb5a08151119ce4b9c03adfab2",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/apl-inhibition.float32.npy": "b6f3741e964b3d57261be82727a08c8555aa1ef3af611dfea1aba20543421ee3",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/apl-pending-tail.float32.npy": "2d190ab166a4c5af542629a0e09aca50f8ccdc2b756dfe21de1010075388b511",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/apl-state.float32.npy": "d3c52200188a64b9b7dc5054c9a6199a4cd4a9168369f051b6de2d764442e64b",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/apl-timing-audit.json": "57d19479cd460b13760a9a2ce03a1b751979d8226293240b8d51a9a08689ab53",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/queue.jsonl": "798b87b23b835e357429a226241ec0d1c8b520254fe2a8ff755e2892e1f7bc0d",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/requests.csv": "8f0da8d124f7587e1636097bb0ae4fffada70b856eccb2bd0027da99cf35fb5d",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/state.npz": "17f9aa5c6748b0dc028c551ae6c91edaeea40b8d7561656a0936ff716ca74f0b",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/summary.json": "e60254d3282953bb1ca5fca775e328f49fe426ee66a2707c77a2d42933feef5c",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0/tick-state-hashes.jsonl": "b71e13ef45e1562c7ad87084af30b0dbb0e68acb2848372d92eb53bd3652dd8b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/controls/cal-matched_energy-00-s51101/pn-drive.npz": "43b41e132a94345cfb25c40be05b133c107b40acafcd29bd9e32ce1a5d83c970",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/controls/cal-matched_energy-00-s51101/requests.npz": "d49fb00b3870c8e923c0e5fc903536c0d8985555e5052c23ebc6f963c8af5314",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/controls/cal-matched_energy-00-s51101/spec.json": "3e7908fe39a324d6dcf87c9176c2a550776fd0c22986dea60b1cffae68ebea15",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/apl-applied.float32.npy": "228218d929370f412387eddc969694178b025186ed4d226a17e57c2d46bf49d5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/apl-drive.float32.npy": "945f263c84f91569984961e9c04bec1b316195bb5a08151119ce4b9c03adfab2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/apl-inhibition.float32.npy": "b6f3741e964b3d57261be82727a08c8555aa1ef3af611dfea1aba20543421ee3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/apl-pending-tail.float32.npy": "2d190ab166a4c5af542629a0e09aca50f8ccdc2b756dfe21de1010075388b511",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/apl-state.float32.npy": "d3c52200188a64b9b7dc5054c9a6199a4cd4a9168369f051b6de2d764442e64b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/apl-timing-audit.json": "57d19479cd460b13760a9a2ce03a1b751979d8226293240b8d51a9a08689ab53",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/queue.jsonl": "798b87b23b835e357429a226241ec0d1c8b520254fe2a8ff755e2892e1f7bc0d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/requests.csv": "8f0da8d124f7587e1636097bb0ae4fffada70b856eccb2bd0027da99cf35fb5d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/state.npz": "17f9aa5c6748b0dc028c551ae6c91edaeea40b8d7561656a0936ff716ca74f0b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/summary.json": "2528b6ce72406feb3ee3256b0ffd0400ce2acbb4888bc414875862015f777259",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0/tick-state-hashes.jsonl": "b71e13ef45e1562c7ad87084af30b0dbb0e68acb2848372d92eb53bd3652dd8b"
|
||||
},
|
||||
"failed_checks": [],
|
||||
"independent_CPU_all_components_claim": false,
|
||||
"kind": "fixed-D18 same-input sealed-AJ control identity",
|
||||
"new_case": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/controls/cal-matched_energy-00-s51101",
|
||||
"new_output": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-matched_energy-00-s51101-r0",
|
||||
"nodes": 166700,
|
||||
"old_case": "/data/digital-drosophila/experiments/phase4aj-apl-timing/cases/delay18/cal-matched_energy-00-s51101",
|
||||
"old_globals_patched": false,
|
||||
"old_output": "/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-matched_energy-00-s51101-r0",
|
||||
"pass_all": true,
|
||||
"scope": "Six state arrays, every tick state/queue/request, generated/applied/pending APL, component and timing metadata",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"tolerance": null
|
||||
}
|
||||
+210
@@ -0,0 +1,210 @@
|
||||
{
|
||||
"allowed_case_metadata_differences": [
|
||||
"budget_root",
|
||||
"output_budget_bytes"
|
||||
],
|
||||
"apl_delay_steps": 18,
|
||||
"build_and_wall_metadata_compared": false,
|
||||
"case": "cal-physiological-00-s51101",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"control_input_spec_and_bytes": true,
|
||||
"fresh_gpu.actual_input_hashes": true,
|
||||
"fresh_gpu.apl_positive_applied": true,
|
||||
"fresh_gpu.apl_positive_drive": true,
|
||||
"fresh_gpu.apl_positive_inhibition": true,
|
||||
"fresh_gpu.apl_positive_state": true,
|
||||
"fresh_gpu.apl_precision": true,
|
||||
"fresh_gpu.case_name": true,
|
||||
"fresh_gpu.component_summary_consistent": true,
|
||||
"fresh_gpu.count_nonnegative_total": true,
|
||||
"fresh_gpu.delay_summary": true,
|
||||
"fresh_gpu.events_sorted_unique": true,
|
||||
"fresh_gpu.final_apl_state_metadata": true,
|
||||
"fresh_gpu.finite_sequence_row_conservation": true,
|
||||
"fresh_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"fresh_gpu.fixed_delay_applied.finite": true,
|
||||
"fresh_gpu.fixed_delay_applied.schema": true,
|
||||
"fresh_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"fresh_gpu.fixed_delay_pending.finite": true,
|
||||
"fresh_gpu.fixed_delay_pending.schema": true,
|
||||
"fresh_gpu.history_mode": true,
|
||||
"fresh_gpu.last_hash_g": true,
|
||||
"fresh_gpu.last_hash_ref": true,
|
||||
"fresh_gpu.last_hash_v": true,
|
||||
"fresh_gpu.no_dense_g": true,
|
||||
"fresh_gpu.no_dense_ref": true,
|
||||
"fresh_gpu.no_dense_v": true,
|
||||
"fresh_gpu.no_error_marker": true,
|
||||
"fresh_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"fresh_gpu.pending_hash_metadata": true,
|
||||
"fresh_gpu.pending_shape_metadata": true,
|
||||
"fresh_gpu.pending_summary_counts": true,
|
||||
"fresh_gpu.ref_range": true,
|
||||
"fresh_gpu.reported_events": true,
|
||||
"fresh_gpu.request_summary": true,
|
||||
"fresh_gpu.summary_complete": true,
|
||||
"fresh_gpu.timing_finite_nonnegative": true,
|
||||
"fresh_gpu.timing_integer_metadata": true,
|
||||
"fresh_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"sealed_gpu.actual_input_hashes": true,
|
||||
"sealed_gpu.apl_positive_applied": true,
|
||||
"sealed_gpu.apl_positive_drive": true,
|
||||
"sealed_gpu.apl_positive_inhibition": true,
|
||||
"sealed_gpu.apl_positive_state": true,
|
||||
"sealed_gpu.apl_precision": true,
|
||||
"sealed_gpu.case_name": true,
|
||||
"sealed_gpu.component_summary_consistent": true,
|
||||
"sealed_gpu.count_nonnegative_total": true,
|
||||
"sealed_gpu.delay_summary": true,
|
||||
"sealed_gpu.events_sorted_unique": true,
|
||||
"sealed_gpu.final_apl_state_metadata": true,
|
||||
"sealed_gpu.finite_sequence_row_conservation": true,
|
||||
"sealed_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"sealed_gpu.fixed_delay_applied.finite": true,
|
||||
"sealed_gpu.fixed_delay_applied.schema": true,
|
||||
"sealed_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"sealed_gpu.fixed_delay_pending.finite": true,
|
||||
"sealed_gpu.fixed_delay_pending.schema": true,
|
||||
"sealed_gpu.history_mode": true,
|
||||
"sealed_gpu.last_hash_g": true,
|
||||
"sealed_gpu.last_hash_ref": true,
|
||||
"sealed_gpu.last_hash_v": true,
|
||||
"sealed_gpu.no_dense_g": true,
|
||||
"sealed_gpu.no_dense_ref": true,
|
||||
"sealed_gpu.no_dense_v": true,
|
||||
"sealed_gpu.no_error_marker": true,
|
||||
"sealed_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"sealed_gpu.pending_hash_metadata": true,
|
||||
"sealed_gpu.pending_shape_metadata": true,
|
||||
"sealed_gpu.pending_summary_counts": true,
|
||||
"sealed_gpu.ref_range": true,
|
||||
"sealed_gpu.reported_events": true,
|
||||
"sealed_gpu.request_summary": true,
|
||||
"sealed_gpu.summary_complete": true,
|
||||
"sealed_gpu.timing_finite_nonnegative": true,
|
||||
"sealed_gpu.timing_integer_metadata": true,
|
||||
"sealed_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true,
|
||||
"timing_audit.parsed_exact": true
|
||||
},
|
||||
"differences": {},
|
||||
"dynamics_copied_or_reimplemented": false,
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json": "bde79d95ef0097b827d5faf4d5658eafc009d8e9fcef1fddd645c953823e3f64",
|
||||
"/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full/weights.npy": "462839ffc3feb8f6c278044488082b1c8e410e7f23229d6b5e29d1b7042416a1",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/cases/delay18/cal-physiological-00-s51101/pn-drive.npz": "baed58090fee6db48c17b239e1d18bd555dadd0e75eb67afdbf0fdf9dc5846c7",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/cases/delay18/cal-physiological-00-s51101/requests.npz": "9f87b434e8da524ce31b4563ad89ab47189dc7035c9f827840f3250aad81083d",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/cases/delay18/cal-physiological-00-s51101/spec.json": "acb231fe2f6ee50a48bdd9abb1fd7422d7a77b6a471ad4e5793ef9a4ba9f9c4c",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/apl-applied.float32.npy": "02576a8aea786e600bc165d53a1d13853489b3e5d27ddd38c28e1a6d888b85de",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/apl-drive.float32.npy": "383cafd480aadca9ca7b04810087a1865f941c3ecf3429cc9133ce8dedbdd7fc",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/apl-inhibition.float32.npy": "3bf68b8939f54fdbda273803ff19d3b77b602ea63e1d8edb0a4528c3c9f69233",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/apl-pending-tail.float32.npy": "830e2f33958a35666f61a219c72025b06970f1043971310f56f112253c6c816d",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/apl-state.float32.npy": "39358239cc58666ef5c690111150cb08cb4fee7b1f2c85ef59f8063e00d7e698",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/apl-timing-audit.json": "24f0fa162a1a06585cd6c0bffee9eaeab8955bedb54b65fe46c8dcdd1d4b1628",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/queue.jsonl": "c154d9b1b6b39e376be892bbf9d622baf976be1731ee3ab7594a919a765a5764",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/requests.csv": "b8c47006fbb883bfe77f34f96cf03fe2a9404118d79c983453237f26d6f29c79",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/state.npz": "86c2607df55271e573c942c630f0d99488417ad823fb3b0e0936aa2db32d5418",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/summary.json": "06a5a44556479edf2f0383a79308a8e7bc66d1774c99706c88b6c4efd89e5193",
|
||||
"/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0/tick-state-hashes.jsonl": "f582ba1006f8d600d800a5439cdd116508eff4b1886efca28479e382e4070db5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/controls/cal-physiological-00-s51101/pn-drive.npz": "baed58090fee6db48c17b239e1d18bd555dadd0e75eb67afdbf0fdf9dc5846c7",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/controls/cal-physiological-00-s51101/requests.npz": "9f87b434e8da524ce31b4563ad89ab47189dc7035c9f827840f3250aad81083d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/controls/cal-physiological-00-s51101/spec.json": "09ec11051a6aabe5250e9bda3ef7081294ec2ea21549ab9fbb84a95d00feaee3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/apl-applied.float32.npy": "02576a8aea786e600bc165d53a1d13853489b3e5d27ddd38c28e1a6d888b85de",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/apl-drive.float32.npy": "383cafd480aadca9ca7b04810087a1865f941c3ecf3429cc9133ce8dedbdd7fc",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/apl-inhibition.float32.npy": "3bf68b8939f54fdbda273803ff19d3b77b602ea63e1d8edb0a4528c3c9f69233",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/apl-pending-tail.float32.npy": "830e2f33958a35666f61a219c72025b06970f1043971310f56f112253c6c816d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/apl-state.float32.npy": "39358239cc58666ef5c690111150cb08cb4fee7b1f2c85ef59f8063e00d7e698",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/apl-timing-audit.json": "24f0fa162a1a06585cd6c0bffee9eaeab8955bedb54b65fe46c8dcdd1d4b1628",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/queue.jsonl": "c154d9b1b6b39e376be892bbf9d622baf976be1731ee3ab7594a919a765a5764",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/requests.csv": "b8c47006fbb883bfe77f34f96cf03fe2a9404118d79c983453237f26d6f29c79",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/state.npz": "86c2607df55271e573c942c630f0d99488417ad823fb3b0e0936aa2db32d5418",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/summary.json": "c02ce8970c9dd4acab097820c24168d82ebbbfdfa2a9ab5e04196d170d002026",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0/tick-state-hashes.jsonl": "f582ba1006f8d600d800a5439cdd116508eff4b1886efca28479e382e4070db5"
|
||||
},
|
||||
"failed_checks": [],
|
||||
"independent_CPU_all_components_claim": false,
|
||||
"kind": "fixed-D18 same-input sealed-AJ control identity",
|
||||
"new_case": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/cases/controls/cal-physiological-00-s51101",
|
||||
"new_output": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/controls/cal-physiological-00-s51101-r0",
|
||||
"nodes": 166700,
|
||||
"old_case": "/data/digital-drosophila/experiments/phase4aj-apl-timing/cases/delay18/cal-physiological-00-s51101",
|
||||
"old_globals_patched": false,
|
||||
"old_output": "/data/digital-drosophila/experiments/phase4aj-apl-timing/gpu/delay18/cal-physiological-00-s51101-r0",
|
||||
"pass_all": true,
|
||||
"scope": "Six state arrays, every tick state/queue/request, generated/applied/pending APL, component and timing metadata",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"tolerance": null
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"stage": "controls",
|
||||
"pass_all": true,
|
||||
"cases": [
|
||||
{
|
||||
"case": "cal-physiological-00-s51101",
|
||||
"group": "controls",
|
||||
"pass_all": true,
|
||||
"fresh_gpu_runs": 1,
|
||||
"new_oracle_runs": 0
|
||||
},
|
||||
{
|
||||
"case": "cal-matched_energy-00-s51101",
|
||||
"group": "controls",
|
||||
"pass_all": true,
|
||||
"fresh_gpu_runs": 1,
|
||||
"new_oracle_runs": 0
|
||||
}
|
||||
],
|
||||
"scope": "Same-input fresh D18 GPU identity with sealed AJ; no new model or Brian run"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"stage": "novel-probes",
|
||||
"pass_all": true,
|
||||
"cases": [
|
||||
{
|
||||
"case": "novel_to_aj-physiological-00-s1073741825",
|
||||
"group": "novel_to_aj",
|
||||
"pass_all": true,
|
||||
"fresh_gpu_runs": 1,
|
||||
"new_oracle_runs": 1
|
||||
},
|
||||
{
|
||||
"case": "novel_to_aj-matched_energy-00-s1073741825",
|
||||
"group": "novel_to_aj",
|
||||
"pass_all": true,
|
||||
"fresh_gpu_runs": 1,
|
||||
"new_oracle_runs": 1
|
||||
}
|
||||
],
|
||||
"scope": "Two fixed first-odor first-seed mode probes; independent LIF with shared unchanged Torch APL component"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"stage": "novel-validation",
|
||||
"cohort": "novel_to_aj",
|
||||
"pass_all": true,
|
||||
"execution_gate_pass": true,
|
||||
"representation_gate_pass": true,
|
||||
"base_count": 60,
|
||||
"repeat_count": 12,
|
||||
"repeat_cases": [
|
||||
"novel_to_aj-physiological-00-s1073741825",
|
||||
"novel_to_aj-physiological-01-s1073741825",
|
||||
"novel_to_aj-physiological-02-s1073741825",
|
||||
"novel_to_aj-physiological-03-s1073741825",
|
||||
"novel_to_aj-physiological-04-s1073741825",
|
||||
"novel_to_aj-physiological-05-s1073741825",
|
||||
"novel_to_aj-matched_energy-00-s1073741825",
|
||||
"novel_to_aj-matched_energy-01-s1073741825",
|
||||
"novel_to_aj-matched_energy-02-s1073741825",
|
||||
"novel_to_aj-matched_energy-03-s1073741825",
|
||||
"novel_to_aj-matched_energy-04-s1073741825",
|
||||
"novel_to_aj-matched_energy-05-s1073741825"
|
||||
],
|
||||
"summary": "validation/novel_to_aj/summary.json",
|
||||
"summary_sha256": "e922bb8a174f1e1d8480101d7f12682ff4de5cddb7c31399c231ec4134ad46ec",
|
||||
"validation_inventory_sha256": "50d7b3aa7b0235e8f7bc1e21ef693cd5c554272ef3bd205c72f61e8e07ad1fd9",
|
||||
"scope": "Complete fixed representation block; no pooled rescue, learning, tuning, or historically-unseen-odor claim"
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-matched_energy-00-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-applied.float32.npy": "a0b0fb96df98f1b589f81d6169d095ed22a0896de92725b00bb1d42e01c4f206",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-drive.float32.npy": "705fc118805a38f04f21cde945996d6365f04c7dc142c2c167c300b837a909ee",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-inhibition.float32.npy": "e2ae30c7cd172c623b2d129a87197052d4c3467ac163e3b92a60d0340ec0da30",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-pending-tail.float32.npy": "6fe96517fc7e7ec8f991a9a9b1fb5a9c4d9a27d4532f17a17676fc540b427fa3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-state.float32.npy": "f46650683c74f06fb24cdfa9374de0da8a64a6ae89c606a7a992aed93772609b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/apl-timing-audit.json": "b9e32e2636b8a8c6a00510871bf6c46f0d3b6957cd265a4ce7df516efd08d590",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/queue.jsonl": "3cf1017ab663961a26f026660059bf52b31683d68cfa6f5c782c985c84363547",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/requests.csv": "605d2ce163b2a93cb18c009c90fc0a6fe0fb89007d030128bc130b9cfecb3968",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/state.npz": "de63be6895c06e99631076550b984f1bff9a1360caedb6b9661e70bb91f6c0ad",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/summary.json": "ca0a197b450f0b182f21e5cf79b9df1fc9b4a93763a4f884e19236a1cfc47f30",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0/tick-state-hashes.jsonl": "60cc144f8cf1634edaebd694bf505b3fe0779353fd501a467187c9d859a08080",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/apl-applied.float32.npy": "a0b0fb96df98f1b589f81d6169d095ed22a0896de92725b00bb1d42e01c4f206",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/apl-drive.float32.npy": "705fc118805a38f04f21cde945996d6365f04c7dc142c2c167c300b837a909ee",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/apl-inhibition.float32.npy": "e2ae30c7cd172c623b2d129a87197052d4c3467ac163e3b92a60d0340ec0da30",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/apl-pending-tail.float32.npy": "6fe96517fc7e7ec8f991a9a9b1fb5a9c4d9a27d4532f17a17676fc540b427fa3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/apl-state.float32.npy": "f46650683c74f06fb24cdfa9374de0da8a64a6ae89c606a7a992aed93772609b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/apl-timing-audit.json": "b9e32e2636b8a8c6a00510871bf6c46f0d3b6957cd265a4ce7df516efd08d590",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/queue.jsonl": "3cf1017ab663961a26f026660059bf52b31683d68cfa6f5c782c985c84363547",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/requests.csv": "605d2ce163b2a93cb18c009c90fc0a6fe0fb89007d030128bc130b9cfecb3968",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/state.npz": "de63be6895c06e99631076550b984f1bff9a1360caedb6b9661e70bb91f6c0ad",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/summary.json": "cfefc655d613fcfb42d5fc2fc5bf37b4663aaa8db588ba2b46d7e21f0eed5f33",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1/tick-state-hashes.jsonl": "60cc144f8cf1634edaebd694bf505b3fe0779353fd501a467187c9d859a08080"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-00-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 29962
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-matched_energy-01-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/apl-applied.float32.npy": "433380999945d52c2dcf44fcb38ee1a5cd539791b7a414e939d59f347db4818d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/apl-drive.float32.npy": "8752df59faa83cfd10b1c770bbb6e12c75d605cd4dacd742cc15c87ddb9a27b3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/apl-inhibition.float32.npy": "deb79ce35c7fdec0a5675c141c7934e20a12279ec65052ff17085dfe467226ed",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/apl-pending-tail.float32.npy": "0ae2b42dd7521a1edaf527d2674f081e1938296e3bd1e16e89cd5000a770b27c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/apl-state.float32.npy": "12d43da481e76cb415fed666cad43da90ef946f78b6ac2ebf6fb4404cc65d632",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/apl-timing-audit.json": "f21e9df20d670e5fd831aa763b81937ef8ec65e080339302dfe13e99a45ec590",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/queue.jsonl": "48445a557ad67d2b1a759f2970b5fd425aaf11b49cbb0c6fd6e929f2e831b176",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/requests.csv": "ca660efeb93f7f76bce517197a334eafe788bd5e4599b96d83ae5eeeb8abce25",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/state.npz": "ec4ad7569d7c27b83bf718851b4db3407e6c66fc95402e5403fc69504d70d06e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/summary.json": "826caa1d6064f8eaa4ee77d7c5a51d7a5fa04bcdebf2c2f95af75955a4a00186",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0/tick-state-hashes.jsonl": "4a31068c6f7332bedcc3c68c2c75b1e6c857e5e1d782f42525869b030b83bd82",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/apl-applied.float32.npy": "433380999945d52c2dcf44fcb38ee1a5cd539791b7a414e939d59f347db4818d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/apl-drive.float32.npy": "8752df59faa83cfd10b1c770bbb6e12c75d605cd4dacd742cc15c87ddb9a27b3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/apl-inhibition.float32.npy": "deb79ce35c7fdec0a5675c141c7934e20a12279ec65052ff17085dfe467226ed",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/apl-pending-tail.float32.npy": "0ae2b42dd7521a1edaf527d2674f081e1938296e3bd1e16e89cd5000a770b27c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/apl-state.float32.npy": "12d43da481e76cb415fed666cad43da90ef946f78b6ac2ebf6fb4404cc65d632",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/apl-timing-audit.json": "f21e9df20d670e5fd831aa763b81937ef8ec65e080339302dfe13e99a45ec590",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/queue.jsonl": "48445a557ad67d2b1a759f2970b5fd425aaf11b49cbb0c6fd6e929f2e831b176",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/requests.csv": "ca660efeb93f7f76bce517197a334eafe788bd5e4599b96d83ae5eeeb8abce25",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/state.npz": "ec4ad7569d7c27b83bf718851b4db3407e6c66fc95402e5403fc69504d70d06e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/summary.json": "edf29417f64d492d17e72b514cbf5dc72a547bdf37785f44622f66ace2fb606c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1/tick-state-hashes.jsonl": "4a31068c6f7332bedcc3c68c2c75b1e6c857e5e1d782f42525869b030b83bd82"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-01-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30482
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-matched_energy-02-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/apl-applied.float32.npy": "e44fb9ff51a68aa59ce19ede714ca0b4a69d7f7c6fe08541aa8a135d688b6bd9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/apl-drive.float32.npy": "4ac7a4da5150fdb7ba55b5982339bfa0496af5c4a84b0e626340f1828a15d537",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/apl-inhibition.float32.npy": "4c3d6d05675895ee5159d0b500b647ff7b08d0c21cb8c04abebf01b936dec4ee",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/apl-pending-tail.float32.npy": "b7b4666950ccf90ced501cdb1981f4fd940b1f87d86ffeb37b4f73db6b61cd86",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/apl-state.float32.npy": "ba7050e8d287de8f54d5d34db4562c5ba0a928a72bb7ed79b1bdf1e7b2ce11e5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/apl-timing-audit.json": "b5084b0402c36f830b277532b01f5241de490cf045b1c4ca2dc03d95caddd0d1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/queue.jsonl": "31fd8b5185f5723a56b46185148bb8b37593981329be641da443bc79c09c0218",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/requests.csv": "2c427f2ef38f7d13b4f2118617a350cd476f75734751a9d54a42d020aff0d0f4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/state.npz": "0c1f356008bc9e2c0bb904ba01af98585d72ac64bfed182d0cd4a06ea73d78ef",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/summary.json": "30e7211d79ca467951cb119a334e97c7da943af12afebe52ed794ce8bb5f02e3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0/tick-state-hashes.jsonl": "9dcda05383c2da318f11cbb2c8217c673933bb6c2af81d6de57b407593b9f896",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/apl-applied.float32.npy": "e44fb9ff51a68aa59ce19ede714ca0b4a69d7f7c6fe08541aa8a135d688b6bd9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/apl-drive.float32.npy": "4ac7a4da5150fdb7ba55b5982339bfa0496af5c4a84b0e626340f1828a15d537",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/apl-inhibition.float32.npy": "4c3d6d05675895ee5159d0b500b647ff7b08d0c21cb8c04abebf01b936dec4ee",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/apl-pending-tail.float32.npy": "b7b4666950ccf90ced501cdb1981f4fd940b1f87d86ffeb37b4f73db6b61cd86",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/apl-state.float32.npy": "ba7050e8d287de8f54d5d34db4562c5ba0a928a72bb7ed79b1bdf1e7b2ce11e5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/apl-timing-audit.json": "b5084b0402c36f830b277532b01f5241de490cf045b1c4ca2dc03d95caddd0d1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/queue.jsonl": "31fd8b5185f5723a56b46185148bb8b37593981329be641da443bc79c09c0218",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/requests.csv": "2c427f2ef38f7d13b4f2118617a350cd476f75734751a9d54a42d020aff0d0f4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/state.npz": "0c1f356008bc9e2c0bb904ba01af98585d72ac64bfed182d0cd4a06ea73d78ef",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/summary.json": "3617d1d47eac0801a81bb86154857a892e6d0f508e79f6083f8c0e6c7f205d8c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1/tick-state-hashes.jsonl": "9dcda05383c2da318f11cbb2c8217c673933bb6c2af81d6de57b407593b9f896"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-02-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 29608
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-matched_energy-03-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/apl-applied.float32.npy": "5ee750568ba189d01597728073d57cdf020b351ee81be71d2b8c6dbf37abc87b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/apl-drive.float32.npy": "78728778dfa80c95974942fef3d629b29f1dab6ff5608315e8fa20d011aa6b44",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/apl-inhibition.float32.npy": "e6ba7e57031cacb899b9b68c5c0db5bc02d366a4512c27ea761c324193d3866a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/apl-pending-tail.float32.npy": "9787f92885e8b4ada793e83fdd23e90c52f63e51c4b609a6fbc0dd161fe4d0ab",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/apl-state.float32.npy": "39f01fe25fbbcf7116c88eb8c1b62789b1779b3e2fcf1a34e2198ab6e6239b1b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/apl-timing-audit.json": "76cdfdf550e55eeda4de92395bcdc2413ad62646045791b7a7bd20a247a9ceec",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/queue.jsonl": "e440e8e6fa57f4257b5567c7ff0b43ee6f7730441bc7492651e773bbd634bfb7",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/requests.csv": "d98c762ca21e975476b58eda9e3edc694a5ad2781ccaa9181341233d2bcdb45d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/state.npz": "06a3892b0548860d5e42cee313a57c030afc162a7e6440e93a4e5a1682e923a5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/summary.json": "2e07eee9b1f5be3b959d7f82b3b241501c87de05ab12fbde4767a9ed018e7a21",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0/tick-state-hashes.jsonl": "d6cec2c93471ccea4149efe0000c85642fc5fadcc368b588231bacdf123863f6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/apl-applied.float32.npy": "5ee750568ba189d01597728073d57cdf020b351ee81be71d2b8c6dbf37abc87b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/apl-drive.float32.npy": "78728778dfa80c95974942fef3d629b29f1dab6ff5608315e8fa20d011aa6b44",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/apl-inhibition.float32.npy": "e6ba7e57031cacb899b9b68c5c0db5bc02d366a4512c27ea761c324193d3866a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/apl-pending-tail.float32.npy": "9787f92885e8b4ada793e83fdd23e90c52f63e51c4b609a6fbc0dd161fe4d0ab",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/apl-state.float32.npy": "39f01fe25fbbcf7116c88eb8c1b62789b1779b3e2fcf1a34e2198ab6e6239b1b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/apl-timing-audit.json": "76cdfdf550e55eeda4de92395bcdc2413ad62646045791b7a7bd20a247a9ceec",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/queue.jsonl": "e440e8e6fa57f4257b5567c7ff0b43ee6f7730441bc7492651e773bbd634bfb7",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/requests.csv": "d98c762ca21e975476b58eda9e3edc694a5ad2781ccaa9181341233d2bcdb45d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/state.npz": "06a3892b0548860d5e42cee313a57c030afc162a7e6440e93a4e5a1682e923a5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/summary.json": "60a56eac3b9ffdf2084a219df7f5d6a9d0e42a3a317a7e2b02563095c9f712ea",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1/tick-state-hashes.jsonl": "d6cec2c93471ccea4149efe0000c85642fc5fadcc368b588231bacdf123863f6"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-03-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 28840
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-matched_energy-04-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/apl-applied.float32.npy": "aaac4c7b5f490a72b93e58ca1993a5b9295cc48364c92807ec53470095a1570a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/apl-drive.float32.npy": "3c8cb3edd22ff828d0d55e3fcf480d3d62cb91b2922c84842b34674510d96499",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/apl-inhibition.float32.npy": "098c3ea4e4bb791c9a5a75ea797684301830a064610619f6f6abeaca8469690c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/apl-pending-tail.float32.npy": "989fccf0cfa25626c6caf48fa4f217e031d482f6b4aa121f8a93500a6494d23d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/apl-state.float32.npy": "09606acade44e264cdb09c44a57d7c3149a431c7d21882c55bc5ec8d10a7c280",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/apl-timing-audit.json": "6f3a610119e9cbe45873ba1594ccfcc6fc415a4de84e3720744a1a0d945d31d8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/queue.jsonl": "c97e5ad398d534c3465a8b5226e18b1a14b2ca35a62ba1cca6232ad983857ba8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/requests.csv": "04127556bf217971c24d43d483f0ba6fdbeaca5b6ebf86235522814e9ff45ae0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/state.npz": "b2269da9b3e11b1f96c345136d9ae8a2399dc2cb29771bd7c8715ea508a9b4f8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/summary.json": "b52104de9bd5fc6fbd81037fb4273f33725ce2285bd1923bcd957ebfed9d9fd6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0/tick-state-hashes.jsonl": "9ef76c16e919a006c12c53f65fecd1089e9337082d029d79d17f5f29be68f558",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/apl-applied.float32.npy": "aaac4c7b5f490a72b93e58ca1993a5b9295cc48364c92807ec53470095a1570a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/apl-drive.float32.npy": "3c8cb3edd22ff828d0d55e3fcf480d3d62cb91b2922c84842b34674510d96499",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/apl-inhibition.float32.npy": "098c3ea4e4bb791c9a5a75ea797684301830a064610619f6f6abeaca8469690c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/apl-pending-tail.float32.npy": "989fccf0cfa25626c6caf48fa4f217e031d482f6b4aa121f8a93500a6494d23d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/apl-state.float32.npy": "09606acade44e264cdb09c44a57d7c3149a431c7d21882c55bc5ec8d10a7c280",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/apl-timing-audit.json": "6f3a610119e9cbe45873ba1594ccfcc6fc415a4de84e3720744a1a0d945d31d8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/queue.jsonl": "c97e5ad398d534c3465a8b5226e18b1a14b2ca35a62ba1cca6232ad983857ba8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/requests.csv": "04127556bf217971c24d43d483f0ba6fdbeaca5b6ebf86235522814e9ff45ae0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/state.npz": "b2269da9b3e11b1f96c345136d9ae8a2399dc2cb29771bd7c8715ea508a9b4f8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/summary.json": "765c50fa91760f17fb2a31b8eadc005d1bb57d974da749cd7f40d5582bf1f1de",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1/tick-state-hashes.jsonl": "9ef76c16e919a006c12c53f65fecd1089e9337082d029d79d17f5f29be68f558"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-04-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 29344
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-matched_energy-05-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/apl-applied.float32.npy": "5c941224d797211e94e44e6e0496a35c46dad17c044577c24b39bba3b73e83c9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/apl-drive.float32.npy": "34dc5425c50a5473ee4574efa503e93beecc481cb832716a9e7c030c3a9e5c30",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/apl-inhibition.float32.npy": "c50b182a8ad32eca18ab737790c930a4a29333f660c47c9ee63702dc74b4e156",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/apl-pending-tail.float32.npy": "77c8f7eb8a55bb29049e6db25b37f601f59000f7c4cc23a1a890c42fc008c0e0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/apl-state.float32.npy": "81c9b6b9b69f975f6025dd5dc2ce8d651deefbc7e9a6b4c688227ece136e92e0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/apl-timing-audit.json": "140f564f42e598a25f846ecb7f8c987dc51cd887ad24b844809b43d79cd469c4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/queue.jsonl": "6c221eacd26189f00baf6da16b0de99238355273be254f4be2cb44b41e940592",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/requests.csv": "1dec4e765007b517ae9d78e0362efbacae0a617964e226e0915978c6919fc04c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/state.npz": "d629a28a913e5b8d2948022c45d53153126e1e8e8a4b0ab5b6e33eb4a46df565",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/summary.json": "acb10d20c96bb3fb83fa4dd73479496ff511dd6ac3f87fadc2dfb596054367ea",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0/tick-state-hashes.jsonl": "36fd37b210b69f4636cc5388652894a71082b44fdc4290b0a19f4a31678126ad",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/apl-applied.float32.npy": "5c941224d797211e94e44e6e0496a35c46dad17c044577c24b39bba3b73e83c9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/apl-drive.float32.npy": "34dc5425c50a5473ee4574efa503e93beecc481cb832716a9e7c030c3a9e5c30",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/apl-inhibition.float32.npy": "c50b182a8ad32eca18ab737790c930a4a29333f660c47c9ee63702dc74b4e156",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/apl-pending-tail.float32.npy": "77c8f7eb8a55bb29049e6db25b37f601f59000f7c4cc23a1a890c42fc008c0e0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/apl-state.float32.npy": "81c9b6b9b69f975f6025dd5dc2ce8d651deefbc7e9a6b4c688227ece136e92e0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/apl-timing-audit.json": "140f564f42e598a25f846ecb7f8c987dc51cd887ad24b844809b43d79cd469c4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/queue.jsonl": "6c221eacd26189f00baf6da16b0de99238355273be254f4be2cb44b41e940592",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/requests.csv": "1dec4e765007b517ae9d78e0362efbacae0a617964e226e0915978c6919fc04c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/state.npz": "d629a28a913e5b8d2948022c45d53153126e1e8e8a4b0ab5b6e33eb4a46df565",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/summary.json": "9d65d741f4dd634741c2ff512fee7129fa09fecb97f91c02309f6333e6222b33",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1/tick-state-hashes.jsonl": "36fd37b210b69f4636cc5388652894a71082b44fdc4290b0a19f4a31678126ad"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-matched_energy-05-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 31130
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-physiological-00-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-applied.float32.npy": "757329fd1d760d3f2dc5e73fb2686a94ba78c5a255db7f4ec9918f8d8ba700f8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-drive.float32.npy": "dcffdc2891adcea6be0e672c5840527a7d7073ffaedc2bfa48a3287caa291d27",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-inhibition.float32.npy": "ac66b570abacbc83dff4250936becf7c538bf2aca8d53a358e237b33050b2616",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-pending-tail.float32.npy": "0bbf355ce1ddb2d2ddfdd73a0ca2fba59dd479584403a6cf8aa0b8d2336935f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-state.float32.npy": "6ce330b52b7e8067ae043df15f1691973afedc4867679c9d97761e88f6ca9cff",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/apl-timing-audit.json": "54224aba229e01482bf226f4b6c4dcb8d6c82c6f08be3e016df9138635a227aa",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/queue.jsonl": "ebd6f41a0b635a8b6d36819d97eadfbeab5eaaab7f1fed5a41e0db84cad6ce9b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/requests.csv": "dee41900961ca56bfe5ac1d725783a4a1a99ae89dd364b2dcb99d93d25db9608",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/state.npz": "651624e2efa6b0cc8caedb3d120e020f37ca85accb36f59ba8dff69e914bd742",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/summary.json": "2a0e1b97a90de09a3ee05db6701ce45a1da3c18ac4ce3390f8b01a08aa3c5a01",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0/tick-state-hashes.jsonl": "b2a79871dd604f8c062598c8014711242699dba435db4bea5b75b088ec38a191",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/apl-applied.float32.npy": "757329fd1d760d3f2dc5e73fb2686a94ba78c5a255db7f4ec9918f8d8ba700f8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/apl-drive.float32.npy": "dcffdc2891adcea6be0e672c5840527a7d7073ffaedc2bfa48a3287caa291d27",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/apl-inhibition.float32.npy": "ac66b570abacbc83dff4250936becf7c538bf2aca8d53a358e237b33050b2616",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/apl-pending-tail.float32.npy": "0bbf355ce1ddb2d2ddfdd73a0ca2fba59dd479584403a6cf8aa0b8d2336935f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/apl-state.float32.npy": "6ce330b52b7e8067ae043df15f1691973afedc4867679c9d97761e88f6ca9cff",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/apl-timing-audit.json": "54224aba229e01482bf226f4b6c4dcb8d6c82c6f08be3e016df9138635a227aa",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/queue.jsonl": "ebd6f41a0b635a8b6d36819d97eadfbeab5eaaab7f1fed5a41e0db84cad6ce9b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/requests.csv": "dee41900961ca56bfe5ac1d725783a4a1a99ae89dd364b2dcb99d93d25db9608",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/state.npz": "651624e2efa6b0cc8caedb3d120e020f37ca85accb36f59ba8dff69e914bd742",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/summary.json": "b91b84f88226265843e830cc7e8cdfe863d256a23df6c42069bd7e5c01db83f4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1/tick-state-hashes.jsonl": "b2a79871dd604f8c062598c8014711242699dba435db4bea5b75b088ec38a191"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-00-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 29986
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-physiological-01-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/apl-applied.float32.npy": "d51e61cfa29c33bd22205d63f54532dce1091a4082216b905496a7060f2174ed",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/apl-drive.float32.npy": "7e510667122b481cc3948bb0aeef2fc8cbc32c00314d8cf77b68050c225a8781",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/apl-inhibition.float32.npy": "7db2bf8fbd545c2c2a64b827f9d89f0fbbe544c76eaff53e4944448c9d866a8a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/apl-pending-tail.float32.npy": "c0708a47df2028faa920e52858b9c9e91401fac5d884b5e77adf0c946aa36668",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/apl-state.float32.npy": "0f7e61e3e5dbb32911a9b75e276e8f878ac213fd714d8abc955694ca8255d30f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/apl-timing-audit.json": "0468128cc9d2e4b378c731cd6b9ba0e331d67d973ea1bbc86cfc6afffd654d7a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/queue.jsonl": "20a76c2fb4cdc14279077b84a8a4f141736d361cedac67f233f3482569b20f42",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/requests.csv": "c2c7822493486caa4bc272b840e173c006a73924b5a901d7daa8fe8ba94388b1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/state.npz": "a035083be036c9968b7f863ff5187072f4df72486d4655ed6d4d2e09d6968806",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/summary.json": "74b039335f0d82e6d99b85c301c45b91fd8c394846c18f357cee9034eaa6e859",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0/tick-state-hashes.jsonl": "0f387b3f608b8d55c7171d40a6fe7ad5697be4f7c73dac3e4ee259513581f568",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/apl-applied.float32.npy": "d51e61cfa29c33bd22205d63f54532dce1091a4082216b905496a7060f2174ed",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/apl-drive.float32.npy": "7e510667122b481cc3948bb0aeef2fc8cbc32c00314d8cf77b68050c225a8781",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/apl-inhibition.float32.npy": "7db2bf8fbd545c2c2a64b827f9d89f0fbbe544c76eaff53e4944448c9d866a8a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/apl-pending-tail.float32.npy": "c0708a47df2028faa920e52858b9c9e91401fac5d884b5e77adf0c946aa36668",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/apl-state.float32.npy": "0f7e61e3e5dbb32911a9b75e276e8f878ac213fd714d8abc955694ca8255d30f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/apl-timing-audit.json": "0468128cc9d2e4b378c731cd6b9ba0e331d67d973ea1bbc86cfc6afffd654d7a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/queue.jsonl": "20a76c2fb4cdc14279077b84a8a4f141736d361cedac67f233f3482569b20f42",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/requests.csv": "c2c7822493486caa4bc272b840e173c006a73924b5a901d7daa8fe8ba94388b1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/state.npz": "a035083be036c9968b7f863ff5187072f4df72486d4655ed6d4d2e09d6968806",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/summary.json": "bc157fc3d5a64844fe35f057a6d1351b58dacc7fb1752d3d1b64529b3655be52",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1/tick-state-hashes.jsonl": "0f387b3f608b8d55c7171d40a6fe7ad5697be4f7c73dac3e4ee259513581f568"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-01-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30156
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-physiological-02-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/apl-applied.float32.npy": "e44fb9ff51a68aa59ce19ede714ca0b4a69d7f7c6fe08541aa8a135d688b6bd9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/apl-drive.float32.npy": "4ac7a4da5150fdb7ba55b5982339bfa0496af5c4a84b0e626340f1828a15d537",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/apl-inhibition.float32.npy": "4c3d6d05675895ee5159d0b500b647ff7b08d0c21cb8c04abebf01b936dec4ee",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/apl-pending-tail.float32.npy": "b7b4666950ccf90ced501cdb1981f4fd940b1f87d86ffeb37b4f73db6b61cd86",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/apl-state.float32.npy": "ba7050e8d287de8f54d5d34db4562c5ba0a928a72bb7ed79b1bdf1e7b2ce11e5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/apl-timing-audit.json": "b5084b0402c36f830b277532b01f5241de490cf045b1c4ca2dc03d95caddd0d1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/queue.jsonl": "31fd8b5185f5723a56b46185148bb8b37593981329be641da443bc79c09c0218",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/requests.csv": "2c427f2ef38f7d13b4f2118617a350cd476f75734751a9d54a42d020aff0d0f4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/state.npz": "0c1f356008bc9e2c0bb904ba01af98585d72ac64bfed182d0cd4a06ea73d78ef",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/summary.json": "168aa06d50dcbdb2d744a73b2e6ead981219318a097ccd03354cfcfd3c363107",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0/tick-state-hashes.jsonl": "9dcda05383c2da318f11cbb2c8217c673933bb6c2af81d6de57b407593b9f896",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/apl-applied.float32.npy": "e44fb9ff51a68aa59ce19ede714ca0b4a69d7f7c6fe08541aa8a135d688b6bd9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/apl-drive.float32.npy": "4ac7a4da5150fdb7ba55b5982339bfa0496af5c4a84b0e626340f1828a15d537",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/apl-inhibition.float32.npy": "4c3d6d05675895ee5159d0b500b647ff7b08d0c21cb8c04abebf01b936dec4ee",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/apl-pending-tail.float32.npy": "b7b4666950ccf90ced501cdb1981f4fd940b1f87d86ffeb37b4f73db6b61cd86",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/apl-state.float32.npy": "ba7050e8d287de8f54d5d34db4562c5ba0a928a72bb7ed79b1bdf1e7b2ce11e5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/apl-timing-audit.json": "b5084b0402c36f830b277532b01f5241de490cf045b1c4ca2dc03d95caddd0d1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/queue.jsonl": "31fd8b5185f5723a56b46185148bb8b37593981329be641da443bc79c09c0218",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/requests.csv": "2c427f2ef38f7d13b4f2118617a350cd476f75734751a9d54a42d020aff0d0f4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/state.npz": "0c1f356008bc9e2c0bb904ba01af98585d72ac64bfed182d0cd4a06ea73d78ef",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/summary.json": "e0c95904d4f25574dc93ef8b5ef42407927b968c096ba64a137e1e595d6f18c7",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1/tick-state-hashes.jsonl": "9dcda05383c2da318f11cbb2c8217c673933bb6c2af81d6de57b407593b9f896"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-02-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 29608
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-physiological-03-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/apl-applied.float32.npy": "a65b02911e58911b890d33d5d894d3524c081f21f7366ddfe492fc1a907cd380",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/apl-drive.float32.npy": "36f5826f432c767e25ac6f5d62e71bb2f3c76fd62ca560eaadcf4ec776df8b6c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/apl-inhibition.float32.npy": "2c7c7d66935cf1bed5d11108044855e20c0b324aedd4d88201cbdf691c12aaac",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/apl-pending-tail.float32.npy": "47935d1b98d3989923abe2575fc0d36ada79c9dadb6f8d3a4de1e94c7cf58762",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/apl-state.float32.npy": "6fc5fcdbef484de3c1d4bc745ab824645e7ac2f809d96536acce4cefd0a1c957",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/apl-timing-audit.json": "8bc94f676484fa6f01f6e399e8474dbee674887409be1c537867807885e07c7f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/queue.jsonl": "66a53e81c84336da4d55fcc2038fc613d9e0059185adb2f380a4e09541a6289f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/requests.csv": "84a6a3f898d48fe9ad30ce9cb213ffa94e0a96c0987b3f7676b3c13e2d578021",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/state.npz": "1141483aa7243ebd4a153588f82fdd45ff3ce028b71a3a0d1dd73226d17b2532",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/summary.json": "4c0e06b741d2e441892559faa0c2f4a5b9f2207cbda77817d9ebf10a66a560bc",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0/tick-state-hashes.jsonl": "9fd7ce38ea4d64489255f52a6ddcc55fb8df303bb5ed8e46ac0676d87728d473",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/apl-applied.float32.npy": "a65b02911e58911b890d33d5d894d3524c081f21f7366ddfe492fc1a907cd380",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/apl-drive.float32.npy": "36f5826f432c767e25ac6f5d62e71bb2f3c76fd62ca560eaadcf4ec776df8b6c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/apl-inhibition.float32.npy": "2c7c7d66935cf1bed5d11108044855e20c0b324aedd4d88201cbdf691c12aaac",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/apl-pending-tail.float32.npy": "47935d1b98d3989923abe2575fc0d36ada79c9dadb6f8d3a4de1e94c7cf58762",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/apl-state.float32.npy": "6fc5fcdbef484de3c1d4bc745ab824645e7ac2f809d96536acce4cefd0a1c957",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/apl-timing-audit.json": "8bc94f676484fa6f01f6e399e8474dbee674887409be1c537867807885e07c7f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/queue.jsonl": "66a53e81c84336da4d55fcc2038fc613d9e0059185adb2f380a4e09541a6289f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/requests.csv": "84a6a3f898d48fe9ad30ce9cb213ffa94e0a96c0987b3f7676b3c13e2d578021",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/state.npz": "1141483aa7243ebd4a153588f82fdd45ff3ce028b71a3a0d1dd73226d17b2532",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/summary.json": "bc9229ccca4f66c3550adbd7b1d98b3e63893e7fcc7513406799bce51eff1552",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1/tick-state-hashes.jsonl": "9fd7ce38ea4d64489255f52a6ddcc55fb8df303bb5ed8e46ac0676d87728d473"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-03-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 29285
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-physiological-04-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/apl-applied.float32.npy": "aaac4c7b5f490a72b93e58ca1993a5b9295cc48364c92807ec53470095a1570a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/apl-drive.float32.npy": "3c8cb3edd22ff828d0d55e3fcf480d3d62cb91b2922c84842b34674510d96499",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/apl-inhibition.float32.npy": "098c3ea4e4bb791c9a5a75ea797684301830a064610619f6f6abeaca8469690c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/apl-pending-tail.float32.npy": "989fccf0cfa25626c6caf48fa4f217e031d482f6b4aa121f8a93500a6494d23d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/apl-state.float32.npy": "09606acade44e264cdb09c44a57d7c3149a431c7d21882c55bc5ec8d10a7c280",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/apl-timing-audit.json": "6f3a610119e9cbe45873ba1594ccfcc6fc415a4de84e3720744a1a0d945d31d8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/queue.jsonl": "c97e5ad398d534c3465a8b5226e18b1a14b2ca35a62ba1cca6232ad983857ba8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/requests.csv": "9a9f4a195d303c2abad991d9e7043dc9e9f9324b1fd3632727bbb592d2e58890",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/state.npz": "b2269da9b3e11b1f96c345136d9ae8a2399dc2cb29771bd7c8715ea508a9b4f8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/summary.json": "687254750c86d398f4af60dfc310eac9b4269388a062e7472afd175f5bd7e306",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0/tick-state-hashes.jsonl": "9ef76c16e919a006c12c53f65fecd1089e9337082d029d79d17f5f29be68f558",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/apl-applied.float32.npy": "aaac4c7b5f490a72b93e58ca1993a5b9295cc48364c92807ec53470095a1570a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/apl-drive.float32.npy": "3c8cb3edd22ff828d0d55e3fcf480d3d62cb91b2922c84842b34674510d96499",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/apl-inhibition.float32.npy": "098c3ea4e4bb791c9a5a75ea797684301830a064610619f6f6abeaca8469690c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/apl-pending-tail.float32.npy": "989fccf0cfa25626c6caf48fa4f217e031d482f6b4aa121f8a93500a6494d23d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/apl-state.float32.npy": "09606acade44e264cdb09c44a57d7c3149a431c7d21882c55bc5ec8d10a7c280",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/apl-timing-audit.json": "6f3a610119e9cbe45873ba1594ccfcc6fc415a4de84e3720744a1a0d945d31d8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/queue.jsonl": "c97e5ad398d534c3465a8b5226e18b1a14b2ca35a62ba1cca6232ad983857ba8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/requests.csv": "9a9f4a195d303c2abad991d9e7043dc9e9f9324b1fd3632727bbb592d2e58890",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/state.npz": "b2269da9b3e11b1f96c345136d9ae8a2399dc2cb29771bd7c8715ea508a9b4f8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/summary.json": "b36a86126aa2b536d2538c566a96b7fe1d4d197d9a0c88ab2076277670226de6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1/tick-state-hashes.jsonl": "9ef76c16e919a006c12c53f65fecd1089e9337082d029d79d17f5f29be68f558"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-04-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 29344
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "novel_to_aj-physiological-05-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/apl-applied.float32.npy": "7ddb3d92d1e78af7cce6c3447b2f4cd6e795b915bf03619b076daccc108c7af3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/apl-drive.float32.npy": "3b5bc3bacea29c7e4953b32b46ecc904bf1f8c6bda19dd7dc2f62b24490cc298",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/apl-inhibition.float32.npy": "cde6d72e44e9484767007e514c1ae9e5e19ec1ba5813209d09817b1c6e077886",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/apl-pending-tail.float32.npy": "9cefe8e42b83943f98c1a01ac3a69e084fbae8d0c4381d773a884d09d78b5396",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/apl-state.float32.npy": "c89d90cc33be1c971eeab2e9c9b2301cb81e78ac7a3d1c7b00ee74db81ac660f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/apl-timing-audit.json": "8c4375a45ca48bcd780a0dc392142fbff186de610fcc29f5c6ca0379780811c0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/queue.jsonl": "757e8fb1212c5c07a948a5f1cc461bbd9108f1c908b11fa54ceed5ce674a95a9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/requests.csv": "6855821c52d757cc38742442adc447061f09499f2dc7d0151325f63f77cebf76",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/state.npz": "711f364e296c504842c2aae7db53b5927dc7051135c66f53a9a313244d3eba88",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/summary.json": "2331588fea7a1c058aa382cd27d473da33768917e7f8616adf1608cc468303e6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0/tick-state-hashes.jsonl": "6e6cef96ec99e15d483bd87d219caa957bc50582d67815bf7a80a8ccca34766c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/apl-applied.float32.npy": "7ddb3d92d1e78af7cce6c3447b2f4cd6e795b915bf03619b076daccc108c7af3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/apl-drive.float32.npy": "3b5bc3bacea29c7e4953b32b46ecc904bf1f8c6bda19dd7dc2f62b24490cc298",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/apl-inhibition.float32.npy": "cde6d72e44e9484767007e514c1ae9e5e19ec1ba5813209d09817b1c6e077886",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/apl-pending-tail.float32.npy": "9cefe8e42b83943f98c1a01ac3a69e084fbae8d0c4381d773a884d09d78b5396",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/apl-state.float32.npy": "c89d90cc33be1c971eeab2e9c9b2301cb81e78ac7a3d1c7b00ee74db81ac660f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/apl-timing-audit.json": "8c4375a45ca48bcd780a0dc392142fbff186de610fcc29f5c6ca0379780811c0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/queue.jsonl": "757e8fb1212c5c07a948a5f1cc461bbd9108f1c908b11fa54ceed5ce674a95a9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/requests.csv": "6855821c52d757cc38742442adc447061f09499f2dc7d0151325f63f77cebf76",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/state.npz": "711f364e296c504842c2aae7db53b5927dc7051135c66f53a9a313244d3eba88",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/summary.json": "d4fecdec157de98362f6cfdc1542e5f1afe2e1e6d174ee850bb0e18a41e5bf52",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1/tick-state-hashes.jsonl": "6e6cef96ec99e15d483bd87d219caa957bc50582d67815bf7a80a8ccca34766c"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/novel_to_aj/novel_to_aj-physiological-05-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30843
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-matched_energy-00-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-applied.float32.npy": "d17e1c743093b083d47ca78438e56f3097b5634da887f83987aec477b9ec4274",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-drive.float32.npy": "18cae6e5e9a99a239baf3e1d78ed2017022923e0ce4aa8a6c3725a267fed1fd5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-inhibition.float32.npy": "8f8841b63ee734ddd51fac8d47017ea3499d8fb67b14623c6a24e45503fbb809",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-pending-tail.float32.npy": "fdc9d9439f0a7ced8c05728bd893861e1a383b4ff2d0e8338817e80c75b0dc69",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-state.float32.npy": "ee6cf00cae5c024fd596d217168f18466e579effa3af9cbe022168b6e2c5d39a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/apl-timing-audit.json": "489a66472a77910979a2cd9e60237f1202ad9e53f9364afb377d7ade90a14c9f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/queue.jsonl": "0f789d0733a6b7ec0056f39c0522fa19ee21ad61db9da239228ceda7612dfde6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/requests.csv": "b13c09a63c0825beb3caf362a3c31c8d75ba38d9e9adb7c393c1ce172dc497a4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/state.npz": "8e79648cdfb7f23ed18f92a248708f028f9f5ffaccb9d59c171aa36ed3177509",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/summary.json": "7c65ee7ec41142271137e2985366f1de38915abf29f80fc39261d8c4e440e71d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0/tick-state-hashes.jsonl": "44c7ed90a421c7d7eb771365661fb6f02842a4ebedc6171ceca4062627ba214c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/apl-applied.float32.npy": "d17e1c743093b083d47ca78438e56f3097b5634da887f83987aec477b9ec4274",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/apl-drive.float32.npy": "18cae6e5e9a99a239baf3e1d78ed2017022923e0ce4aa8a6c3725a267fed1fd5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/apl-inhibition.float32.npy": "8f8841b63ee734ddd51fac8d47017ea3499d8fb67b14623c6a24e45503fbb809",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/apl-pending-tail.float32.npy": "fdc9d9439f0a7ced8c05728bd893861e1a383b4ff2d0e8338817e80c75b0dc69",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/apl-state.float32.npy": "ee6cf00cae5c024fd596d217168f18466e579effa3af9cbe022168b6e2c5d39a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/apl-timing-audit.json": "489a66472a77910979a2cd9e60237f1202ad9e53f9364afb377d7ade90a14c9f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/queue.jsonl": "0f789d0733a6b7ec0056f39c0522fa19ee21ad61db9da239228ceda7612dfde6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/requests.csv": "b13c09a63c0825beb3caf362a3c31c8d75ba38d9e9adb7c393c1ce172dc497a4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/state.npz": "8e79648cdfb7f23ed18f92a248708f028f9f5ffaccb9d59c171aa36ed3177509",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/summary.json": "e82aabfb6110ceda381bb8af3ddb5b5d1a1f9fb33c29a901b3d9d8ae083c17ba",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1/tick-state-hashes.jsonl": "44c7ed90a421c7d7eb771365661fb6f02842a4ebedc6171ceca4062627ba214c"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-00-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30982
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-matched_energy-01-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/apl-applied.float32.npy": "b06099bf6bd6602663951af8693437f34d41a03748fd96183519107e5b383f36",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/apl-drive.float32.npy": "1c361bf253dd69ba23b9fc3c488d96bdaa88ba2e453eedf52249ca85b966144b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/apl-inhibition.float32.npy": "b6d6b5035dd098fbc3cb0052f890be538021bef9a41f8a01695ca31fa19b49a9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/apl-pending-tail.float32.npy": "92cac2428657bd8aab24beeccd98c27ecf7d78cbdb8c100d75d8f2690d70d31e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/apl-state.float32.npy": "e0e2774394d23e7e25d97f13ca1427f0199e7be23f845adcee9063ac79710860",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/apl-timing-audit.json": "5beda743ce73a2ebd7b5f4c3733e00130b556670ef1f2726c02578b8631f7dc1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/queue.jsonl": "df53fd6800319ce4605ad6ed92f7246e141e08e30fd3545e7e088d10af208ede",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/requests.csv": "1824ebd817dceb4afb92debbb83f5f08408f8184320f3935ce804ee252a1f191",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/state.npz": "3a0e1629b1e0352158e0159df371112d920a4ef4f71ffea80cb251e110150fb9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/summary.json": "cd6c6784127cb9d3823db20dc474ae10214b536c8b7e3a0c62ca68a32f7beab2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0/tick-state-hashes.jsonl": "8ff87aa53291a58df5e902eb2c9c3a926012a5daa8997af7f126f41b34343747",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/apl-applied.float32.npy": "b06099bf6bd6602663951af8693437f34d41a03748fd96183519107e5b383f36",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/apl-drive.float32.npy": "1c361bf253dd69ba23b9fc3c488d96bdaa88ba2e453eedf52249ca85b966144b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/apl-inhibition.float32.npy": "b6d6b5035dd098fbc3cb0052f890be538021bef9a41f8a01695ca31fa19b49a9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/apl-pending-tail.float32.npy": "92cac2428657bd8aab24beeccd98c27ecf7d78cbdb8c100d75d8f2690d70d31e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/apl-state.float32.npy": "e0e2774394d23e7e25d97f13ca1427f0199e7be23f845adcee9063ac79710860",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/apl-timing-audit.json": "5beda743ce73a2ebd7b5f4c3733e00130b556670ef1f2726c02578b8631f7dc1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/queue.jsonl": "df53fd6800319ce4605ad6ed92f7246e141e08e30fd3545e7e088d10af208ede",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/requests.csv": "1824ebd817dceb4afb92debbb83f5f08408f8184320f3935ce804ee252a1f191",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/state.npz": "3a0e1629b1e0352158e0159df371112d920a4ef4f71ffea80cb251e110150fb9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/summary.json": "99be45456a640c2ddebd2dbef27e26943a5d591eadd8db3e3faf11e3290c426b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1/tick-state-hashes.jsonl": "8ff87aa53291a58df5e902eb2c9c3a926012a5daa8997af7f126f41b34343747"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-01-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30314
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-matched_energy-02-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/apl-applied.float32.npy": "82e0165de99d01ad59428df3484073b6761da1e83eda97f524a107ecb44410eb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/apl-drive.float32.npy": "57c30372209f1b8240323507807be048d6d110f8b272c45ef05f73fefc097249",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/apl-inhibition.float32.npy": "cfb85bdaa2510fd25027473bf3f9cf95c45d494319addad20e44a06dd6ad116b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/apl-pending-tail.float32.npy": "52cdcfb6c05fa7de9886811d91eaedf929f13ace6b0a7db8b161c86d344ab417",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/apl-state.float32.npy": "cceaf37b910db5a6218406ec52175c7d267c0f84d2137688b77a6658733209ff",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/apl-timing-audit.json": "301ab9c691b9292196344c5c73cf1d8f5fb061e4294c29de7128e985c274e903",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/queue.jsonl": "2d254d66d06ddc9ea100cea6373e771021645745d6e125672598b69a8d0ba6e0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/requests.csv": "81e20c0aa7dcecab54069043186bc6394a11d58aedee7cd8e9ff3fb500c7dc05",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/state.npz": "d43c0d4c77c3777e4c969f97ffa169661006e36f3ae529ef8e7cc3de129f08cb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/summary.json": "b165371742955183debb29b53c8b6b8423fb80986369eca6e3f266484246695f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0/tick-state-hashes.jsonl": "9b3166e1aefb2dea8cfdbdcb6175e07e048455bad1918779977e1c19f8e7f2ce",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/apl-applied.float32.npy": "82e0165de99d01ad59428df3484073b6761da1e83eda97f524a107ecb44410eb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/apl-drive.float32.npy": "57c30372209f1b8240323507807be048d6d110f8b272c45ef05f73fefc097249",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/apl-inhibition.float32.npy": "cfb85bdaa2510fd25027473bf3f9cf95c45d494319addad20e44a06dd6ad116b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/apl-pending-tail.float32.npy": "52cdcfb6c05fa7de9886811d91eaedf929f13ace6b0a7db8b161c86d344ab417",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/apl-state.float32.npy": "cceaf37b910db5a6218406ec52175c7d267c0f84d2137688b77a6658733209ff",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/apl-timing-audit.json": "301ab9c691b9292196344c5c73cf1d8f5fb061e4294c29de7128e985c274e903",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/queue.jsonl": "2d254d66d06ddc9ea100cea6373e771021645745d6e125672598b69a8d0ba6e0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/requests.csv": "81e20c0aa7dcecab54069043186bc6394a11d58aedee7cd8e9ff3fb500c7dc05",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/state.npz": "d43c0d4c77c3777e4c969f97ffa169661006e36f3ae529ef8e7cc3de129f08cb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/summary.json": "d44c008b99764b1954ae4c2122114fc6a295d41dc7803ba431787d617109d992",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1/tick-state-hashes.jsonl": "9b3166e1aefb2dea8cfdbdcb6175e07e048455bad1918779977e1c19f8e7f2ce"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-02-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30688
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-matched_energy-03-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/apl-applied.float32.npy": "bf2d8ecd7e6961989dc636f4d1de01ab65e75566dd3d01d3cecdc29ef3170655",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/apl-drive.float32.npy": "ca26934d7ce400534910d20cdfa44026fc142d7d81d20771cb6b0e06af4f1f4b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/apl-inhibition.float32.npy": "f18e33db353bc7b33a6964c215c06a26982637bd053f090ece05bfb5e438437c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/apl-pending-tail.float32.npy": "eb2bea3ad9f67da6842ab2d6311f1a2a42f740fbc5bfd405e057f3e9e331b288",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/apl-state.float32.npy": "e959e32bcc40df28e72b63aa6b6756e5f4967e8d46cb8034ec55a59e8d3bb2ff",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/apl-timing-audit.json": "d9a4e1608fd34120792af61f19827803aa5cf55bce9dfae92ad6ad0c74f0f0a2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/queue.jsonl": "92ffcd9d2e6aa7ee50c4b3564a57d741c82812c5458da1133ad64da2a7849596",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/requests.csv": "e07825bb0994347a5a576f921ac09d8f6fe7a40e0df22f13e2231843d300876e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/state.npz": "9a64edc73cd44d7dc808eb243ecd0e735a49421ff8a4ff3d3bbb94c4fc65aa0a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/summary.json": "8d3e7de802eb18c062e31a9ae17017e644c6686c75bcb55af024c3b0a35105f6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0/tick-state-hashes.jsonl": "75538af3b2bc83988c1fbf7fad49284eb41035e60c4874794fa96bf83671fb14",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/apl-applied.float32.npy": "bf2d8ecd7e6961989dc636f4d1de01ab65e75566dd3d01d3cecdc29ef3170655",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/apl-drive.float32.npy": "ca26934d7ce400534910d20cdfa44026fc142d7d81d20771cb6b0e06af4f1f4b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/apl-inhibition.float32.npy": "f18e33db353bc7b33a6964c215c06a26982637bd053f090ece05bfb5e438437c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/apl-pending-tail.float32.npy": "eb2bea3ad9f67da6842ab2d6311f1a2a42f740fbc5bfd405e057f3e9e331b288",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/apl-state.float32.npy": "e959e32bcc40df28e72b63aa6b6756e5f4967e8d46cb8034ec55a59e8d3bb2ff",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/apl-timing-audit.json": "d9a4e1608fd34120792af61f19827803aa5cf55bce9dfae92ad6ad0c74f0f0a2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/queue.jsonl": "92ffcd9d2e6aa7ee50c4b3564a57d741c82812c5458da1133ad64da2a7849596",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/requests.csv": "e07825bb0994347a5a576f921ac09d8f6fe7a40e0df22f13e2231843d300876e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/state.npz": "9a64edc73cd44d7dc808eb243ecd0e735a49421ff8a4ff3d3bbb94c4fc65aa0a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/summary.json": "f997d2f9204cf089c2c0fc3459bed7df05a1f7936380cc1df0bb726e6adbd52e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1/tick-state-hashes.jsonl": "75538af3b2bc83988c1fbf7fad49284eb41035e60c4874794fa96bf83671fb14"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-03-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 28946
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-matched_energy-04-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/apl-applied.float32.npy": "f3899c5959bcb1858add456d9d93a9374c5316666334d3f550b3d4f34359c9e4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/apl-drive.float32.npy": "1fccf4f194e50d78a2b50a331d8de88324d589123422df242a7e437c66f30aa9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/apl-inhibition.float32.npy": "ba3f28b9e88ec33a7cce97c2124f223e1ebf4d5ec5ef6bed6818168582d45acb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/apl-pending-tail.float32.npy": "6d24e77d59495c19e4b879b2b193b1cd17a690e44c1d6152c0ee71926a81e46a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/apl-state.float32.npy": "5fbcc9b1dfabe52c4d5599f40845cb7659e06e3beaf033848fde119b7032eac9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/apl-timing-audit.json": "765ac728a1d5cb17b8741f682661e07278511b5dd6e45de6d5512e2974e8797f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/queue.jsonl": "0398db25feb6ba3cc6c15c88b70a92ad6866a85aea67c96f7638df022abc9fe9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/requests.csv": "147f4cfd63296332cac4c8eaa651536b75b378519ff18bdea4c7209b77a9f113",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/state.npz": "cce5bc8a5789c69e7cd5fe49c111b93d9a31be3da5322b262f68d7ab57fba3bc",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/summary.json": "6933930a4a080878a16d206175066691b3876ec9faf81a0c92e1cfd89051e6db",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0/tick-state-hashes.jsonl": "fcef3763b7ae62f2784a95f22d7d7d73ee286bf85075d5a09a7895f3dc740c82",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/apl-applied.float32.npy": "f3899c5959bcb1858add456d9d93a9374c5316666334d3f550b3d4f34359c9e4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/apl-drive.float32.npy": "1fccf4f194e50d78a2b50a331d8de88324d589123422df242a7e437c66f30aa9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/apl-inhibition.float32.npy": "ba3f28b9e88ec33a7cce97c2124f223e1ebf4d5ec5ef6bed6818168582d45acb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/apl-pending-tail.float32.npy": "6d24e77d59495c19e4b879b2b193b1cd17a690e44c1d6152c0ee71926a81e46a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/apl-state.float32.npy": "5fbcc9b1dfabe52c4d5599f40845cb7659e06e3beaf033848fde119b7032eac9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/apl-timing-audit.json": "765ac728a1d5cb17b8741f682661e07278511b5dd6e45de6d5512e2974e8797f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/queue.jsonl": "0398db25feb6ba3cc6c15c88b70a92ad6866a85aea67c96f7638df022abc9fe9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/requests.csv": "147f4cfd63296332cac4c8eaa651536b75b378519ff18bdea4c7209b77a9f113",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/state.npz": "cce5bc8a5789c69e7cd5fe49c111b93d9a31be3da5322b262f68d7ab57fba3bc",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/summary.json": "3953c1d883040c6d74d577a109a3123595dbc57a0493cff0796073916a23f777",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1/tick-state-hashes.jsonl": "fcef3763b7ae62f2784a95f22d7d7d73ee286bf85075d5a09a7895f3dc740c82"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-04-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30169
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-matched_energy-05-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/apl-applied.float32.npy": "dea152838f3c090d44d1021d450c7c6e4e583a3b9633d5b517c3b6bf6599a6a5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/apl-drive.float32.npy": "8d592c83aea404387d1ccc7d2702fa163af3b1bdd3d3c8efe6dd54acf34ddaf5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/apl-inhibition.float32.npy": "237f96d092e635b4131e74ba6ea43e93bc57c12f1958978ff1243d6edf969154",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/apl-pending-tail.float32.npy": "6d28045efc1b8342c9945d47bee94b49e254bd7fca22667e3a2a329705c8d2f6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/apl-state.float32.npy": "f51aaa5826df769df6a6d4ae6ec8eabcb47d0fbae28ea50222fd0ea99b2c9b40",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/apl-timing-audit.json": "e940c3619e9c2fd8a5f67f4c42b30eaca9b999a807053ffdeaafb603083e72ab",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/queue.jsonl": "787fb8abf3cea6a712b7b8310fe1f125bcc31f4f0eaa0456374f3875c57d0a8a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/requests.csv": "2aaf2f9a67a4a1e12ba857c6ab0197454fdd406baf90f518602fede70cf1d164",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/state.npz": "363bfc0e5f7dd93fc45db25f71a6b41fb2f3587f689dc87681a417ef761edbf2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/summary.json": "f70d00ab393be216505be85e65ae4dbdf98ce254c5a3df0ce36d3fca27745258",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0/tick-state-hashes.jsonl": "11eb6e9e11df0cf07003b837ec268313943f3bb36d1672c4c9853033b6e48637",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/apl-applied.float32.npy": "dea152838f3c090d44d1021d450c7c6e4e583a3b9633d5b517c3b6bf6599a6a5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/apl-drive.float32.npy": "8d592c83aea404387d1ccc7d2702fa163af3b1bdd3d3c8efe6dd54acf34ddaf5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/apl-inhibition.float32.npy": "237f96d092e635b4131e74ba6ea43e93bc57c12f1958978ff1243d6edf969154",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/apl-pending-tail.float32.npy": "6d28045efc1b8342c9945d47bee94b49e254bd7fca22667e3a2a329705c8d2f6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/apl-state.float32.npy": "f51aaa5826df769df6a6d4ae6ec8eabcb47d0fbae28ea50222fd0ea99b2c9b40",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/apl-timing-audit.json": "e940c3619e9c2fd8a5f67f4c42b30eaca9b999a807053ffdeaafb603083e72ab",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/queue.jsonl": "787fb8abf3cea6a712b7b8310fe1f125bcc31f4f0eaa0456374f3875c57d0a8a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/requests.csv": "2aaf2f9a67a4a1e12ba857c6ab0197454fdd406baf90f518602fede70cf1d164",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/state.npz": "363bfc0e5f7dd93fc45db25f71a6b41fb2f3587f689dc87681a417ef761edbf2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/summary.json": "076c126855b3819d25bed1a2c17be0ad98807cd076fefd06eb358d8321d4bb88",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1/tick-state-hashes.jsonl": "11eb6e9e11df0cf07003b837ec268313943f3bb36d1672c4c9853033b6e48637"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-matched_energy-05-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30490
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-physiological-00-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-applied.float32.npy": "b3a535bc095db2464a75560ed11f336a9db8e843c08fd7681a1b9759b624ad8e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-drive.float32.npy": "8b6432e8947f4c67466b5cae28cb0d0877b61862e80e6d9b10c5734d9afa8411",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-inhibition.float32.npy": "8f9e59026dc7c7663abf8f7abc60ebf93b11a68483bc0960d375a83731acc859",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-pending-tail.float32.npy": "fc1e2d8ffa426d4118a7544129323c5f7523e9df3e298a60922ca0ecabe7c18f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-state.float32.npy": "36ecfec747be0c700959ba1ac171b81a1f3471aa9baba41b7bb6a67be01213c2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/apl-timing-audit.json": "850600c0560f98c1f2de35bae506c5619205375e6616137a7e8ff978000b0c3a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/queue.jsonl": "22fbf106279d5ad314beba357137701df111bb28b57accdb09a0e299dfdf39cf",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/requests.csv": "4bcc9ef7fdc596ddac3be3b0d29f0aea2e086deeb803f3a90baba21b5490ef53",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/state.npz": "933afdc1bd0ea81174aeb334f017cfbe1bbc0a72f8eca767698275c5dca886f3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/summary.json": "9d65ce466a76c4adb46dac9ebeb15b6a72f829427f0cb1a4b4946b4016346266",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0/tick-state-hashes.jsonl": "0266afe78eadd1ea5bfb25026103d01d2af82d9b6ce2bcbb9d60e576ac898e91",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/apl-applied.float32.npy": "b3a535bc095db2464a75560ed11f336a9db8e843c08fd7681a1b9759b624ad8e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/apl-drive.float32.npy": "8b6432e8947f4c67466b5cae28cb0d0877b61862e80e6d9b10c5734d9afa8411",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/apl-inhibition.float32.npy": "8f9e59026dc7c7663abf8f7abc60ebf93b11a68483bc0960d375a83731acc859",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/apl-pending-tail.float32.npy": "fc1e2d8ffa426d4118a7544129323c5f7523e9df3e298a60922ca0ecabe7c18f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/apl-state.float32.npy": "36ecfec747be0c700959ba1ac171b81a1f3471aa9baba41b7bb6a67be01213c2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/apl-timing-audit.json": "850600c0560f98c1f2de35bae506c5619205375e6616137a7e8ff978000b0c3a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/queue.jsonl": "22fbf106279d5ad314beba357137701df111bb28b57accdb09a0e299dfdf39cf",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/requests.csv": "4bcc9ef7fdc596ddac3be3b0d29f0aea2e086deeb803f3a90baba21b5490ef53",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/state.npz": "933afdc1bd0ea81174aeb334f017cfbe1bbc0a72f8eca767698275c5dca886f3",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/summary.json": "fc714c6af32f330c3c04bb066f0ee97c72c9e61292c3816067736c7f79a69cc0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1/tick-state-hashes.jsonl": "0266afe78eadd1ea5bfb25026103d01d2af82d9b6ce2bcbb9d60e576ac898e91"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-00-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30876
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-physiological-01-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/apl-applied.float32.npy": "cdf11183a0a16d9e635941b45e03fb8b644e3b27e0011308adf5d103561b66a1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/apl-drive.float32.npy": "72f50c690cc1364a5b4465fd2ffe7254cfff7e745ff326edcbea18aaa6a6bba5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/apl-inhibition.float32.npy": "444a797f636f5641c5eb6610d6555070f59e861441f4603ec3cce2bf12abf774",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/apl-pending-tail.float32.npy": "212239053e0341929f7519206bac98788cdca26357bf896ae525c9a4c68dfae2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/apl-state.float32.npy": "5296fee74c6be0bded848b663820812fcd6f237570cc6f2ae6fe56f22292094c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/apl-timing-audit.json": "bee841def26f6b9b74a39f77453849a8394c6e49c2f1875d35679854fa120784",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/queue.jsonl": "7ec7d5c6520ef09f34e0d48063e1cad19ada30493b36970bd63118ffa1d750db",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/requests.csv": "75a2ef03dca5f8881ba765466203f0e4bfbc2d1cbdde284afd32495df09265b1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/state.npz": "419e15d2611fa9900afb168fa12056c7d8a46e8c2edce1c17f46cb140f0d2daf",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/summary.json": "ef6a3b5d6a137a0a4028a7a770ffc73442b99365da4f0829969f66c00d21c9c6",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0/tick-state-hashes.jsonl": "b57e655640407a99182c2438aa584fecda0e88d013195a9392714eeb6505150c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/apl-applied.float32.npy": "cdf11183a0a16d9e635941b45e03fb8b644e3b27e0011308adf5d103561b66a1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/apl-drive.float32.npy": "72f50c690cc1364a5b4465fd2ffe7254cfff7e745ff326edcbea18aaa6a6bba5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/apl-inhibition.float32.npy": "444a797f636f5641c5eb6610d6555070f59e861441f4603ec3cce2bf12abf774",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/apl-pending-tail.float32.npy": "212239053e0341929f7519206bac98788cdca26357bf896ae525c9a4c68dfae2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/apl-state.float32.npy": "5296fee74c6be0bded848b663820812fcd6f237570cc6f2ae6fe56f22292094c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/apl-timing-audit.json": "bee841def26f6b9b74a39f77453849a8394c6e49c2f1875d35679854fa120784",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/queue.jsonl": "7ec7d5c6520ef09f34e0d48063e1cad19ada30493b36970bd63118ffa1d750db",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/requests.csv": "75a2ef03dca5f8881ba765466203f0e4bfbc2d1cbdde284afd32495df09265b1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/state.npz": "419e15d2611fa9900afb168fa12056c7d8a46e8c2edce1c17f46cb140f0d2daf",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/summary.json": "6792e4f45d56e55ed02a2d91595e7b0874c60ccdfda4ca438124442ca24597d8",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1/tick-state-hashes.jsonl": "b57e655640407a99182c2438aa584fecda0e88d013195a9392714eeb6505150c"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-01-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30839
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-physiological-02-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/apl-applied.float32.npy": "82e0165de99d01ad59428df3484073b6761da1e83eda97f524a107ecb44410eb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/apl-drive.float32.npy": "57c30372209f1b8240323507807be048d6d110f8b272c45ef05f73fefc097249",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/apl-inhibition.float32.npy": "cfb85bdaa2510fd25027473bf3f9cf95c45d494319addad20e44a06dd6ad116b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/apl-pending-tail.float32.npy": "52cdcfb6c05fa7de9886811d91eaedf929f13ace6b0a7db8b161c86d344ab417",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/apl-state.float32.npy": "cceaf37b910db5a6218406ec52175c7d267c0f84d2137688b77a6658733209ff",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/apl-timing-audit.json": "301ab9c691b9292196344c5c73cf1d8f5fb061e4294c29de7128e985c274e903",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/queue.jsonl": "2d254d66d06ddc9ea100cea6373e771021645745d6e125672598b69a8d0ba6e0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/requests.csv": "184f40fec177acf2fa037fd3470bc68fb84c54585804a40639e9165cc99e4e55",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/state.npz": "d43c0d4c77c3777e4c969f97ffa169661006e36f3ae529ef8e7cc3de129f08cb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/summary.json": "20794246e1ada0ee1047dc0180e88df2f61980d82641be891e30a3e6d15dba41",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0/tick-state-hashes.jsonl": "9b3166e1aefb2dea8cfdbdcb6175e07e048455bad1918779977e1c19f8e7f2ce",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/apl-applied.float32.npy": "82e0165de99d01ad59428df3484073b6761da1e83eda97f524a107ecb44410eb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/apl-drive.float32.npy": "57c30372209f1b8240323507807be048d6d110f8b272c45ef05f73fefc097249",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/apl-inhibition.float32.npy": "cfb85bdaa2510fd25027473bf3f9cf95c45d494319addad20e44a06dd6ad116b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/apl-pending-tail.float32.npy": "52cdcfb6c05fa7de9886811d91eaedf929f13ace6b0a7db8b161c86d344ab417",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/apl-state.float32.npy": "cceaf37b910db5a6218406ec52175c7d267c0f84d2137688b77a6658733209ff",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/apl-timing-audit.json": "301ab9c691b9292196344c5c73cf1d8f5fb061e4294c29de7128e985c274e903",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/queue.jsonl": "2d254d66d06ddc9ea100cea6373e771021645745d6e125672598b69a8d0ba6e0",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/requests.csv": "184f40fec177acf2fa037fd3470bc68fb84c54585804a40639e9165cc99e4e55",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/state.npz": "d43c0d4c77c3777e4c969f97ffa169661006e36f3ae529ef8e7cc3de129f08cb",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/summary.json": "372732d41d0bb51785140441c6fb40e5aa2055d2d83143530be03e171c92a010",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1/tick-state-hashes.jsonl": "9b3166e1aefb2dea8cfdbdcb6175e07e048455bad1918779977e1c19f8e7f2ce"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-02-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 30688
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-physiological-03-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/apl-applied.float32.npy": "1825de672ae9cb2f8efca3296eb2369815e434ddbd27c4bd0022704585204741",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/apl-drive.float32.npy": "6453995426ffb69e97b7556557d8852a2895d6b42a6a9adfa897eb9f5af34ce2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/apl-inhibition.float32.npy": "c8fd1cc6111618e2efaefab8d71606df3388d736ce51052f7ee1399060c8b000",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/apl-pending-tail.float32.npy": "b0c95cf870d904f78354170e856395ec15abdbfd5c255916e43402402cc349d1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/apl-state.float32.npy": "a0bd517f6b65f6c1941d3ec234ca1227cfb1b434701d2a175a0c2039fb3b835b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/apl-timing-audit.json": "640922419df96e2882028e4189784fd27b1e240d3784929ef79cc804042aff51",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/queue.jsonl": "bc9736db8e9370426c09dd962c9333966a6516b18547cde873ad91667f69c9bc",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/requests.csv": "7a67111e463beec3e2a806587a4645a9a76f8f628da7d95109bb5db6edf2d69d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/state.npz": "235da5ea2abba057d70ae1348252dc8732933d4baf675ee95f553992bc53babc",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/summary.json": "2c63a41f03c44e5eb763f818d5be40ea7c62f541ee35cf10ff9f53301f693c83",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0/tick-state-hashes.jsonl": "3f84be772934521d24f3d039341ae089bde0f6c4c59cd70d53f82a27c827df29",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/apl-applied.float32.npy": "1825de672ae9cb2f8efca3296eb2369815e434ddbd27c4bd0022704585204741",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/apl-drive.float32.npy": "6453995426ffb69e97b7556557d8852a2895d6b42a6a9adfa897eb9f5af34ce2",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/apl-inhibition.float32.npy": "c8fd1cc6111618e2efaefab8d71606df3388d736ce51052f7ee1399060c8b000",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/apl-pending-tail.float32.npy": "b0c95cf870d904f78354170e856395ec15abdbfd5c255916e43402402cc349d1",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/apl-state.float32.npy": "a0bd517f6b65f6c1941d3ec234ca1227cfb1b434701d2a175a0c2039fb3b835b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/apl-timing-audit.json": "640922419df96e2882028e4189784fd27b1e240d3784929ef79cc804042aff51",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/queue.jsonl": "bc9736db8e9370426c09dd962c9333966a6516b18547cde873ad91667f69c9bc",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/requests.csv": "7a67111e463beec3e2a806587a4645a9a76f8f628da7d95109bb5db6edf2d69d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/state.npz": "235da5ea2abba057d70ae1348252dc8732933d4baf675ee95f553992bc53babc",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/summary.json": "26de39f24d6a05acad648941f4be819e2a321a0041cead953f85edd2a3ea91f5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1/tick-state-hashes.jsonl": "3f84be772934521d24f3d039341ae089bde0f6c4c59cd70d53f82a27c827df29"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-03-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 29170
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-physiological-04-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/apl-applied.float32.npy": "233551cedc46ac5cffbab92fadcf8b089d71b8fcb37c640aa55ab74d9a8ae180",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/apl-drive.float32.npy": "a5119d1661c792bbdd6ddf09bfaa39ffe5a0e164b7703e527575f073734d4602",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/apl-inhibition.float32.npy": "011f3daa92639c8e3412624845bfb23de972b0652f753c48b66a8e732557876b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/apl-pending-tail.float32.npy": "4d99db118da773dc7c3d10ff06f15a101256c55143f88e9ab0701abc2bf9fbdc",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/apl-state.float32.npy": "19de6d764e40f57fc1daf59be3bfa21ec1e30fa76c3cc851391a266a5161c393",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/apl-timing-audit.json": "114f70a4219e2a9862c82e18a903b7afa0ef108130094f0da576bbf4a6c0c804",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/queue.jsonl": "a52dd079749df99ab955de18084ff6e439e58f6f61be5f6e165f1730f5d6a666",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/requests.csv": "1e5e8549b3c4aadf3f904ea7b6d34fefbb501a651a8c9dd4049ee88d982088bf",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/state.npz": "5cab296716cb61fe47f4d5cde1fcaeda9a99450725eac649fa8c17ea8bda1663",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/summary.json": "0708210542d28e4bf3336d916a3ab104d1f932af63f32c3896b24f7ba8ec5327",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0/tick-state-hashes.jsonl": "c8661131b9450d9288a6094724d05bc035a991bf1570a9239a0adbb1f04d078e",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/apl-applied.float32.npy": "233551cedc46ac5cffbab92fadcf8b089d71b8fcb37c640aa55ab74d9a8ae180",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/apl-drive.float32.npy": "a5119d1661c792bbdd6ddf09bfaa39ffe5a0e164b7703e527575f073734d4602",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/apl-inhibition.float32.npy": "011f3daa92639c8e3412624845bfb23de972b0652f753c48b66a8e732557876b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/apl-pending-tail.float32.npy": "4d99db118da773dc7c3d10ff06f15a101256c55143f88e9ab0701abc2bf9fbdc",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/apl-state.float32.npy": "19de6d764e40f57fc1daf59be3bfa21ec1e30fa76c3cc851391a266a5161c393",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/apl-timing-audit.json": "114f70a4219e2a9862c82e18a903b7afa0ef108130094f0da576bbf4a6c0c804",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/queue.jsonl": "a52dd079749df99ab955de18084ff6e439e58f6f61be5f6e165f1730f5d6a666",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/requests.csv": "1e5e8549b3c4aadf3f904ea7b6d34fefbb501a651a8c9dd4049ee88d982088bf",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/state.npz": "5cab296716cb61fe47f4d5cde1fcaeda9a99450725eac649fa8c17ea8bda1663",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/summary.json": "5f285ccdfc29c6eae54c6cd766d690ba9fffd4da63f6960673c2a0cb6f94da7b",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1/tick-state-hashes.jsonl": "c8661131b9450d9288a6094724d05bc035a991bf1570a9239a0adbb1f04d078e"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-04-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 27631
|
||||
}
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"apl_delay_steps": 18,
|
||||
"case": "seed_validation-physiological-05-s1073741825",
|
||||
"checks": {
|
||||
"apl.applied.bitwise_exact": true,
|
||||
"apl.applied.finite": true,
|
||||
"apl.applied.schema": true,
|
||||
"apl.drive.bitwise_exact": true,
|
||||
"apl.drive.finite": true,
|
||||
"apl.drive.schema": true,
|
||||
"apl.inhibition.bitwise_exact": true,
|
||||
"apl.inhibition.finite": true,
|
||||
"apl.inhibition.schema": true,
|
||||
"apl.pending.bitwise_exact": true,
|
||||
"apl.pending.finite": true,
|
||||
"apl.pending.schema": true,
|
||||
"apl.state.bitwise_exact": true,
|
||||
"apl.state.finite": true,
|
||||
"apl.state.schema": true,
|
||||
"component.parsed_exact": true,
|
||||
"first_gpu.apl_positive_applied": true,
|
||||
"first_gpu.apl_positive_drive": true,
|
||||
"first_gpu.apl_positive_inhibition": true,
|
||||
"first_gpu.apl_positive_state": true,
|
||||
"first_gpu.apl_precision": true,
|
||||
"first_gpu.case_name": true,
|
||||
"first_gpu.component_summary_consistent": true,
|
||||
"first_gpu.count_nonnegative_total": true,
|
||||
"first_gpu.delay_summary": true,
|
||||
"first_gpu.events_sorted_unique": true,
|
||||
"first_gpu.final_apl_state_metadata": true,
|
||||
"first_gpu.finite_sequence_row_conservation": true,
|
||||
"first_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_applied.finite": true,
|
||||
"first_gpu.fixed_delay_applied.schema": true,
|
||||
"first_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"first_gpu.fixed_delay_pending.finite": true,
|
||||
"first_gpu.fixed_delay_pending.schema": true,
|
||||
"first_gpu.history_mode": true,
|
||||
"first_gpu.last_hash_g": true,
|
||||
"first_gpu.last_hash_ref": true,
|
||||
"first_gpu.last_hash_v": true,
|
||||
"first_gpu.no_dense_g": true,
|
||||
"first_gpu.no_dense_ref": true,
|
||||
"first_gpu.no_dense_v": true,
|
||||
"first_gpu.no_error_marker": true,
|
||||
"first_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"first_gpu.pending_hash_metadata": true,
|
||||
"first_gpu.pending_shape_metadata": true,
|
||||
"first_gpu.pending_summary_counts": true,
|
||||
"first_gpu.ref_range": true,
|
||||
"first_gpu.reported_events": true,
|
||||
"first_gpu.request_summary": true,
|
||||
"first_gpu.summary_complete": true,
|
||||
"first_gpu.timing_finite_nonnegative": true,
|
||||
"first_gpu.timing_integer_metadata": true,
|
||||
"first_gpu.timing_summary_metadata": true,
|
||||
"hashes.parsed_exact": true,
|
||||
"queues.parsed_exact": true,
|
||||
"requests.parsed_exact": true,
|
||||
"second_gpu.apl_positive_applied": true,
|
||||
"second_gpu.apl_positive_drive": true,
|
||||
"second_gpu.apl_positive_inhibition": true,
|
||||
"second_gpu.apl_positive_state": true,
|
||||
"second_gpu.apl_precision": true,
|
||||
"second_gpu.case_name": true,
|
||||
"second_gpu.component_summary_consistent": true,
|
||||
"second_gpu.count_nonnegative_total": true,
|
||||
"second_gpu.delay_summary": true,
|
||||
"second_gpu.events_sorted_unique": true,
|
||||
"second_gpu.final_apl_state_metadata": true,
|
||||
"second_gpu.finite_sequence_row_conservation": true,
|
||||
"second_gpu.fixed_delay_applied.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_applied.finite": true,
|
||||
"second_gpu.fixed_delay_applied.schema": true,
|
||||
"second_gpu.fixed_delay_pending.bitwise_exact": true,
|
||||
"second_gpu.fixed_delay_pending.finite": true,
|
||||
"second_gpu.fixed_delay_pending.schema": true,
|
||||
"second_gpu.history_mode": true,
|
||||
"second_gpu.last_hash_g": true,
|
||||
"second_gpu.last_hash_ref": true,
|
||||
"second_gpu.last_hash_v": true,
|
||||
"second_gpu.no_dense_g": true,
|
||||
"second_gpu.no_dense_ref": true,
|
||||
"second_gpu.no_dense_v": true,
|
||||
"second_gpu.no_error_marker": true,
|
||||
"second_gpu.no_extra_brain_or_apl_ticks": true,
|
||||
"second_gpu.pending_hash_metadata": true,
|
||||
"second_gpu.pending_shape_metadata": true,
|
||||
"second_gpu.pending_summary_counts": true,
|
||||
"second_gpu.ref_range": true,
|
||||
"second_gpu.reported_events": true,
|
||||
"second_gpu.request_summary": true,
|
||||
"second_gpu.summary_complete": true,
|
||||
"second_gpu.timing_finite_nonnegative": true,
|
||||
"second_gpu.timing_integer_metadata": true,
|
||||
"second_gpu.timing_summary_metadata": true,
|
||||
"state.counts.bitwise_exact": true,
|
||||
"state.counts.finite": true,
|
||||
"state.counts.schema": true,
|
||||
"state.g.bitwise_exact": true,
|
||||
"state.g.finite": true,
|
||||
"state.g.schema": true,
|
||||
"state.neuron_idx.bitwise_exact": true,
|
||||
"state.neuron_idx.finite": true,
|
||||
"state.neuron_idx.schema": true,
|
||||
"state.ref.bitwise_exact": true,
|
||||
"state.ref.finite": true,
|
||||
"state.ref.schema": true,
|
||||
"state.step.bitwise_exact": true,
|
||||
"state.step.finite": true,
|
||||
"state.step.schema": true,
|
||||
"state.v.bitwise_exact": true,
|
||||
"state.v.finite": true,
|
||||
"state.v.schema": true,
|
||||
"summary.accepted_arriving_edges": true,
|
||||
"summary.accepted_requests": true,
|
||||
"summary.all_finite": true,
|
||||
"summary.apl_delay_steps": true,
|
||||
"summary.apl_fast_edges_zeroed": true,
|
||||
"summary.apl_precision": true,
|
||||
"summary.apl_schedule": true,
|
||||
"summary.apl_si_conversion": true,
|
||||
"summary.apl_timing": true,
|
||||
"summary.arriving_edges": true,
|
||||
"summary.build": true,
|
||||
"summary.case": true,
|
||||
"summary.complete": true,
|
||||
"summary.completed_ticks": true,
|
||||
"summary.counts_match_sparse_events": true,
|
||||
"summary.edges": true,
|
||||
"summary.effective_weights_raw_sha256": true,
|
||||
"summary.future_generated_decay_tail_included": true,
|
||||
"summary.input_sha256": true,
|
||||
"summary.kc_targets_present": true,
|
||||
"summary.learning": true,
|
||||
"summary.nodes": true,
|
||||
"summary.pass_all": true,
|
||||
"summary.pending_generated_count": true,
|
||||
"summary.pending_initial_zero_prefix": true,
|
||||
"summary.pending_tail_shape": true,
|
||||
"summary.precision": true,
|
||||
"summary.record_history": true,
|
||||
"summary.rejected_requests": true,
|
||||
"summary.requested": true,
|
||||
"summary.sealed_ae_backend_sha256": true,
|
||||
"summary.source_provenance": true,
|
||||
"summary.state_units": true,
|
||||
"summary.steps": true,
|
||||
"summary.total_spikes": true
|
||||
},
|
||||
"differences": {},
|
||||
"edges": 25582938,
|
||||
"evidence_sha256": {
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/apl-applied.float32.npy": "0e21328c3148abf8de7b33b943f9ccd6b234547b356d2c414ce37a7e42ca2d6a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/apl-drive.float32.npy": "165ef03e84753b7fc8dc93692c4a3c1c677bcf761dc3f09b2b5495b76737fc94",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/apl-inhibition.float32.npy": "15b2d8361561ff752aa4bf39e8cde43c28e4e76fbfd0758dff91dbb10bce814d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/apl-pending-tail.float32.npy": "affb4b4698b0dec9c9bf2028ea47c13fc1c1408461e24bea519f08d766e15faa",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/apl-state.float32.npy": "ee15443cfbb1370570aef78d2ead2d8b9c13a494b543eef52546db661b095221",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/apl-timing-audit.json": "6e460157d8728155fa0872af1875a55f80e9b5f3a8f5da9cb75326e586488a7f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/queue.jsonl": "6ac3049078c9fb5986720a1f7789a892c669a9118c24161c0710eb654e04ffe5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/requests.csv": "aee9c78259019e8cdd53623d79ab10c4f6d5bb1302b9259d51a55d791b8af68c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/state.npz": "829c2e951bf50a9c740c1d640173b7b13eb66a8506f0a292b569860872a29bb4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/summary.json": "ac979c129b0a450543620bbace4764d75e807ba62c19ee4adfc743a71bdaf578",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0/tick-state-hashes.jsonl": "289cc59d98cc3cbb6e0e5470774db17ef054478939bf82a74a0c8a8a45dc9d14",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/apl-applied.float32.npy": "0e21328c3148abf8de7b33b943f9ccd6b234547b356d2c414ce37a7e42ca2d6a",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/apl-component.json": "f94b360033b4cb643c9774e7fa31c95a65c5571ca62b73072ee29b3af80121f9",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/apl-drive.float32.npy": "165ef03e84753b7fc8dc93692c4a3c1c677bcf761dc3f09b2b5495b76737fc94",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/apl-inhibition.float32.npy": "15b2d8361561ff752aa4bf39e8cde43c28e4e76fbfd0758dff91dbb10bce814d",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/apl-pending-tail.float32.npy": "affb4b4698b0dec9c9bf2028ea47c13fc1c1408461e24bea519f08d766e15faa",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/apl-state.float32.npy": "ee15443cfbb1370570aef78d2ead2d8b9c13a494b543eef52546db661b095221",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/apl-timing-audit.json": "6e460157d8728155fa0872af1875a55f80e9b5f3a8f5da9cb75326e586488a7f",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/queue.jsonl": "6ac3049078c9fb5986720a1f7789a892c669a9118c24161c0710eb654e04ffe5",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/requests.csv": "aee9c78259019e8cdd53623d79ab10c4f6d5bb1302b9259d51a55d791b8af68c",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/state.npz": "829c2e951bf50a9c740c1d640173b7b13eb66a8506f0a292b569860872a29bb4",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/summary.json": "9959dea09ff7984c41f50c057cc4a95a28c4e804a2f0df477b78190520118599",
|
||||
"/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1/tick-state-hashes.jsonl": "289cc59d98cc3cbb6e0e5470774db17ef054478939bf82a74a0c8a8a45dc9d14"
|
||||
},
|
||||
"explicit_exclusions": [
|
||||
"wall_seconds",
|
||||
"diagnostic_simulation_seconds",
|
||||
"build_or_cache_seconds",
|
||||
"peak_allocated_vram_bytes",
|
||||
"peak_reserved_vram_bytes"
|
||||
],
|
||||
"failed_checks": [],
|
||||
"first": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r0",
|
||||
"kind": "fresh-GPU-run exact repeat comparison",
|
||||
"nodes": 166700,
|
||||
"pass_all": true,
|
||||
"record_history": false,
|
||||
"scientific_apl_delay_fields_compared": true,
|
||||
"scope": "Scientific outputs, recording integrity and input hashes; independent case/graph audit belongs to compare()",
|
||||
"second": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation/gpu/seed_validation/seed_validation-physiological-05-s1073741825-r1",
|
||||
"signed_zero_included": true,
|
||||
"steps": 1000,
|
||||
"timing_fields_compared": false,
|
||||
"tolerance": null,
|
||||
"total_spikes": 32142
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"stage": "seed-probes",
|
||||
"pass_all": true,
|
||||
"cases": [
|
||||
{
|
||||
"case": "seed_validation-physiological-00-s1073741825",
|
||||
"group": "seed_validation",
|
||||
"pass_all": true,
|
||||
"fresh_gpu_runs": 1,
|
||||
"new_oracle_runs": 1
|
||||
},
|
||||
{
|
||||
"case": "seed_validation-matched_energy-00-s1073741825",
|
||||
"group": "seed_validation",
|
||||
"pass_all": true,
|
||||
"fresh_gpu_runs": 1,
|
||||
"new_oracle_runs": 1
|
||||
}
|
||||
],
|
||||
"scope": "Two fixed first-odor first-seed mode probes; independent LIF with shared unchanged Torch APL component"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"stage": "seed-validation",
|
||||
"cohort": "seed_validation",
|
||||
"pass_all": true,
|
||||
"execution_gate_pass": true,
|
||||
"representation_gate_pass": true,
|
||||
"base_count": 60,
|
||||
"repeat_count": 12,
|
||||
"repeat_cases": [
|
||||
"seed_validation-physiological-00-s1073741825",
|
||||
"seed_validation-physiological-01-s1073741825",
|
||||
"seed_validation-physiological-02-s1073741825",
|
||||
"seed_validation-physiological-03-s1073741825",
|
||||
"seed_validation-physiological-04-s1073741825",
|
||||
"seed_validation-physiological-05-s1073741825",
|
||||
"seed_validation-matched_energy-00-s1073741825",
|
||||
"seed_validation-matched_energy-01-s1073741825",
|
||||
"seed_validation-matched_energy-02-s1073741825",
|
||||
"seed_validation-matched_energy-03-s1073741825",
|
||||
"seed_validation-matched_energy-04-s1073741825",
|
||||
"seed_validation-matched_energy-05-s1073741825"
|
||||
],
|
||||
"summary": "validation/seed_validation/summary.json",
|
||||
"summary_sha256": "5050f54060ffe3b5b9a43b7545e943566f144da3183822633504418abb45bf63",
|
||||
"validation_inventory_sha256": "50d7b3aa7b0235e8f7bc1e21ef693cd5c554272ef3bd205c72f61e8e07ad1fd9",
|
||||
"scope": "Complete fixed representation block; no pooled rescue, learning, tuning, or historically-unseen-odor claim"
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "cal-matched_energy-00-s51101",
|
||||
"kind": "calibration",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "OMSUIQOIVADKIM-RXMQYKEDSA-N",
|
||||
"odor_name": "ethyl (R)-(-)-3-hydroxybutanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 51101,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 102.24431762695312,
|
||||
"target_count": 48,
|
||||
"rate_sum_hz": 1022.4431762695312,
|
||||
"apl_delay_steps": 18
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "cal-physiological-00-s51101",
|
||||
"kind": "calibration",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "OMSUIQOIVADKIM-RXMQYKEDSA-N",
|
||||
"odor_name": "ethyl (R)-(-)-3-hydroxybutanoate",
|
||||
"mode": "physiological",
|
||||
"seed": 51101,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 105.90211181640625,
|
||||
"target_count": 48,
|
||||
"rate_sum_hz": 1059.0211181640625,
|
||||
"apl_delay_steps": 18
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-00-s1073741825",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "YSNWHRKJEKWJNY-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-methylsulfanylpropanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741825,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 102.2443115234375,
|
||||
"target_count": 35,
|
||||
"rate_sum_hz": 1022.443115234375,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 6
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-00-s1073741826",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "YSNWHRKJEKWJNY-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-methylsulfanylpropanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741826,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 102.2443115234375,
|
||||
"target_count": 35,
|
||||
"rate_sum_hz": 1022.443115234375,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 6
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-00-s1073741827",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "YSNWHRKJEKWJNY-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-methylsulfanylpropanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741827,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 102.2443115234375,
|
||||
"target_count": 35,
|
||||
"rate_sum_hz": 1022.443115234375,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 6
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-00-s1073741828",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "YSNWHRKJEKWJNY-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-methylsulfanylpropanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741828,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 102.2443115234375,
|
||||
"target_count": 35,
|
||||
"rate_sum_hz": 1022.443115234375,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 6
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-00-s1073741829",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "YSNWHRKJEKWJNY-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-methylsulfanylpropanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741829,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 102.2443115234375,
|
||||
"target_count": 35,
|
||||
"rate_sum_hz": 1022.443115234375,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 6
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-01-s1073741825",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "LYRIITRHDCNUHV-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-hydroxyhexanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741825,
|
||||
"odor_index": 1,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 55,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 7
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-01-s1073741826",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "LYRIITRHDCNUHV-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-hydroxyhexanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741826,
|
||||
"odor_index": 1,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 55,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 7
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-01-s1073741827",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "LYRIITRHDCNUHV-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-hydroxyhexanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741827,
|
||||
"odor_index": 1,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 55,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 7
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-01-s1073741828",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "LYRIITRHDCNUHV-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-hydroxyhexanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741828,
|
||||
"odor_index": 1,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 55,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 7
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-01-s1073741829",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "LYRIITRHDCNUHV-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-hydroxyhexanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741829,
|
||||
"odor_index": 1,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 55,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 7
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-02-s1073741825",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "CETWDUZRCINIHU-ZETCQYMHSA-N",
|
||||
"odor_name": "(2S)-heptan-2-ol",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741825,
|
||||
"odor_index": 2,
|
||||
"expected_external_events": 102.24430541992187,
|
||||
"target_count": 39,
|
||||
"rate_sum_hz": 1022.4430541992188,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 8
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-02-s1073741826",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "CETWDUZRCINIHU-ZETCQYMHSA-N",
|
||||
"odor_name": "(2S)-heptan-2-ol",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741826,
|
||||
"odor_index": 2,
|
||||
"expected_external_events": 102.24430541992187,
|
||||
"target_count": 39,
|
||||
"rate_sum_hz": 1022.4430541992188,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 8
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-02-s1073741827",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "CETWDUZRCINIHU-ZETCQYMHSA-N",
|
||||
"odor_name": "(2S)-heptan-2-ol",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741827,
|
||||
"odor_index": 2,
|
||||
"expected_external_events": 102.24430541992187,
|
||||
"target_count": 39,
|
||||
"rate_sum_hz": 1022.4430541992188,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 8
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-02-s1073741828",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "CETWDUZRCINIHU-ZETCQYMHSA-N",
|
||||
"odor_name": "(2S)-heptan-2-ol",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741828,
|
||||
"odor_index": 2,
|
||||
"expected_external_events": 102.24430541992187,
|
||||
"target_count": 39,
|
||||
"rate_sum_hz": 1022.4430541992188,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 8
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-02-s1073741829",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "CETWDUZRCINIHU-ZETCQYMHSA-N",
|
||||
"odor_name": "(2S)-heptan-2-ol",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741829,
|
||||
"odor_index": 2,
|
||||
"expected_external_events": 102.24430541992187,
|
||||
"target_count": 39,
|
||||
"rate_sum_hz": 1022.4430541992188,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 8
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-03-s1073741825",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "HXDOZKJGKXYMEW-UHFFFAOYSA-N",
|
||||
"odor_name": "4-ethylphenol",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741825,
|
||||
"odor_index": 3,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 26,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 9
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-03-s1073741826",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "HXDOZKJGKXYMEW-UHFFFAOYSA-N",
|
||||
"odor_name": "4-ethylphenol",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741826,
|
||||
"odor_index": 3,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 26,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 9
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-03-s1073741827",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "HXDOZKJGKXYMEW-UHFFFAOYSA-N",
|
||||
"odor_name": "4-ethylphenol",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741827,
|
||||
"odor_index": 3,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 26,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 9
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-03-s1073741828",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "HXDOZKJGKXYMEW-UHFFFAOYSA-N",
|
||||
"odor_name": "4-ethylphenol",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741828,
|
||||
"odor_index": 3,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 26,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 9
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-03-s1073741829",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "HXDOZKJGKXYMEW-UHFFFAOYSA-N",
|
||||
"odor_name": "4-ethylphenol",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741829,
|
||||
"odor_index": 3,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 26,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 9
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-04-s1073741825",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "PFCHFHIRKBAQGU-UHFFFAOYSA-N",
|
||||
"odor_name": "3-hexanone",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741825,
|
||||
"odor_index": 4,
|
||||
"expected_external_events": 102.24431762695312,
|
||||
"target_count": 50,
|
||||
"rate_sum_hz": 1022.4431762695312,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 10
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-04-s1073741826",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "PFCHFHIRKBAQGU-UHFFFAOYSA-N",
|
||||
"odor_name": "3-hexanone",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741826,
|
||||
"odor_index": 4,
|
||||
"expected_external_events": 102.24431762695312,
|
||||
"target_count": 50,
|
||||
"rate_sum_hz": 1022.4431762695312,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 10
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-04-s1073741827",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "PFCHFHIRKBAQGU-UHFFFAOYSA-N",
|
||||
"odor_name": "3-hexanone",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741827,
|
||||
"odor_index": 4,
|
||||
"expected_external_events": 102.24431762695312,
|
||||
"target_count": 50,
|
||||
"rate_sum_hz": 1022.4431762695312,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 10
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-04-s1073741828",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "PFCHFHIRKBAQGU-UHFFFAOYSA-N",
|
||||
"odor_name": "3-hexanone",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741828,
|
||||
"odor_index": 4,
|
||||
"expected_external_events": 102.24431762695312,
|
||||
"target_count": 50,
|
||||
"rate_sum_hz": 1022.4431762695312,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 10
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-04-s1073741829",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "PFCHFHIRKBAQGU-UHFFFAOYSA-N",
|
||||
"odor_name": "3-hexanone",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741829,
|
||||
"odor_index": 4,
|
||||
"expected_external_events": 102.24431762695312,
|
||||
"target_count": 50,
|
||||
"rate_sum_hz": 1022.4431762695312,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 10
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-05-s1073741825",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "ACCRBMDJCPPJDX-UHFFFAOYSA-N",
|
||||
"odor_name": "methyl 3-hydroxy hexanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741825,
|
||||
"odor_index": 5,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 48,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 11
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-05-s1073741826",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "ACCRBMDJCPPJDX-UHFFFAOYSA-N",
|
||||
"odor_name": "methyl 3-hydroxy hexanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741826,
|
||||
"odor_index": 5,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 48,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 11
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-05-s1073741827",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "ACCRBMDJCPPJDX-UHFFFAOYSA-N",
|
||||
"odor_name": "methyl 3-hydroxy hexanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741827,
|
||||
"odor_index": 5,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 48,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 11
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-05-s1073741828",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "ACCRBMDJCPPJDX-UHFFFAOYSA-N",
|
||||
"odor_name": "methyl 3-hydroxy hexanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741828,
|
||||
"odor_index": 5,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 48,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 11
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-matched_energy-05-s1073741829",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "ACCRBMDJCPPJDX-UHFFFAOYSA-N",
|
||||
"odor_name": "methyl 3-hydroxy hexanoate",
|
||||
"mode": "matched_energy",
|
||||
"seed": 1073741829,
|
||||
"odor_index": 5,
|
||||
"expected_external_events": 102.24432373046875,
|
||||
"target_count": 48,
|
||||
"rate_sum_hz": 1022.4432373046875,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 11
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-physiological-00-s1073741825",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "YSNWHRKJEKWJNY-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-methylsulfanylpropanoate",
|
||||
"mode": "physiological",
|
||||
"seed": 1073741825,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 113.30283203125,
|
||||
"target_count": 35,
|
||||
"rate_sum_hz": 1133.0283203125,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 6
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-physiological-00-s1073741826",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "YSNWHRKJEKWJNY-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-methylsulfanylpropanoate",
|
||||
"mode": "physiological",
|
||||
"seed": 1073741826,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 113.30283203125,
|
||||
"target_count": 35,
|
||||
"rate_sum_hz": 1133.0283203125,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 6
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-physiological-00-s1073741827",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "YSNWHRKJEKWJNY-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-methylsulfanylpropanoate",
|
||||
"mode": "physiological",
|
||||
"seed": 1073741827,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 113.30283203125,
|
||||
"target_count": 35,
|
||||
"rate_sum_hz": 1133.0283203125,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 6
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-physiological-00-s1073741828",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "YSNWHRKJEKWJNY-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-methylsulfanylpropanoate",
|
||||
"mode": "physiological",
|
||||
"seed": 1073741828,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 113.30283203125,
|
||||
"target_count": 35,
|
||||
"rate_sum_hz": 1133.0283203125,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 6
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-physiological-00-s1073741829",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "YSNWHRKJEKWJNY-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-methylsulfanylpropanoate",
|
||||
"mode": "physiological",
|
||||
"seed": 1073741829,
|
||||
"odor_index": 0,
|
||||
"expected_external_events": 113.30283203125,
|
||||
"target_count": 35,
|
||||
"rate_sum_hz": 1133.0283203125,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 6
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-physiological-01-s1073741825",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "LYRIITRHDCNUHV-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-hydroxyhexanoate",
|
||||
"mode": "physiological",
|
||||
"seed": 1073741825,
|
||||
"odor_index": 1,
|
||||
"expected_external_events": 98.0925048828125,
|
||||
"target_count": 55,
|
||||
"rate_sum_hz": 980.925048828125,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 7
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-physiological-01-s1073741826",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "LYRIITRHDCNUHV-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-hydroxyhexanoate",
|
||||
"mode": "physiological",
|
||||
"seed": 1073741826,
|
||||
"odor_index": 1,
|
||||
"expected_external_events": 98.0925048828125,
|
||||
"target_count": 55,
|
||||
"rate_sum_hz": 980.925048828125,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 7
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-physiological-01-s1073741827",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "LYRIITRHDCNUHV-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-hydroxyhexanoate",
|
||||
"mode": "physiological",
|
||||
"seed": 1073741827,
|
||||
"odor_index": 1,
|
||||
"expected_external_events": 98.0925048828125,
|
||||
"target_count": 55,
|
||||
"rate_sum_hz": 980.925048828125,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 7
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"name": "novel_to_aj-physiological-01-s1073741828",
|
||||
"kind": "fullgraph",
|
||||
"steps": 1000,
|
||||
"dt_ms": 0.1,
|
||||
"duration_ms": 100.0,
|
||||
"model": {
|
||||
"dt_ms": 0.1,
|
||||
"membrane_tau_ms": 20.0,
|
||||
"synaptic_tau_ms": 5.0,
|
||||
"refractory_ms": 2.2,
|
||||
"resting_potential_mv": -52.0,
|
||||
"reset_potential_mv": -52.0,
|
||||
"threshold_mv": -45.0,
|
||||
"synaptic_delay_ms": 1.8,
|
||||
"w_syn_mv_per_anatomical_synapse": 0.275
|
||||
},
|
||||
"graph_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/graphs/full",
|
||||
"apl_bundle_dir": "/data/digital-drosophila/experiments/phase4ag-author-apl-r2/apl-bundle",
|
||||
"apl": {
|
||||
"tau_ms": 20.0,
|
||||
"gain": 0.01,
|
||||
"normalization": 1.0
|
||||
},
|
||||
"record_history": false,
|
||||
"coefficients_path": "/data/digital-drosophila/experiments/phase4af-author-fullgraph/oracle/no_input/coefficients.json",
|
||||
"science_python": "/data/digital-drosophila/models/male-cns-lif/.venv/bin/python",
|
||||
"legacy_apl_worker": "/data/digital-drosophila/models/male-cns-lif/author-apl-lab-v2/legacy_apl_worker.py",
|
||||
"budget_root": "/data/digital-drosophila/experiments/phase4ak-apl-timing-validation",
|
||||
"output_budget_bytes": 25769803776,
|
||||
"precision": "float64",
|
||||
"apl_precision": "float32",
|
||||
"training": false,
|
||||
"odor_id": "LYRIITRHDCNUHV-UHFFFAOYSA-N",
|
||||
"odor_name": "ethyl 3-hydroxyhexanoate",
|
||||
"mode": "physiological",
|
||||
"seed": 1073741828,
|
||||
"odor_index": 1,
|
||||
"expected_external_events": 98.0925048828125,
|
||||
"target_count": 55,
|
||||
"rate_sum_hz": 980.925048828125,
|
||||
"apl_delay_steps": 18,
|
||||
"validation_cohort": "novel_to_aj",
|
||||
"source_panel_split": "heldout",
|
||||
"source_panel_row": 7
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user