Archive MaleCNS research sources, provenance, bibliography and immutable data inventory

This commit is contained in:
Digital Drosophila Archive
2026-09-29 03:38:32 +08:00
commit 3981628ff8
682 changed files with 161475 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
# 目录与数据流
```text
digital-drosophila/
├── README.md / NOTICE.md
├── docs/ 当前导航、科学边界、复现和运维
├── references/ 书目、DOI、证据用途、来源元数据
├── registry/ 科学文件快照、阶段报告副本、外部版本锁定
├── tools/ 只读清单、校验与提交检查工具
├── models/male-cns-lif/ 原位保留的各阶段 Python/CUDA/配置/manifest(Git 跟踪)
├── models/learned/ 历史探索输出(仅服务器,非正式能力声明)
├── datasets/ 原始、处理后、备份(仅服务器)
├── experiments/ 各阶段完整事件、状态和审计(仅服务器)
└── backend/frontend/game/logs/recordings/ 原目录保留;空目录不由 Git 保存
```
```text
official MaleCNS raw
→ Phase 3B neuron-only / int32 index + uint64 body_id
→ base CSR / raw int64 count(只读)
→ independent sign + effective weight
→ frozen LIF / deterministic-runtime-v2
→ sparse events / states / audit
external physiology + canonical mapping → engineering sensory encoder → BrainIO
independent diagnostic overlays → separate experiments(不替换 base)
```
原目录未改名、未搬移、未整理重写。已有脚本大量使用 `/data/digital-drosophila` 绝对路径,保持这种布局是当前复现前提。
根目录文档是导航层;旧模型 README 可能只描述某个早期阶段,不能单独作为全项目当前状态。
源代码与当前快照一起首次进入 Git,不会伪造过去每一阶段的提交历史。此前版本身份仍来自各阶段原 manifest/SHA-256。
+42
View File
@@ -0,0 +1,42 @@
# 状态与下一步(2026-09-29)
## 顶层验收口径
| 验收项 | 完成率 | 解释 |
|---|---:|---|
| 数据与 neuron-only canonical set | 100% | 保留原数据、映射和审计 |
| LIF 与确定性运行时 | 100% | Phase 4P 数值契约范围内通过,不代表生理精确 |
| BrainIO / ActivityStream | 100% | 已验证接口,不等于行为闭环 |
| 有来源的嗅觉输入编码 | 100% | 编码候选通过,不等于 held-out 记忆通过 |
| 局部 eligibility / plasticity 组件 | 100% | 组件级验收;不是关联记忆系统通过 |
| 稳定信用分配 | 0% | 未满足正式验收 |
| 刺激特异性关联记忆 | 0% | 未满足正式验收 |
| 结构化视觉候选 | 0% | 历史 Phase 4E/4F 候选失败,保留失败证据 |
| 动作闭环 | 0% | 未批准进入 |
| 游戏中学习 | 0% | 未批准进入 |
合计 5/10 = 50%。0% 表示该 gate 尚未通过,不表示没有投入工作;100% 也不表示没有研究局限。
## 当前机制定位:Phase 4Z
正式状态 `COMPLETE-EVENT-RESOLVED-PN-AUDIT`,不是新学习模型候选。
12 个主试次,6 种旧气味、seed 131101;复现既有参考和 DPM-off 独立诊断条件。
12/12 Phase 4Y 复现、6/6 Phase 4W 全脑事件复现、132/132 CPU shadow replay、2/2 重复、5/5 冻结参考回归通过。
剩余 KC 82312(body 109321)晚期正到达权重约 99.38% 来自 ALPN;最大单源 VA6_adPN 133666(body 527577)约占 36.16–36.39%。
真实事件支持 ALLN→PN→KC 持续驱动。局部回放中移除指定记录输入可消除晚期 spike,但**尚不是全脑环路必要性的干预证明**。
冻结 APL overlay 对全部 5,845 条快速出边置零,graded 替代只覆盖 KC;1,212 条非 KC 出边、13,712 contacts、999 targets 没有直接替代项。
这包括被观察 PN 的 7 条边、247 contacts。它是模型覆盖缺口,不是本轮删边;末梢抑制不能未经证据直接换成整细胞负电流。
827 个相同请求中有 61 个接受状态不同、52 个请求时刻实际输出不同,来自网络状态/不应期;不能仅以请求总数相等声称实际 PN spike 相等。
## 后续优先顺序(计划,不在本次仓库整理中执行)
1. 审计 APL→PN 接触位置、作用范围和受体证据,未知继续记 unknown。
2. 区分末梢抑制、整细胞电流、局部环路持续驱动;预先声明独立机制假设和可证伪 gate。
3. 在确定性运行时及相同实际输入语义下做回归,保留全部失败条件。
4. 只有稳定、特异性记忆与下游 readout 通过,才讨论动作接口;视觉和游戏另设验收。
不调 eta、阈值或脑增益来制造通过,不扩大 plastic mask,不替换 frozen baseline。
各阶段准确状态以 `registry/catalog-20260929/evidence/` 的原始报告副本为准;不要把所有阶段统一写成 PASS。
+30
View File
@@ -0,0 +1,30 @@
# 数据契约
唯一正式全脑连接组输入:`datasets/male-cns-v1.0/processed/neuron-only/`。
| 项目 | 固定值 / 语义 |
|---|---|
| canonical neurons | 166,700;annotation 的 superclass 非空 |
| fragments | 44,877;从 neuron-only 图排除,仍保留原数据与审计 |
| annotation bodies | 211,577;不能全部称为 neurons |
| directed edges | 25,582,938 |
| anatomical synaptic-contact sum | 124,177,617 |
| neuron_idx | 连续 int32,0…166699 |
| body_id | 原始 uint64;不可与其他数据集 ID 混用 |
| CSR indptr / indices / raw weights | int64 / int32 / int64 |
| isolated neurons / self-loops | 保留 217 / 101 |
| missing type | 保留 2,194 个 neurons |
| nonempty raw type unique strings | 11,751;不为匹配论文数字手工合并 |
上表是已经封存的项目契约,不是本次重新计算的结果;以原 Phase 3B 审计、schema 和 manifest 为权威依据。
正式 Cell 论文神经元总数为 166,700、types 11,710;与本地 raw 字符串统计不一致时保留版本/定义差异。
原始文件实际位置:
- `raw/annotations/body-annotations-male-cns-v1.0-minconf-0.5.feather`
- `raw/annotations/body-neurotransmitters-male-cns-v1.0.feather`(不是空的 raw/neurotransmitters 目录)
- `raw/connectivity/connectome-weights-male-cns-v1.0-minconf-0.5.feather`
- `raw/skeletons/`:本次清点 211,573 个 SWC 文件;这不是 neuron-only 的 SWC 覆盖数。
不得由 SWC 文件总数推断 neuron coverage;需用 canonical body_id 做集合连接。不得改动 raw 以匹配论文。
本项目没有下载原始 EM 图像。所有新增解释字段与原始 neurotransmitter 字段分离。
+27
View File
@@ -0,0 +1,27 @@
# 数据、外部资源与来源链
## 精确定位而非重新下载
完整逐文件路径、字节数、SHA-256 位于 `registry/snapshots/bootstrap-20260929/files.jsonl.gz`。
它记录目前服务器实物,不替代上游官方校验,也不证明过去每一次实验的执行过程。
原下载来源/校验文件保留在 `datasets/male-cns-v1.0/raw/_manifests/`,原 Phase 3B schema/audit 保留在 processed/neuron-only。
自动引用抽取 `registry/catalog-20260929/source-citations.json` 同时保存来源文件 SHA-256;抽取到的 URL/DOI 未自动背书为有效生物学证据。
## 外部资源
| 资源 | 本地用途 | 不允许的推断 |
|---|---|---|
| MaleCNS v1.0 / Cell 2026 | canonical bodies、真实边、annotation | anatomical count ≠ 实测有效电导 |
| reiserlab/visualpathways | pathway / receptive-field / retinotopy 参考 | 没有坐标的 neuron 不随机补坐标 |
| Cell Type Explorer / eye maps | 视觉层级和 eye-map 参考 | 名称相似不证明跨数据集 ID 一致 |
| FlyVis | 独立 engineering visual front-end 探索 | 不称为纯 MaleCNS phototransduction |
| DoOR.data 2.0.1 | odor-response physiology、receptor/glomerulus 通道映射 | 不自动推断缺失 MaleCNS body 映射 |
四个外部 Git 仓库的 origin、commit、dirty 状态、许可证据 SHA-256 已锁在 `external-resources.lock.json`。
外部仓库未 pull、未更新、未被作为嵌套 Git 内容上传。
## 版本与覆盖缺口
论文 formal / preprint、数据 release、软件 commit 分开标记。未知许可证、缺失映射或没有原始生理参数都显式保留 unknown。
不能因为外部数据“公开可下载”就默认可全部再分发。
不上传大型上游数据副本,恢复时优先使用自己已校验的备份;上游重下载是显式操作,不由本仓库自动执行。
+17
View File
@@ -0,0 +1,17 @@
# 实际 schema 与可恢复文件登记
`registry/data-20260929/dataset.json` 登记实际 raw 核心文件、Phase 3B canonical 文件、大小、SHA-256、原始下载脚本中的来源基址。
`registry/data-20260929/observed-schemas.json` 通过只读 Arrow/Parquet/NumPy header 获取列名、dtype、数组形状;不是猜测字段,也不是重新生成 Phase 3B。
`registry/data-20260929/evidence/` 保留小型 Phase 3B audit、schema、manifest、原下载来源和校验记录的字节一致副本。
完整 SWC 列表和所有实验大文件仍通过全量 gzip JSONL 清单引用,不在本目录重复写 20 万行。
原下载脚本作为来源证据归档,**不是本轮获准重新执行的操作**。其中重下载、移走坏文件等行为本次均未运行。
恢复时先取已校验备份;需要重下载时应在独立目的地显式审批来源和范围,不能改写当前 raw。
Git 内容本身另有 `registry/repository-files.sha256`,可在无科学数据的新 clone 上独立验证:
```bash
python3 -B tools/verify_repository_files.py
```
该清单不包含它自身(避免自引用),由 Git commit 内容身份覆盖其完整性;它不等于科学大数据备份。
+26
View File
@@ -0,0 +1,26 @@
# 模型与冻结边界
准确描述:**Shiu-like LIF dynamics adapted to MaleCNS v1.0**。
参数是工程 baseline,不是 MaleCNS 单细胞实测值;histamine inventory 等与原 Shiu 实现不同。
| 参数 | 值 |
|---|---:|
| dt | 0.1 ms |
| tau_m / tau_syn | 20 / 5 ms |
| delay | 1.8 ms,18 steps |
| refractory | 2.2 ms |
| V_rest / V_reset | −52 / −52 mV |
| V_threshold | −45 mV |
| W_syn | 0.275 mV / anatomical synapse |
ACh、dopamine、octopamine、serotonin baseline sign 为 +1;GABA、glutamate、histamine 为 −1;unknown/unclear 为 0。
这是被冻结的建模约定,**不是所有神经递质对所有靶细胞的真实生理符号定律**。
特别是 DPM transmitter 与调制时间尺度的诊断不能自动改变 raw 或正式 sign。
历史 `reference-v1` 和 `runtime-v1` 保留。Phase 4O 暴露运行时确定性问题后,Phase 4P 产生独立 `deterministic-runtime-v2` 候选。
使用该版本自身 numerical contract/reference v2,不用“重写旧 oracle”隐藏历史差异。
数值精确事件复现、CPU/GPU 对照、BrainIO 接受/不应期语义、ActivityStream、checkpoint 等见 Phase 4P 原始证据副本。
Base CSR 原始 int64 weight 永远不被 sign/effective weight/overlay 覆盖;局部 plastic_delta 或 efficacy 属于单独研究表示。
14,232-edge plastic mask 与 eligibility-v2 不因本次整理而更改。
实验失败和诊断 overlay 全部保留,不选取“看起来像学习”的试次替代正式 gate。
+12
View File
@@ -0,0 +1,12 @@
# 环境与可重复性范围
当前服务器环境快照:`registry/catalog-20260929/environment.json`。
记录 Python、已安装包的名称/版本、GPU/显存/driver、OS、Git、nvcc;不导出含凭据的包索引 URL 或环境变量。
该快照反映归档时环境,不保证等同于每个早期阶段的原运行环境,也不是 wheel/CUDA 二进制供应链锁定。
原主环境位于 `models/male-cns-lif/.venv/`,另有 processed/.venv;两个环境本次均不修改,不入 Git。
建议新机器在独立环境按记录重建,保存 wheel 来源/哈希与编译日志后再做科学回归。
本次没有安装、升级依赖或重编译科学内核。
历史脚本可能写固定绝对目录。任何科学复现须先检查入口及输出路径,在独立实验目录运行,绝不在封存目录执行 finalize。
本次只执行存储完整性和仓库工具测试,不声称重新运行了 Phase 4C/4P 科学回归;这些既有结果通过原报告副本保留。
+20
View File
@@ -0,0 +1,20 @@
# 新服务器恢复
1. 克隆 `codex/project-bootstrap` 分支,确认提交 SHA;不要克隆覆盖现有有数据目录。
2. 阅读 `registry/catalog-20260929/environment.json`,单独重建运行环境。不要盲目安装最新依赖。
3. 从已有数据备份/数据存储恢复 `datasets/`、`experiments/`、必要的 `models/learned/`。保持相对路径,先恢复到空的独立目录,避免覆盖现存数据。
4. 验证下方 SHA-256 快照;失败时停止,不重生成 raw 或篡改清单。
5. 文件校验后,再在独立输出目录运行适用版本的数值 regression。文件相同不等于新硬件上科学行为已通过。
```bash
# root 应是完整恢复的数据根;output 必须不存在。
python3 -B tools/repository_audit.py --root /data/digital-drosophila verify \
--snapshot registry/snapshots/bootstrap-20260929 \
--output registry/verification-runs/restore-YYYYMMDD-HHMMSS.json
```
快照覆盖 datasets、experiments、models 及原其他科学目录;跳过虚拟环境、缓存、嵌套 Git 数据库,不追随符号链接。
输出 mismatch / missing / added;返回非零即失败。当前快照与历史冻结 checksum 功能不同:前者验证仓库整理前后字节不变,后者验证各阶段当时封存的契约。
如果只 clone 代码而没有恢复数据,校验失败是预期,不要通过删除清单记录“修复”。
目前仅有 Phase 1–2 的 3.46 GB 压缩包,不能凭它恢复 Phase 3–4Z 全部实验。
+29
View File
@@ -0,0 +1,29 @@
# 大数据同步与备份(尚未配置异机目的地)
初始化前本机项目磁盘占用约 29,724,987,392 bytes(29.72 GB):
| 分类 | 磁盘占用 bytes |
|---|---:|
| datasets | 15,881,289,728 |
| experiments | 7,598,972,928 |
| models(主要为环境) | 6,244,691,968 |
两个虚拟环境共约 6.46 GB;排除环境仍有约 23.26 GB,包括原始/派生数据、已有压缩包和外部代码副本。
逐文件快照使用逻辑 bytes,与 du 实占、Git 压缩包大小不是同一指标,不应混用。
历史 Phase 1–2 `.tar.zst` 为 3,464,817,549 bytes;它不是全阶段备份。
## 推荐分层
- Git:小代码、YAML、报告、书目、外部版本锁和 SHA-256 索引。
- 版本化文件存储/NAS/对象存储:原始 SWC/Feather、CSR、Parquet/NPZ 事件、实验状态和历史压缩包。
- 可重建环境:记录包/driver/compiler版本,按需另备离线 wheel 和编译依赖。
第二层尚未指定目的地、容量、访问权限与保留策略,所以本次**没有**声称完成异机全量备份。
Git 服务所在 IP 不自动等于获准的数据存储目录;不擅自把 23 GB 数据复制到服务根目录。
## 后续执行要求
选择明确的新备份目录,确认空间后先 dry-run,再增量/断点传输;默认不删除目的地文件。
恢复到独立空目录后运行完整 SHA-256 验证,记录 source/destination/snapshot hash/时间/结果。
至少保留一份独立故障域副本;同盘压缩包和同机 Git 不抵抗磁盘损坏。
数据同步与历史版本备份不是一回事,禁止用无版本镜像替代保留策略。
+26
View File
@@ -0,0 +1,26 @@
# Git 同步规则
远程:`ssh://git@192.168.10.31:2222/qishizhe/digital-drosophila.git`。
服务器→Git 服务免密读取已确认;本机→计算服务器是另一条独立认证链。
首次建立 `codex/project-bootstrap`,不 force push,不伪造旧阶段 commits。
```bash
cd /data/digital-drosophila
git status --short
git diff --stat
# 只添加明确需要的代码、文档和新清单,先审查再提交。
git add docs references registry tools README.md NOTICE.md .gitignore .gitattributes
python3 -B tools/repo_guard.py
git diff --cached --stat
git commit -m 'Document audited project update'
git push origin codex/project-bootstrap
```
源代码更新须显式列出路径;不要为整理仓库修改已封存模型文件。
`.gitattributes` 禁用文本换行转换以保留旧源码哈希;本仓库 local core.autocrlf=false。
不要运行 `git clean -fdx`、强制 reset、会删 ignored 数据的清理工具,或对现有项目做镜像删除同步。
不要使用 `git add -f datasets experiments` 绕过防护。
`repo_guard.py` 检查 staged blob:数据/环境/嵌套仓库、>25 MiB 文件、常见凭据标记;它不是完备的 DLP/安全扫描器,仍需人工审查。
首次提交身份 `Digital Drosophila Archive <archive@localhost>` 是归档机器人,不代表研究作者。
仓库 default branch 可由服务管理员选择;本次不改服务的全局设置。