Skip to content

Connectome integration into EvoSpikeNet: Advancing distributed brain simulation with biological connection topology

[!NOTE] For the latest implementation status, please refer to Functional Implementation Status (Remaining Functionality).

  • Author: Masahiro Aoki
  • Document ID: MT2026-AI-02-001
  • ORCID ID: 0009-0007-9222-4181
  • Affiliation: Moonlight Technologies Co., Ltd.
  • Creation date: 2026-03-18 (Last updated: 2026-03-19 Module diagram, implementation status, and Appendix A updated upon completion of Phase E-0/E-1/E-2/E-3)
  • Classification: Research/design paper (internal)

summary

This paper discusses the significance, purpose, and design policy of integrating connection topology information obtained from biological neural connectivity maps (connectomes) into the EvoSpikeNet distributed brain simulation system. EvoSpikeNet has already implemented functionally specialized nodes for each cortical region using a spiking neural network (SNN), but the neuron connections inside the nodes rely on random initialization that has no biological basis. Through connectome integration (Phase E), four hierarchical data of C. elegans whole neural circuit, Drosophila FlyWire whole brain, mouse visual cortex MICrONS, and human long-range connectivity HCP are introduced as structural constraints to achieve four effects: (1) improvement of biological fidelity, (2) reproduction of spontaneous circuit formation, (3) structurally constrained stabilization of STDP plasticity, and (4) connection density-dependent optimization of Zenoh routing. This document details the significance and purpose of the implementation, and then describes the module configuration diagram, data flow, control sequence, and information flow in paper format.

Keywords: connectome, spiking neural network, EvoSpikeNet, structural plasticity, STDP, FlyWire, MICrONS, connection topology, distributed brain simulation


table of contents

  1. [Introduction: Significance and purpose of integration] (#1-Introduction: Significance and purpose of integration)
  2. [Background: Current status of EvoSpikeNet and connectome research] (#2-Background: Current status of evospikenet and connectome research)
  3. Integrated Architecture Overview
  4. [Module configuration and correlation diagram] (#4-Module configuration and correlation diagram)
  5. [Connectome data integration pipeline] (#5-Connectome data integration pipeline)
  6. Data flow design
  7. [Control Sequence] (#7-Control Sequence)
  8. [Information Sequence: Learning/Adaptation Cycle] (#8-Information Sequence Learning/Adaptation Cycle)
  9. Mathematical model
  10. [Implementation details: Integration into existing components] (#10-Implementation details: Integration into existing components)
  11. Verification Strategy
  12. [Discussion: Expected effects and issues] (#12-Discussion expected effects and issues)
  13. [References and related documents] (#13-References and related documents)

1. Introduction: Significance and purpose of integration

1.1 Raising the issue

As of 2026, EvoSpikeNet has implemented advanced features such as a 29-node distributed brain architecture, a time-series spike attention mechanism using ChronoSpikeAttention, plasticity based on STDP/Meta-STDP, and self-adaptation using an evolutionary genome (EvoGenome). However, the neuron connection structure inside each node relies on random initialization that has no biological basis, and the following fundamental problems remain.

  1. Non-biological nature of connections: In the real brain, connections between neurons have a specific topology (layered structure, modularity, small-world nature), but this does not exist in a random weight matrix.
  2. Unconstrained excitatory/inhibitory balance: In the biological brain, the E/I ratio is controlled to approximately 4:1, but in the real world, there is no constraint.
  3. Lack of electrophysiological consistency: The distribution of synaptic delay, conduction velocity, and synaptic strength deviates from the actual values.
  4. Plastic convergence instability: STDP without structural constraints risks causing divergence and overwiring.

1.2 Significance of integration

Connectome research is a cutting-edge field in neuroscience that aims to completely describe biological neural circuits at neuron resolution. It started with C. elegans whole neural circuit decoding in 1986 (White et al.), progressed to Drosophila whole brain connectome (140,000 neurons, FlyWire) in 2024, and mm-scale analysis of mouse cortex (MICrONS, 65,000 neurons).

Integrating these data into EvoSpikeNet has the following significance.

Dimensions of Meaning Content
Scientific Validity Simulations based on actual neural circuit structures serve as tools for testing neuroscientific hypotheses
Engineering Stability Biological topology has been optimized through a long history of evolution, providing convergent stability and efficiency
Emergent functions The connection structure itself determines information processing ability (knowledge of network theory)
Demonstrability It becomes possible to compare and verify actual measurement data and simulation output
Patent/Competitive Advantage AI using biological connectome data will be a differentiating factor

1.3 Purpose of integration (5 items)

The specific objectives of this Phase E integration are defined below.

  1. Objective 1 — Establishing structural fidelity The internal neuron connections of each EvoSpikeNet node are initialized with the connectome data of the corresponding species and cortical region to reproduce the biological connection topology.

  2. Objective 2 — Achieving structural plasticity We separate connectome data as an "unchangeable structural layer" and STDP/Meta-STDP as a "changeable functional layer" to realize stable learning with structural constraints.

  3. Objective 3 — Biological control of E/I balance Reflect FlyWire's neuron type classification (excitatory/inhibitory) in EvoSpikeNet's weight initialization to maintain a physiologically accurate E/I ratio (approximately 4:1).

  4. Objective 4 — Connection density dependent optimization of Zenoh routing We utilize HCP macroscale connectivity data to prioritize Zenoh communication between nodes and achieve routing that reflects the measured topography of intercortical long-distance connections.

  5. Objective 5 — Automatically reflect connectome data updates FlyWire, MICrONS, etc. are continuously proofread and updated. Build a pipeline that automatically reflects this update to EvoSpikeNet parameters.


2. Background: Current status of EvoSpikeNet and connectome research

2.1 EvoSpikeNet Current Status

graph TB
    subgraph "EvoSpikeNet Phase D/E(実装済み)"
        direction TB
        PFC["PFC / Q-PFC<br/>Prefrontal cortex"]
        VIS["Visual<br/>V1-V5"]
        AUD["Auditory<br/>A1"]
        SPAT["Spatial<br/>Parietal lobe"]
        MTR["Motor<br/>M1"]
        EPI["Episodic<br/>Hippocampus"]
        SEM["Semantic<br/>temporal lobe"]
        MINT["Integrator<br/>Insular Cortex"]
        ZEN["Zenoh Pub/Sub<br/>(depending on connectome density)"]

        WEIGHT["Weight initialization<br/>✅ ConnectomeLIFLayer<br/>structural_mask injected"]
        TOPO["Connection topology<br/>✅ C.elegans / FlyWire /<br/>MICrONS / HCP"]
        EI["E/I balance<br/>✅ validate_ei_ratio()"]
    end

2.2 Four layers of connectome research

Connectome data that can be used for integration into EvoSpikeNet will be organized in four levels by scale.

graph LR
    subgraph "ミクロスケール(シナプス解像度)"
        CE["C. elegans<br/>302 neurons<br/>7,000 synapses<br/>(completely deciphered)"]
        FLY["Drosophila FlyWire<br/>140,000 neurons<br/>50 million synapses<br/>(2024 whole brain)"]
    end
    subgraph "メゾスケール(皮質柱)"
        MIC["MICrONS<br/>65,000 neurons<br/>500 million synapses<br/>(Mouse V1 1mm³)"]
    end
    subgraph "マクロスケール(長距離結合)"
        HCP["HCP<br/>Whole brain white matter fiber bundles<br/>Diffusion tensor<br/>(human)"]
    end

    CE -->|Prototype verification| EVO["EvoSpikeNet<br/>Phase E"]
    FLY -->|sensory processing node| EVO
    MIC -->|cortical layer structure| EVO
    HCP -->|Zenoh Routing| EVO

2.3 EvoSpikeNet × Connectome correspondence table

EvoSpikeNet node Cortical support Main usage data Scale
Visual (V1-V5) Occipital cortex MICrONS Layer 4→2/3, FlyWire visual lobe Meso+micro
Auditory (A1) Temporal cortex FlyWire Johnston organ circuit Micro
Spatial Occipito-Parietal Cortex MICrONS Whole Cortical Connectivity Matrix Mezzo
Motor (M1) Motor Cortex MICrONS M1 Partial Connect Mezzo
PFC / Q-PFC dlPFC/OFC MICrONS Cortical Column+HCP Meso+Macro
Episodic (hippocampus) CA1/CA3/DG C. elegans self-associative circuit (proxy)+HCP Micro+Macro
Semantic Medial temporal lobe FlyWire mushroom body Micro
Integrator Cingulate/insular cortex MICrONS long-range axonal projections Meso
Internodal connections Intercortical white matter HCP S1200 diffusion tensor Macro

3. Integrated architecture overview

3.1 Overall architecture diagram

The overall image of the EvoSpikeNet system after connectome integration is shown.

flowchart TB
    subgraph "コネクトームデータ層"
        CE_DB["C. elegans DB<br/>WormAtlas JSON"]
        FLY_DB["FlyWire DB<br/>CAVE API"]
        MIC_DB["MICrONS DB<br/>CAVEclient"]
        HCP_DB["HCP S1200<br/>FSL/MRtrix3"]
    end

    subgraph "コネクトームローダー層"
        LOADER["connectome_loader.py<br/>Sparse COO transformation"]
        SYNC["sync_connectome.py<br/>Auto-update pipeline"]
        CONFIG["connectome_config.yaml<br/>Source control"]
    end

    subgraph "構造層(変更不可)"
        MASK_V["Visual structural mask<br/>structural_mask[V1]"]
        MASK_A["Auditory structural mask<br/>structural_mask[A1]"]
        MASK_M["Motor structural mask<br/>structural_mask[M1]"]
        MASK_E["Episodic structural mask<br/>structural_mask[HPC]"]
        ZENOH_TOPO["Zenoh connection priority<br/>HCP derived weight"]
    end

    subgraph "機能層(STDP可変)"
        LIF_V["LIFNeuronLayer<br/>Visual Node<br/>W = mask × scalar"]
        LIF_A["LIFNeuronLayer<br/>Auditory Node"]
        LIF_M["LIFNeuronLayer<br/>Motor Node"]
        LIF_E["LIFNeuronLayer<br/>Episodic Node"]
    end

    subgraph "制御層"
        PFC_C["PFC / Q-PFC<br/>ExecutiveControlEngine"]
        STDP_C["Meta-STDP<br/>Structurally Constrained Plasticity"]
        EVO_C["EvoGenome<br/>Structural mask evolution (Phase E+)"]
    end

    subgraph "通信層"
        ZENOH_M["Zenoh Mesh<br/>Connectome Priority Routing"]
        PTP_M["PTP time synchronization"]
    end

    CE_DB --> LOADER
    FLY_DB --> LOADER
    MIC_DB --> LOADER
    HCP_DB --> LOADER
    LOADER --> MASK_V & MASK_A & MASK_M & MASK_E & ZENOH_TOPO
    SYNC -->|Weekly difference| LOADER

    MASK_V --> LIF_V
    MASK_A --> LIF_A
    MASK_M --> LIF_M
    MASK_E --> LIF_E

    LIF_V & LIF_A & LIF_M & LIF_E --> ZENOH_M
    ZENOH_TOPO --> ZENOH_M
    ZENOH_M --> PFC_C
    PFC_C --> STDP_C --> LIF_V & LIF_A & LIF_M & LIF_E
    EVO_C -.->|Phase E+: Structure mask update| MASK_V & MASK_A & MASK_M & MASK_E
    PTP_M --- ZENOH_M

3.2 Conceptual diagram of three-layer model

We present the ``three-layer separation model,'' which is the core concept of connectome integration.

graph TD
    subgraph "Layer 1: 構造層 Structural Layer"
        S1["Connectome-derived adjacency matrix A∈{0,1}^{N×N}"]
        S2["E/I neuron type mask"]
        S3["Synaptic delay table delay[i,j]"]
        S1 --- S2 --- S3
    end

    subgraph "Layer 2: 機能層 Functional Layer"
        F1["STDP weight scalar w_scalar"]
        F2["Plasticity update with Meta-STDP"]
        F3["Integration with ChronoSpikeAttention"]
        F1 --- F2 --- F3
    end

    subgraph "Layer 3: 進化層 Evolutionary Layer"
        E1["Structural mask coevolution with EvoGenome"]
        E2["Evolutionary optimization of pruning rate"]
        E3["Cross-scale adaptation"]
        E1 --- E2 --- E3
    end

    S1 -->|"W_ij = A_ij × w_scalar"| F1
    F2 -->|"Update only ΔSTDP × A_ij"| F1
    E1 -.->|"Phase E+ only"| S1

4. Module configuration and correlation diagram

4.1 Software module configuration diagram

Implementation status (updated on 2026-03-19): Phase E-0/E-1/E-2/E-3 completed. ✅ Marked modules are already implemented. ⬜ Only Phase E-3-5 (HCP DUC acquisition) has yet to be started.

graph LR
    subgraph "新規モジュール(Phase E-1/E-2/E-3 ✅ 実装済み)"
        CL["✅ evospikenet/<br/>connectome_loader.py<br/>━━━━━━━━━━<br/>load_json()<br/>load_npz() / save_npz()<br/>stratified_sample() (F-1)<br/>spectral_coarsen() (F-2)<br/>load() / read_etag()<br/>write_etag()"]
        NM["✅ evospikenet/connectome/<br/>node_mapping.py<br/>━━━━━━━━━━<br/>get_source_for_node()<br/>build_manifest()<br/>apply_to_layer()"]
        DB["✅ evospikenet/connectome/<br/>delay_buffer.py<br/>━━━━━━━━━━<br/>SparseDelayBuffer<br/>step() / step_int16()<br/>from_connectome_data()"]
        ZP["✅ evospikenet/<br/>zenoh_connectome_publisher.py<br/>━━━━━━━━━━<br/>ConnectomeMetadataPublisher<br/>build_payload() / publish()"]
        SC["✅ scripts/<br/>sync_connectome.py<br/>━━━━━━━━━━<br/>apply_delta()<br/>apply_delta_with_validation()<br/>sync_connectome()<br/>fetch_cave_synapses_with_retry()"]
        BR["✅ evospikenet/<br/>brain_routing.py<br/>━━━━━━━━━━<br/>HCPDelayRouter<br/>compute_delay_matrix()<br/>optimize_routing_delays()<br/>build_hcp_routing_table()"]
        ANM["✅ scripts/<br/>auto_node_mapper.py<br/>━━━━━━━━━━<br/>map_connectome()<br/>generate_manifest()<br/>MappingResult / NodeMappingEntry"]
        CC["✅ config/<br/>connectome_config.yaml<br/>━━━━━━━━━━<br/>sources:<br/>node_mapping:<br/>update_schedule:"]
    end

    subgraph "既存モジュール(拡張済み ✅)"
        CORE["✅ evospikenet/core.py<br/>━━━━━━━━━━<br/>ConnectomeLIFLayer<br/>structural_mask ✅<br/>attach_sparse_delay_buffer ✅<br/>validate_ei_ratio ✅<br/>SNNModel delay routing ✅"]
        NT["evospikenet/<br/>node_types.py<br/>━━━━━━━━━━<br/>NodeDescriptor<br/>+ connectome_meta ←NEW"]
        FC["✅ evospikenet/<br/>forgetting_controller.py<br/>━━━━━━━━━━<br/>prune_threshold<br/>compute_connectome_density ✅"]
        LTM["evospikenet/<br/>long_term_memory.py<br/>━━━━━━━━━━<br/>weight_normalize<br/>← connectome_stats ←NEW"]
        SP["evospikenet/<br/>spatial_processing.py<br/>━━━━━━━━━━<br/>SpatialProcessor<br/>+ where/what masks ←NEW"]
    end

    subgraph "インフラモジュール(設定拡張)"
        ZR["Zenoh Router<br/>━━━━━━━━━━<br/>routing_table<br/>← connectome_priority ←NEW"]
        PTP_M["PTP Sync<br/>(no change)"]
    end

    CL -->|sparse tensor| CORE
    CL -->|ei_labels| CORE
    CL -->|delay_matrix| CORE
    CL -->|hcp_weights| ZR
    CC --> CL & SC & ANM
    SC -->|weight_delta JSON| CORE
    BR -->|delay routing| ZR
    BR -->|delay_matrix| CORE
    ANM -->|node manifest| NM
    NT -->|connectome_meta| ZR
    FC -.->|prune use| CORE
    LTM -.->|See stats| CORE
    SP -.->|apply mask| CORE

4.2 Inter-node correlation diagram (after connectome integration)

Indicates the strength of connections between nodes (thickness of arrows = connection density) based on HCP data.

graph TD
    subgraph "センシング・エンコーディング"
        CAM["camera"]
        MIC_S["microphone"]
        VIS["Visual Node<br/>[MICrONS V1]"]
        AUD["Auditory Node<br/>[FlyWire A1]"]
    end

    subgraph "認知・言語"
        SLM["Language SLM<br/>[HCP: Broca-Wernicke]"]
        SPAT["Spatial Node<br/>[MICrONS parietal lobe]"]
        RAG["RAG Index"]
    end

    subgraph "実行制御"
        PFC_N["PFC / Q-PFC<br/>[MICrONS dlPFC]"]
    end

    subgraph "記憶"
        EPI_N["Episodic Memory<br/>[C.elegans CA3 proxy]"]
        SEM_N["Semantic Memory<br/>[FlyWire mushroom body]"]
        MINT_N["Memory Integrator<br/>[MICrONS ACC]"]
    end

    subgraph "運動出力"
        MTR_N["Motor Node<br/>[MICrONS M1]"]
    end

    CAM -->|"HCP strength: 0.82"| VIS
    MIC_S -->|"HCP strength: 0.79"| AUD
    VIS ==>|"HCP: 0.91 (Strong)"| SPAT
    VIS -->|"HCP: 0.74"| SLM
    AUD -->|"HCP: 0.68"| SLM
    SPAT ==>|"HCP: 0.88 (strong)"| PFC_N
    SLM ==>|"HCP: 0.85 (Strong)"| PFC_N
    RAG --> PFC_N
    PFC_N ==>|"HCP: 0.93 (strongest)"| EPI_N
    PFC_N -->|"HCP: 0.71"| SEM_N
    EPI_N --> MINT_N
    SEM_N --> MINT_N
    MINT_N -->|"feedback"| PFC_N
    PFC_N ==>|"HCP: 0.86 (Strong)"| MTR_N

5. Connectome data integration pipeline

5.1 Data acquisition/conversion pipeline

flowchart LR
    subgraph "データソース"
        DS1["WormAtlas JSON<br/>C. elegans"]
        DS2["CAVE API<br/>FlyWire"]
        DS3["CAVEclient API<br/>MICrONS"]
        DS4["HCP S1200<br/>FSL tractography"]
    end

    subgraph "取得・前処理"
        A1["URL authentication (environment variable)"]
        A2["Neuron ID list<br/>Filtering"]
        A3["Get edge list<br/>(pre_id, post_id, strength)"]
        A4["E/I type tagging (exc/inh classification)"]
    end

    subgraph "変換処理"
        B1["Coordinate normalization (remapping to intra-node neuron ID)"]
        B2["Intensity scaling (α=0.1)"]
        B3["COO sparse tensor generation<br/>torch.sparse_coo_tensor()"]
        B4["Delay matrix calculation<br/>Distance ÷ Conduction velocity"]
    end

    subgraph "出力"
        C1["structural_mask<br/>bool sparse tensor"]
        C2["weight_init<br/>float sparse tensor"]
        C3["delay_buffer<br/>float dense tensor"]
        C4["ei_label_mask<br/>int8 tensor (+1/-1)"]
    end

    DS1 & DS2 & DS3 & DS4 --> A1 --> A2 --> A3 --> A4
    A4 --> B1 --> B2 --> B3 --> B4
    B3 --> C1 & C2
    B4 --> C3
    A4 --> C4

5.2 Automatic update pipeline (sync_connectome.py)

flowchart TD
    TRIGGER["Weekly cron job<br/>Every Monday 02:00 JST"]

    subgraph "差分検知"
        V_CHECK["CAVEclient.materialize<br/>Check version"]
        DIFF["Version difference calculation<br/>added / removed synapse"]
    end

    subgraph "デルタ処理"
        DELTA_COO["Differential COO matrix generation"]
        VALIDATE["E/I balance verification<br/>|R_new - 4.2| < 0.5?"]
        ROLLBACK["Rollback to previous version"]
    end

    subgraph "適用"
        APPLY["apply_weight_delta()<br/>(Phase D infrastructure diversion)"]
        BROADCAST["Delivery to target node via Zenoh"]
    end

    subgraph "検証"
        TEST["pytest:<br/>test_ei_balance()<br/>test_spike_rate()<br/>test_connectome_topology()"]
        REPORT["Verification report generation<br/>(Slack notification)"]
    end

    TRIGGER --> V_CHECK --> DIFF
    DIFF -->|There are differences| DELTA_COO --> VALIDATE
    DIFF -->|No difference| SKIP["Skip (log only)"]
    VALIDATE -->|OK| APPLY --> BROADCAST --> TEST --> REPORT
    VALIDATE -->|NG| ROLLBACK --> REPORT

6. Data flow design

6.1 Data flow during inference (after connectome integration)

flowchart LR
    subgraph "入力層"
        CAM_IN["camera input"]
        MIC_IN["microphone input"]
    end

    subgraph "スパイクエンコーディング"
        TAS_ENC["TAS encoding<br/>(rate encoding)"]
        DOG["Retinal DoG Filter<br/>V1 Gabor"]
        GAMMA["Cochlear Gammatone Filter"]
    end

    subgraph "構造制約付きSNN処理"
        LIF_V2["LIF Layer(Visual)<br/>W = A_V × w_scalar<br/>delay = delay_V"]
        LIF_A2["LIF Layer(Auditory)<br/>W = A_A × w_scalar"]
        CHRONO["ChronoSpikeAttention<br/>Time series spike attention"]
    end

    subgraph "統合・制御"
        PFC_PROC["PFC processing<br/>route_probs calculation<br/>Cognitive entropy H_t"]
        QPFC["Q-PFC<br/>Quantum modulation coefficient"]
    end

    subgraph "記憶アクセス"
        EPI_PROC["Episodic Memory<br/>(C. elegans structure)"]
        SEM_PROC["Semantic Memory<br/>(FlyWire mushroom body)"]
    end

    subgraph "出力"
        MTR_OUT["Motor Node<br/>Motor command output"]
        SPEECH_OUT["Speech Node<br/>Audio output"]
    end

    CAM_IN --> DOG --> TAS_ENC --> LIF_V2
    MIC_IN --> GAMMA --> TAS_ENC --> LIF_A2
    LIF_V2 -->|"Spike train + timestamp (PTP)"| CHRONO
    LIF_A2 -->|spike train| CHRONO
    CHRONO -->|caution weighted spikes| PFC_PROC
    PFC_PROC <--> EPI_PROC
    PFC_PROC <--> SEM_PROC
    QPFC <-->|feedback| PFC_PROC
    PFC_PROC -->|exercise command| MTR_OUT
    PFC_PROC -->|language command| SPEECH_OUT

6.2 Data flow during training (STDP + connectome constraints)

flowchart TB
    subgraph "スパイク発生"
        PRE["Presynaptic neuron firing<br/>Time t_pre"]
        POST["Postsynaptic neuron firing<br/>Time t_post"]
    end

    subgraph "STDP計算"
        DT["Δt = t_post - t_pre"]
        STDP_CALC["STDP law:<br/>Δw = A+ exp(-Δt/τ+) if Δt>0<br/>Δw = -A- exp(Δt/τ-) if Δt≤0"]
    end

    subgraph "構造制約適用"
        MASK_CHECK["structural_mask[i,j] ∈ {0,1}"]
        MASKED_DW["ΔW_ij = A_ij × ΔSTDP<br/>(Updates outside the mask are prohibited)"]
    end

    subgraph "E/Iバランス監視"
        EI_MON["E/I balance monitoring<br/>R = N_E/N_I"]
        EI_CLIP["Weight clip:<br/>W_I ≤ 0, W_E ≥ 0"]
    end

    subgraph "Meta-STDP最適化"
        META["L_meta = L_task + λ_E×E + λ_S×Var(r)"]
        APPLY_W["apply_weight_delta() via Zenoh"]
    end

    PRE & POST --> DT --> STDP_CALC
    STDP_CALC --> MASK_CHECK --> MASKED_DW
    MASKED_DW --> EI_MON --> EI_CLIP
    EI_CLIP --> META --> APPLY_W --> PRE

7. Control sequence

7.1 System initialization sequence (after connectome integration)

sequenceDiagram
    participant MAIN as main.py<br/>エントリポイント
    participant CONFIG as connectome_config.yaml
    participant LOADER as connectome_loader.py
    participant CAVE as CAVE API<br/>(外部)
    participant HCP as HCP Data<br/>(外部)
    participant CORE as LIFNeuronLayer<br/>core.py
    participant NODE as DistributedBrainNode
    participant ZENOH as Zenoh Router

    Note over MAIN,ZENOH: Phase E システム起動シーケンス

    MAIN->>CONFIG: load_config()
    CONFIG-->>MAIN: sources, node_mapping, version

    MAIN->>LOADER: initialize(config)

    par ミクロスケール取得(並列)
        LOADER->>CAVE: synapse_query(flywire_public)
        CAVE-->>LOADER: syn_df (pre_id, post_id, strength, type)
        LOADER->>LOADER: to_sparse_coo(syn_df, ei_labels)
    and マクロスケール取得(並列)
        LOADER->>HCP: load_tractography(S1200)
        HCP-->>LOADER: connectivity_matrix[29×29]
        LOADER->>LOADER: normalize_hcp_weights()
    end

    LOADER-->>MAIN: ConnectomeBundle{mask, weight, delay, ei_mask, hcp}

    loop 各ノードタイプ
        MAIN->>CORE: LIFNeuronLayer(connectome_topology=bundle[node_type])
        CORE->>CORE: structural_mask = bundle.mask.bool()
        CORE->>CORE: weight = nn.Parameter(bundle.weight * α)
        CORE->>CORE: delay_buffer = bundle.delay
        CORE->>CORE: ei_mask = bundle.ei_mask
        CORE-->>MAIN: 初期化完了
    end

    MAIN->>NODE: DistributedBrainNode.deploy(lif_layers)
    NODE->>ZENOH: advertise(connectome_meta=bundle.hcp_meta)
    ZENOH->>ZENOH: update_routing_table(hcp_weights)
    ZENOH-->>NODE: 優先ルート設定完了

    Note over MAIN,ZENOH: 起動完了 — コネクトーム制約付きSNN稼働開始

7.2 Connectome metadata utilization control sequence by PFC

sequenceDiagram
    participant EXEC as ExecutiveControlEngine<br/>PFC
    participant ZENOH as Zenoh Mesh
    participant VIS_N as Visual Node<br/>[MICrONS]
    participant EPI_N as Episodic Node<br/>[C.elegans]
    participant STDP_ENG as Meta-STDP Engine
    participant FC as ForgettingController

    Note over EXEC,FC: 通常推論サイクル(50msループ)

    EXEC->>ZENOH: subscribe("brain/*/spikes")
    ZENOH-->>EXEC: spike_burst[visual, t_ptp=T]
    ZENOH-->>EXEC: spike_burst[auditory, t_ptp=T]

    EXEC->>EXEC: compute_route_probs(spikes)
    EXEC->>EXEC: compute_H_t (cognitive entropy)

    alt H_t > H_threshold(高エントロピー = 新規事態)
        EXEC->>STDP_ENG: increase_plasticity(A+, A-)
        Note right of STDP_ENG: 構造マスク制約内で<br/>STDP強化
    else H_t ≤ H_threshold(低エントロピー = 習熟)
        EXEC->>STDP_ENG: decay_plasticity()
        EXEC->>FC: prune_weak_connections(threshold=connectome_density×0.1)
        Note right of FC: コネクトーム密度統計に<br/>基づく閾値でプルーニング
    end

    EXEC->>VIS_N: publish("brain/visual/attention", roi_mask)
    VIS_N->>VIS_N: apply_attention(roi_mask, structural_mask)
    VIS_N->>ZENOH: publish("brain/visual/spikes", filtered_spikes)

    EXEC->>EPI_N: publish("brain/episodic/encode", experience)
    EPI_N->>EPI_N: CA3_autoassociation(experience, elegans_mask)
    EPI_N-->>EXEC: memory_index

    EXEC->>STDP_ENG: apply_weight_delta(delta_int16)
    STDP_ENG->>ZENOH: broadcast_weight_update()

8. Information Sequence: Learning and Adaptation Cycle

8.1 Connectome data update sequence (weekly)

sequenceDiagram
    participant CRON as cronジョブ
    participant SYNC as sync_connectome.py
    participant CAVE as CAVE API
    participant LOADER as connectome_loader.py
    participant TEST as pytest suite
    participant NODES as DistributedBrainNodes
    participant ZENOH as Zenoh Mesh
    participant ALERT as 通知システム

    Note over CRON,ALERT: 毎週月曜 02:00 JST — 自動更新サイクル

    CRON->>SYNC: trigger()

    SYNC->>CAVE: get_version()
    CAVE-->>SYNC: version=v789

    SYNC->>SYNC: compare(current_version=v788, new=v789)

    alt 差分あり
        SYNC->>CAVE: get_diff(v788→v789)
        CAVE-->>SYNC: added_synapses[], removed_synapses[]

        SYNC->>LOADER: compute_delta_coo(added, removed)
        LOADER-->>SYNC: delta_tensor (COO format)

        SYNC->>SYNC: validate_ei_balance(delta)

        alt E/Iバランス OK(|R - 4.2| < 0.5)
            SYNC->>NODES: apply_weight_delta(delta_int16)
            NODES->>ZENOH: broadcast weights
            ZENOH-->>NODES: 確認応答

            SYNC->>TEST: run_regression()
            TEST-->>SYNC: results{spike_rate, ei_ratio, topology_match}

            alt テスト合格
                SYNC->>SYNC: commit_version(v789)
                SYNC->>ALERT: notify("✅ Connectome v789 application completed")
            else テスト失敗
                SYNC->>NODES: rollback(v788)
                SYNC->>ALERT: notify("❌ Test failure: rollback v788")
            end

        else E/Iバランス NG
            SYNC->>ALERT: notify("⚠️ E/I balance abnormality: Update skip")
        end

    else 差分なし
        SYNC->>ALERT: notify("ℹ️ No connectome data changes (v788)")
    end

8.2 EvoGenome × Connectome coevolution sequence (Phase E+)

sequenceDiagram
    participant EVO as 進化エンジン<br/>EvoGenome
    participant EVAL as 評価関数
    participant MASK as structural_mask<br/>(変異対象)
    participant CONN as connectome_loader.py<br/>(参照)
    participant LIF as LIFNeuronLayer
    participant PHYS as 生理的制約チェッカー

    Note over EVO,PHYS: Phase E+ — 構造マスクの進化的探索

    EVO->>EVO: generate_genome_population(n=100)

    loop 世代 g = 1..N
        EVO->>MASK: apply_genome(genome_g)
        Note right of MASK: ゲノムが接続のON/OFFを制御<br/>ただしコネクトーム範囲内に制限

        MASK->>CONN: validate_within_connectome_bounds()
        CONN-->>MASK: 境界外接続は強制OFF

        MASK->>PHYS: check_ei_balance()
        PHYS-->>MASK: R = N_E / N_I

        alt R ∈ [3.5, 5.0](生理的範囲)
            MASK->>LIF: update_structural_mask()
            LIF->>EVAL: run_simulation(T=1000ms)
            EVAL-->>EVO: fitness{task_score, spike_efficiency, bio_fidelity}
        else 生理的範囲外
            EVAL-->>EVO: fitness=0(ペナルティ)
        end

        EVO->>EVO: select_top_k(fitness)
        EVO->>EVO: crossover_and_mutate()
    end

    EVO->>EVO: deploy_best_genome()
    EVO->>LIF: apply final structural_mask
    Note over EVO,PHYS: 生物学的制約を満たす最適接続構造が収束

9. Mathematical model

9.1 Weight initialization with structural constraints

For the population of neurons \(\mathcal{N}_u = \{1, \ldots, N\}\) in node \(u\), the adjacency matrix \(\mathbf{A}^{(u)} \in \{0,1\}^{N \times N}\) and the connection strength \(\mathbf{S}^{(u)} \in obtained from connectome data Define \mathbb{R}_{\geq 0}^{N \times N}\).

The initial weight matrix \(\mathbf{W}^{(u,0)}\) is computed as follows:

\[W_{ij}^{(u,0)} = \begin{cases} s_{ij}^{(u)} \cdot \alpha \cdot e_{ij} & \text{if } A_{ij}^{(u)} = 1 \\ 0 & \text{if } A_{ij}^{(u)} = 0 \end{cases}\]

where: - \(s_{ij}^{(u)}\): Connection strength of connectome data (normalized) - \(\alpha = 0.1\): Scaling factor - \(e_{ij} \in \{+1, -1\}\): E/I label (+1: excitatory, -1: inhibitory)

9.2 STDP update rule with structural constraints

\[\Delta W_{ij}^{(u)} = A_{ij}^{(u)} \cdot \Delta_{\text{STDP}}(t_i, t_j)\]
\[\Delta_{\text{STDP}}(t_i, t_j) = \begin{cases} A_+ \exp\!\left(-\dfrac{t_j - t_i}{\tau_+}\right) & t_j > t_i \\ -A_- \exp\!\left(\dfrac{t_j - t_i}{\tau_-}\right) & t_j \leq t_i \end{cases}\]

If structure mask \(A_{ij}^{(u)} = 0\), there is no connection (update prohibited).

9.3 E/I balance constraints

Constrain the excitatory/inhibitory ratio of a neuron population:

\[\frac{N_E^{(u)}}{N_I^{(u)}} = R_{\text{connectome}}^{(u)}, \quad R_{\text{MICrONS}} \approx 4.2\]

Weight sign constraint:

\[W_{ij}^{(u)} \geq 0 \text{ if } e_{ij} = +1 \quad (\text{excitability})$$ $$W_{ij}^{(u)} \leq 0 \text{ if } e_{ij} = -1 \quad (\text{Inhibitory})\]

9.4 Synaptic delay model

Calculate synaptic delay \(d_{ij}\) from axon length \(\ell_{ij}\) and conduction velocity \(v\):

\[d_{ij} = \frac{\ell_{ij}}{v} + \delta_{\text{syn}}\]

where \(v \approx 1\text{–}10\ \text{m/s}\) (depending on unmyelinated/myelinated), \(\delta_{\text{syn}} \approx 0.5\text{–}2\ \text{ms}\) (synaptic delay).

9.5 Zenoh Routing Priority (HCP derived)

Define Zenoh routing priority \(p_{uv}\) between nodes \(u, v\) from HCP connection strength \(c_{uv}^{\text{HCP}}\):

\[p_{uv} = \frac{c_{uv}^{\text{HCP}}}{\displaystyle\sum_{w \neq u} c_{uw}^{\text{HCP}}}\]

A low-latency, high-bandwidth Zenoh path is assigned between a pair of nodes with a large \(p_{uv}\).

9.6 Meta-STDP objective function (with connectome constraints)

\[\mathcal{L}_{\text{meta}} = \mathcal{L}_{\text{task}} + \lambda_E \cdot E + \lambda_S \cdot \text{Var}(r) + \lambda_C \cdot \mathcal{D}_{\text{KL}}\!\left(\mathbf{W}_{\text{sparse}} \| \mathbf{W}_{\text{connectome}}\right)\]

The additional term \(\lambda_C \cdot \mathcal{D}_{\text{KL}}(\cdot)\) is a KL regularization term that suppresses the weight distribution after learning from deviating from the distribution of the connectome data (\(\lambda_C\) is typically \(0.01\)).


10. Implementation details: Integration into existing components

10.1 Changes to evospikenet/core.py

Add the following arguments/attributes to LIFNeuronLayer (maintaining backward compatibility):

class LIFNeuronLayer(nn.Module):
    def __init__(
        self,
        n_in: int,
        n_out: int,
        leak: int = 230,
        threshold: int = 1024,
        reset_potential: int = 0,
        # --- Phase E: New argument ---
        connectome_topology: Optional[torch.sparse.FloatTensor] = None,
        ei_mask: Optional[torch.Tensor] = None,
        delay_buffer: Optional[torch.Tensor] = None,
    ):
        super().__init__()
        self.leak = leak
        self.threshold = threshold
        self.reset_potential = reset_potential

        if connectome_topology is not None:
            # Structure mask (no slope required)
            self.register_buffer("structural_mask", connectome_topology.bool())
            # Initialize weights with connectome strength
            dense = connectome_topology.to_dense()
            if ei_mask is not None:
                dense = dense * ei_mask.float()  # E/I label applied
            self.weight = nn.Parameter(dense * 0.1)
        else:
            self.structural_mask = None
            self.weight = nn.Parameter(torch.randn(n_out, n_in) * 0.01)

        # E/I mask (used for weight sign constraints)
        self.register_buffer("ei_mask", ei_mask)
        # Synaptic delay buffer (in ms)
        self.register_buffer("delay_buffer", delay_buffer)

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        # Apply structural mask (zero for non-connected parts)
        if self.structural_mask is not None:
            effective_weight = self.weight * self.structural_mask.float()
        else:
            effective_weight = self.weight

        # E/I sign constraint
        if self.ei_mask is not None:
            effective_weight = torch.where(
                self.ei_mask > 0,
                effective_weight.clamp(min=0),   # Excitability: ≥0
                effective_weight.clamp(max=0),   # Inhibitory: ≤0
            )

        return F.linear(x.float(), effective_weight)

10.2 Changes to evospikenet/node_types.py

Add connectome metadata fields to NodeDescriptor:

@dataclass
class ConnectomeMeta:
    source: str               # "MICrONS-2023", "FlyWire-2024", etc.
    avg_indegree: float
    avg_outdegree: float
    ei_ratio: float           # Typical value: 4.2
    preferred_upstream: List[str]    # HCP-derived upstream node priority order
    preferred_downstream: List[str]  # HCP-derived downstream node priority order
    version: str              # "v789"

@dataclass 
class NodeDescriptor:
    node_type: str
    rank: int
    cortical_region: str
    # --- Phase E: New field ---
    connectome_meta: Optional[ConnectomeMeta] = None

10.3 config/connectome_config.yaml (new)

# config/connectome_config.yaml
# Connectome data source settings
# Manage authentication information with environment variables (never commit)

version: "2026-03-18"
update_schedule: "0 2 * * 1"  # Every Monday 02:00 JST

sources:
  c_elegans:
    type: wormatlas_json
    url: "https://wormwiring.org/si/neural_connectome.json"
    cache_path: "data/connectome/c_elegans.json"
    node_mapping:
      memory_spike: "CA3_proxy"   # Using C.elegans self-association circuit as a proxy for CA3

  flywire:
    type: cave_api
    dataset: "flywire_public"
    auth_token_env: "CAVE_AUTH_TOKEN"  # environmental variables
    node_mapping:
      visual: ["LC4", "T4", "T5", "medulla_columns"]
      auditory: ["JO-A", "JO-B", "JO-C"]
      semantic: ["mushroom_body_KC"]

  microns:
    type: cave_api
    dataset: "minnie65_public"
    auth_token_env: "MICRONS_AUTH_TOKEN"
    node_mapping:
      visual: ["L4", "L23", "L5"]
      spatial: ["posterior_parietal"]
      motor: ["M1_excitatory"]
      pfc: ["dlPFC_column"]

  hcp:
    type: tractography
    data_path: "data/connectome/hcp_s1200_connectivity.npz"
    atlas: "HCP_MMP1.0"
    # Inter-node connectivity matrix (29x29) used for Zenoh routing

validation:
  ei_ratio_tolerance: 0.5    # Tolerance of |R - 4.2|
  min_synapse_count: 100     # Minimum number of synapses per node
  spike_rate_range: [0.01, 0.3]  # Normal spike rate range

11. Verification strategy

11.1 Four layers of validation

graph TD
    subgraph "L1: 単体テスト"
        U1["test_structural_mask_init()<br/>Mask shape/sparseness"]
        U2["test_ei_constraint()<br/>Weight sign constraint"]
        U3["test_delay_buffer_shape()<br/>Delay buffer dimensions"]
    end
    subgraph "L2: 統合テスト"
        I1["test_connectome_stdp()<br/>Zero update outside mask confirmed"]
        I2["test_ei_balance_maintained()<br/>R≈4.2 even after training"]
        I3["test_zenoh_priority_routing()<br/>HCP priority route confirmation"]
    end
    subgraph "L3: 生理学的検証"
        P1["test_spontaneous_activity()<br/>Spontaneous firing rate 1-5Hz"]
        P2["test_gamma_oscillation()<br/>30-80Hz γ oscillation"]
        P3["test_place_cell_formation()<br/>Hippocampal place cell formation"]
    end
    subgraph "L4: システム検証"
        S1["test_full_brain_latency()<br/>E2E ≤ 200ms"]
        S2["test_connectome_rollback()<br/>Rollback in case of abnormality"]
        S3["benchmark_spike_efficiency()<br/>Before and after connectome comparison"]
    end

    U1 & U2 & U3 --> I1 & I2 & I3
    I1 & I2 & I3 --> P1 & P2 & P3
    P1 & P2 & P3 --> S1 & S2 & S3

11.2 Expected quantitative improvements

Indicators Phase D (current status) Phase E (target) Measurement method
Spike efficiency Baseline +15~25% Comparison of spike numbers for the same task
E/I balance convergence speed Indeterminate < 100 epochs Time series of weight distribution
Hippocampal reproducibility Spontaneous appearance of theta rhythm (4-8Hz) Episodic Node FFT
Connection pruning accuracy Random Connectome statistical error < 5% KL distance of connection density distribution
Zenoh delay (PFC-hippocampus) Homogeneous HCP connection density proportional RTT measurement

12. Discussion: Expected effects and challenges

12.1 Expected effect

1. Emergence of spontaneous neural dynamics

A network initialized with connectome data has topological properties such as small-world structure, modularity, and hub nodes. It has been theoretically shown that these induce physiological neural dynamics such as spontaneous gamma oscillations, theta rhythms, and sparse activity (Watts & Strogatz 1998, Bullmore & Sporns 2009). Phase E may allow these spontaneous organizations to be observed for the first time in EvoSpikeNet.

2. Improving transfer learning efficiency

Visual nodes initialized with FlyWire's sensory circuit structure are expected to converge on visual recognition tasks in fewer training steps than with random initialization (the inverse proposition of Zador et al. 2019's “brain structures encoded through learning”).

3. Structural suppression of catastrophic forgetting

Because the connectome topology structurally limits connections that can be learned and overwritten, it works synergistically with forgetting control by Meta-STDP, improving long-term memory stability.

12.2 Major challenges

Issues Risk level Countermeasures
Scale mismatch (real number of neurons >> EvoSpikeNet representation) High Subgraph sampling/spectral reduction
CAVE API rate limit (when acquiring a large amount) Medium Local cache/differential update
Interspecies differences in connectome (Drosophila→human) Medium Structural correspondence of homologous circuits (utilizing knowledge from the BMI field)
Memory overhead of delay buffer Low to moderate Sparse delay representation (keeps only non-zero delays)
Guaranteed convergence of EvoGenome coevolution Low Search space limited by physiological constraints

13. References/Related Documents

EvoSpikeNet internal documentation

Document Contents
docs/NEUROSCIENCE_BRAIN_SIMULATION_PAPER.md EvoSpikeNet whole brain simulation paper
docs/DISTRIBUTED_BRAIN_SYSTEM.md 29-node distributed architecture specification
docs/DISTRIBUTED_BRAIN_NODE_TYPES.md Node type and cortex correspondence table
docs/DISTRIBUTED_BRAIN_NODE_CONFIGURATION.md Node configuration/simulation type
docs/EVOSPIKENET_CONCEPTS.md LIF/Izhikevich/ChronoSpikeAttention details
docs/BIOMIMETIC_IMPLIMENTATION_PLAN.md Biomimicry Implementation Plan
docs-dev/connectome_evospikenet_implementation_policy.ja.md Policy document underlying this document
docs-dev/connectome_literature_review.ja.md Connectome Literature Review
docs-dev/connectome_updates_2021-2026.ja.md 2021–2026 Latest Research Trends
docs-dev/detailed_paper_summaries.ja.md Detailed summaries of 10 representative papers

Major connectome databases

Dataset Species Number of neurons Public API
C. elegans (Cook et al. 2019) Caenorhabditis elegans 302 WormAtlas JSON
FlyWire (Dorkenwald et al. 2024) Drosophila ~140,000 fafbseg-py, CAVEclient
MICrONS (Consortium 2021) Mouse V1 ~65,000 microns-explorer.org, CAVEclient
HCP S1200 Human Whole brain macro humanconnectome.org

Reference article (DOI)

Paper DOI
White et al. 1986 — C. elegans whole neural circuit https://doi.org/10.1098/rstb.1986.0056
Watts & Strogatz 1998 — Small World Network https://doi.org/10.1038/30918
Bullmore & Sporns 2009 — Brain Network https://doi.org/10.1038/nrn2575
Ronneberger et al. 2015 — U-Net https://doi.org/10.1007/978-3-319-24574-4_28
Januszewski et al. 2018 — FFN https://doi.org/10.1038/s41592-018-0049-4
MICrONS Consortium 2021 https://doi.org/10.1101/2021.07.28.454025
Dorkenwald et al. 2024 — FlyWire https://doi.org/10.1038/s41586-024-07558-y
Schlegel et al. 2024 — Drosophila development https://doi.org/10.1038/s41586-024-07763-9
Tavakoli et al. 2025 — LICONN (Nature) https://doi.org/10.1038/s41586-025-08985-1
Zador et al. 2019 — Innate knowledge and learning https://doi.org/10.1038/s41467-019-11786-6

Appendix A: Connectome Integration Checklist (Phase E Implementation Completion Record)

Phase E-0/E-1/E-2/E-3 実装完了チェックリスト(2026-03-19)
---------------------------------------------------------
✅ connectome_loader.py の実装(evospikenet/connectome_loader.py)
  ✅ load_json(): WormAtlas JSON のロードと COO 変換
  ✅ load_npz(): NPZ キャッシュからのロード
  ✅ save_npz(): NPZ キャッシュへの保存
  ✅ stratified_sample(): F-1 層別サンプリング(E/I 比保持)
  ✅ spectral_coarsen(): F-2 グラフラプラシアンスペクトル縮約
  ✅ load(): ETag + TTL キャッシュ制御
  ✅ read_etag() / write_etag(): ETag 差分管理
  ✅ _is_cache_expired(): TTL チェック

✅ ConnectomeLIFLayer の実装 (core.py)
  ✅ structural_mask バッファ登録(bool sparse COO テンソル)
  ✅ connectome_weight パラメータ
  ✅ attach_sparse_delay_buffer(): SparseDelayBuffer の装着
  ✅ validate_ei_ratio(): E/I 比バリデーション
  ✅ SNNModel.forward(): 遅延ルーティング(step_int16 経由)
  ✅ SNNModel.reset(): 遅延バッファリセット

✅ Phase E-2 新規モジュール
  ✅ evospikenet/connectome/node_mapping.py
      ✅ get_source_for_node()
      ✅ build_manifest()
      ✅ apply_to_layer()
  ✅ evospikenet/connectome/delay_buffer.py(SparseDelayBuffer)
      ✅ COO リングバッファ [max_delay+1, n_neurons]
      ✅ step() / step_int16() (_INT16_SCALE=512)
      ✅ from_connectome_data()
      ✅ reset() / to()
  ✅ evospikenet/zenoh_connectome_publisher.py
      ✅ ConnectomeMetadataPublisher
      ✅ トピック: connectome/metadata/{node_id}
      ✅ セッション=None でログオンリーモード
      ✅ build_payload() / publish() / close()

✅ テスト(合計 102 PASS)
  ✅ tests/test_connectome_loader.py: 30 pass / 2 fail / 4 skip
  ✅ tests/test_lif_structural_mask.py: 2 fail(既知不具合)
  ✅ tests/test_node_mapping.py: 18 pass
  ✅ tests/test_delay_buffer.py: 22 pass
  ✅ tests/test_zenoh_connectome_publisher.py: 30 pass

✅ 設定ファイル
  ✅ config/connectome_config.yaml 作成・チューニング済み
  ✅ .gitignore に認証情報パスを追加

✅ Phase E-3(実装完了)
  ✅ scripts/sync_connectome.py 自動更新パイプライン
      ✅ apply_delta(): weight_delta JSON のアトミック適用
      ✅ apply_delta_with_validation(): E/I 比バリデーション付き適用
      ✅ sync_connectome(): CAVE → structural_mask 全同期
      ✅ fetch_cave_synapses_with_retry(): リトライ付きフェッチ
      ✅ ConnectomeSyncValidationError 例外クラス
  ✅ evospikenet/brain_routing.py HCP Zenoh ルーティング最適化
      ✅ HCPDelayRouter: session=None ログオンリーモード対応
      ✅ compute_delay_matrix(): 遅延行列計算
      ✅ optimize_routing_delays(): ルーティング最適化
      ✅ build_hcp_routing_table(): HCP ルーティングテーブル構築
  ✅ scripts/auto_node_mapper.py 自動ノードマッパー
      ✅ map_connectome(): コネクトーム → ノードマッピング
      ✅ generate_manifest(): node_manifest.yaml 生成
      ✅ MappingResult / NodeMappingEntry データクラス
  ✅ EvoGenome ↔ structural_mask 共進化フック(evolution_engine.py E-3-2)
  ✅ テスト(合計 112 PASS / 1 SKIP)
      ✅ tests/test_auto_node_mapper.py: 6 pass
      ✅ tests/e2e/test_connectome_e2e.py: E-3 シナリオ 10 pass

⬜ Phase E-3-5(未着手)
  □ HCP DUC(Direct URL Cache)取得最適化
  □ 全脳 E2E バリデーション(spike efficiency +15–25%)

*This document is positioned as an academic and technical paper on EvoSpikeNet Phase E "Connectome Integration". Track implementation progress according to the roadmap in docs-dev/connectome_evospikenet_implementation_policy.ja.md. *

Copyright 2026 Moonlight Technologies Inc. All Rights Reserved. Author: Masahiro Aoki / Document ID: MT2026-AI-02-001