コンテンツにスキップ

EvoSpikeNet プロジェクト機能実装ステータス

Author: Masahiro Aoki

  • 最終更新日: 2026年5月6日

本ドキュメントは、Remaining_Functionality の記述を以下の順に再編したものです。

  1. 更新履歴
  2. 実装中・未実装
  3. 実装完了

判定基準(ソースコード準拠)

  • 実装完了: リポジトリ内に実装が存在し、少なくとも unit/integration/e2e のいずれかで利用可能。
  • 実装中: プレースホルダ、部分実装、統合待ち、本番化/最適化の未完了項目がある。
  • 未実装: 実装が存在しない、または外部契約・運用手続きが完了条件でコードだけでは完了とみなせない。

1. 更新履歴

1.1 運用ハードニング更新(2026-04-24)

  • evospikenet.api は PyTorch 非搭載時の疑似縮退起動を廃止し、fail-fast 起動に変更。
  • 動画解析は VIDEO_ANALYSIS_FAIL_CLOSED=true で real backend が満たせない場合に起動拒否。
  • 縮退応答に source_backend / fallback_reason / quality_level / degraded を返却。
  • AvailabilityMonitor は import 時に監視スレッドを自動起動しない仕様へ変更。
  • strict mode (EVOSPIKENET_STRICT_FUNCTIONAL_MODULES=true) で欠落 genome/chromosome/topology を黙って補完しない仕様へ変更。

1.2 Video Scene Analysis 追加(2026-04-22)

  • API:
  • POST /analyze/video
  • GET /results/{job_id}
  • パイプライン:
  • フレーム抽出、音声抽出、検出器推論、Whisper STT、イベントマージ、日本語ナラティブ生成
  • SDK:
  • VideoSceneSDK(同期)
  • VideoSceneAsyncSDK(非同期)
  • テスト:
  • API 入力検証
  • SDK 同期/非同期ユニットテスト

1.3 Phase E コネクトーム統合(2026-03-18〜2026-03-19)

  • E-0: 設計・スキーマ・設定・テスト雛形を追加。
  • E-1/E-2: connectome_loader.pynode_mapping.pydelay_buffer.pyzenoh_connectome_publisher.py を実装。
  • E-3(内部実装): sync_connectome.pybrain_routing.pyauto_node_mapper.py、E2E バリデーションを実装。

1.4 Phase D 分散ノード統合(2026-03-11)

  • BrainSimulation 互換エイリアス追加。
  • InstantiatedBrain.apply_weight_delta() 実装。
  • DistributedBrainNode.deploy_genome() 実装。
  • DistributedEvolutionEngine.deploy_to_nodes() 実装。

1.5 生物模倣統合(2026-03-06/09)

  • Phase A/B 完了。
  • Phase C(C-1〜C-4)完了。
  • Biomimetic API、SDK 連携、distributed_brain 統合を拡張。

1.6 EEG/セキュリティ修正(2026-03-05)

  • comparative_analysis.py の数値安定化。
  • eeg_translator.pyspectrum_converter.pydevice_interface.py の互換性修正。
  • OPA 拒否時の HTTP 403 判定を明確化。

1.7 実装更新(2026-05-06)

  • 動画解析: prod/staging 既定 fail-closed、バックエンド起動チェック、DeepSORT adapter を反映。
  • EEG: gRPC ストリーミング定義(eeg_streaming_pb2.py / eeg_streaming_pb2_grpc.py)を追加。
  • Embodied PLA: ROS2 接続の _ROSRobotInterface 実装を反映。

1.8 ドキュメント履歴

日付 バージョン 変更概要
2026-02-02 v1.0 Remaining_Functionality.md 新規作成
2026-02-25 v1.1 生物模倣 11-1〜11-19 と実装計画を整理
2026-03-18 v1.2 Phase E(Section 17)と設計成果物を追加
2026-03-19 v1.3 E-0/E-1/E-2 完了反映
2026-03-19 v1.4 E-3 内部実装完了反映
2026-04-24 v2.0 本再編版(更新履歴→実装中・未実装→実装完了)
2026-04-25 v2.1 2.1.1 機能モジュール層を実装完了へ移管
2026-04-25 v2.2 2.1.2 Embodied PLA ループを実装完了へ移管
2026-04-25 v2.3 2.1.4 分散ファサード層 / 2.1.5 LLM学習フックを実装完了へ移管
2026-04-25 v2.4 2.1.9 Foundation拡張 / 2.1.10 言語バインディング基盤を実装完了へ移管
2026-04-27 v2.5 3.21 GPU/CPU デバイス整合性修正(AEG / ClosedLoopController)と SDK-URL 全ファイル置換を実装完了へ追加
2026-04-27 v2.6 3.22 Evaluate_System.md 全未対応項目の実装(ALERT-001 / TEST-001 / TYPE-001 / MOCK-001 残件 / tasks.py High / IoU Low / translator Low / CRED-001 確認)を追加
2026-05-01 v2.7 4.1 モック/プレースホルダ検出点の fail-closed 化・可観測性強化(通信、互換API、動画解析、PFC、時刻同期、サービスfallback、test-status)を反映
2026-05-06 v2.8 動画解析の strict/backends 更新、EEG gRPC 定義追加、ROS2 連携反映

2. 実装中・未実装

2.1 実装中(部分実装・プレースホルダを含む)

2.1.1 動画解析の本番バックエンド統合(部分実装)

  • 対象: evospikenet/video_analysis/backends.pyevospikenet/video_analysis/asr.py
  • 状態:
  • MoveNetRealPoseBackend / STGCNRealActionBackend / WhisperRealASRBackend の real backend 分岐は実装済み。
  • 依存やモデル未配置時は stub/fallback を使用。
  • 未完了ポイント:
  • 本番モデル配備・運用監視・SLO 検証の完了が必要。

2.1.2 型安全性完全化(継続中)

  • 対象: Feature 12 一式
  • 状態:
  • 型ヒント追加、mypy 設定、CI 連携は実装済み。
  • ただし型エラー収束は継続中(段階的改善フェーズ)。

2.1.3 空間生成高精度化と高速化(継続中)

  • 対象:
  • evospikenet/services/spatial_generation_service.py
  • evospikenet/spatial/recognition.py
  • evospikenet/spatial/generation.py
  • evospikenet/spatial/attention.py
  • 状態:
  • 基本サービス、/generate/quantum/infer、高精度モード切替は実装済み。
  • 50ms/ノード閾値の最終最適化と本番チューニングが継続中。

2.1.4 セキュリティ運用統合(継続中)

  • 対象: evospikenet/security.pyevospikenet/foundation_extensions.py
  • 状態:
  • APIキー認証、レート制限、mTLSヘッダ検証、証明書ローテーション関数は実装済み。
  • 保存時暗号化/KMS/Secrets 連携の本番運用設計(Vault連携、ローテーションデーモン)は継続中。

2.2 未実装・未着手

2.2.1 外部手続き依存

  • E-3-5 HCP DUC 取得手続きとデータ配置(data/hcp/ 連携)は外部契約/手続き依存で未着手。

2.2.2 長期研究テーマ(計画段階)

  • 量子実機連携(IBM Quantum / Google Quantum)
  • ハイブリッド量子-古典システムの本番運用
  • BMI/BCI 双方向閉ループ統合(EEG→Brain Language 基盤は実装済み)
  • ロボット実機評価パイプライン(オンライン進化含む)
  • クラウド/エッジ混在の自動オーケストレーション高度化(分散基盤は実装済み)
  • 数千ノード本番運用の大規模分散実証

2.2.3 拡張テーマ(未着手中心)

  • バイアス検出と緩和の本番運用化
  • 倫理的評価フレームワークの運用統合
  • 嗅覚/味覚センサー統合
  • 生体センサー統合の高度化
  • 継続学習・記憶管理の高度化(大規模運用最適化、戦略高度化、自動パラメータ最適化)

3. 実装完了

3.1 コアSNNエンジン

  • ニューロン層:
  • LIFNeuronLayer
  • IzhikevichNeuronLayer
  • EntangledSynchronyLayer
  • シナプス管理:
  • SynapseMatrixCSR
  • アテンション:
  • ChronoSpikeAttention
  • 符号化:
  • TAS-Encoding
  • RateEncoder

3.2 学習・可塑性

  • STDP
  • Meta-STDP
  • Homeostasis
  • MetaPlasticity
  • EnergyManager
  • EnergyConstrainedPlasticityController
  • Surrogate gradients
  • HierarchicalPlasticityController

3.3 分散処理・通信

  • Zenoh 非同期通信基盤
  • PFC 認知制御ルーティング
  • Raft 合意形成
  • ノード発見・クリーンアップ
  • 負荷分散・動的容量管理
  • 地理的分散ノード管理 (GeoNodeManager)
  • 通信圧縮フレームワーク (compression.py + CUDA ラッパ)

3.4 コネクトーム統合(Phase E)

  • E-0: 設計/スキーマ/設定/テスト雛形
  • E-1: connectome_loader.pyConnectomeLIFLayer
  • E-2: node_mapping.pySparseDelayBufferConnectomeMetadataPublisher
  • E-3(内部実装): sync_connectome.pybrain_routing.pyauto_node_mapper.py、E2E 検証

3.5 脳機能シミュレーション

  • 機能モジュール(視覚/聴覚/言語/音声/運動/計算)
  • フェデレーティッド学習(Async-FedAvg)
  • Embodied PLA 統合ループ
  • 継続学習と記憶管理(基盤):
  • LongTermMemoryModule
  • EpisodicMemory の記憶保持/統合/忘却処理
  • MemoryIntegratorNode
  • ForgettingController
  • 記憶ノード:
  • EpisodicMemoryNode
  • SemanticMemoryNode
  • MemoryIntegratorNode

3.6 生物模倣機能(11-1〜11-19)

以下はソース確認で実装完了を確認済み。

  • 11-1 遅延・脳波リズム
  • 11-2 細胞・シナプス多様化
  • 11-3 層状・階層トポロジ
  • 11-4 調節物質ゲーティング
  • 11-5 記憶システム拡張
  • 11-6 感覚・運動クローズドループ強化
  • 11-7 エネルギー・ホメオスタシス
  • 11-8 発達ダイナミクス
  • 11-9 意図表現モジュール
  • 11-10 創造性生成
  • 11-11 自己認識/内省
  • 11-12 動的目標選択
  • 11-13 感情システム
  • 11-14 睡眠フェーズ記憶固定
  • 11-15 ミラーニューロン
  • 11-16 アセチルコリン系
  • 11-17 NAcc/VTA 報酬ループ
  • 11-18 DMN 専用モジュール
  • 11-19 カリキュラム学習スケジューラ

3.7 Feature 13 高度空間認知・生成

  • SpatialWhereNode(Where 経路)
  • SpatialWhatNode(What 経路)
  • SpatialIntegrationNode(What-Where 統合)
  • SpatialAttentionControlNode(注意制御)
  • 分散脳(Rank 12-15)統合と関連テスト一式

3.8 Feature 20 動画情景描写・3D空間認識・音声テキスト化

実装済みモジュール:

  • event_schema.py(統一イベントスキーマ)
  • shot_boundary_detector.py
  • vad.py
  • depth_estimation.py
  • spatial_relations.py
  • narrative_generator.py
  • temporal_action_localizer.py
  • pose.py
  • tracking.py
  • action_recognition.py
  • asr.py
  • asr_policy.py
  • fusion.py
  • pipeline.py
  • backends.py
  • backends_real.py
  • postprocess.py
  • postprocess_polite.py
  • job_queue.py
  • privacy.py
  • metrics.py
  • runtime_metrics.py

API/SDK 実装済み:

  • evospikenet/api_modules/video_analysis_api.py
  • evospikenet/video_analysis/worker.py
  • evospikenet.sdk.video_sdk.VideoSceneSDK
  • evospikenet.sdk.video_sdk.VideoSceneAsyncSDK

3.9 EEG統合

  • データ変換/解析:
  • spike_extractor.py
  • eeg_converter.py
  • spectrum_converter.py
  • ストリーミング/時刻同期:
  • streaming.py
  • eeg_streaming_pb2.py
  • eeg_streaming_pb2_grpc.py
  • time_sync.py
  • デバイス統合:
  • OpenBCI / Muse / Emotiv / Neurosky ドライバ
  • Brain Language 変換:
  • eeg_translator.py
  • brain_language_decoder.py(scaffold + ベンチ/学習ステップ含む)

3.10 RAG・文書管理

  • rag_milvus.py / rag_backends.py / rag_client.py
  • PDF/Word/Excel/PPT/Markdown 取り込み
  • バージョン履歴・差分・ジョブ監視
  • 大容量アップロードの分割/バックグラウンド処理

3.11 UI・API・SDK

  • Dash UI / 進化ダッシュボード / 3D可視化
  • FastAPI ベース API 群
  • Python SDK(型安全、Jupyter 連携)
  • 追加言語プロキシ SDK:
  • Go (sdk_go.py)
  • TypeScript (sdk_ts.py)
  • Swift (sdk_swift.py)

3.12 セキュリティ・監視・運用

  • API Key 認証
  • レート制限
  • CORS 制御
  • SpikeEncryption(PSK/DH/AES-256-GCM)
  • 監査ログ (audit_log.py)
  • 自動復旧 (auto_recovery.py)
  • Prometheus 連携監視
  • CI/静的解析/カバレッジ基盤

3.13 特許技術実装(MT25-EV001〜MT25-EV030)

  • 旧台帳の MT25-EV001〜MT25-EV030 は、ソース上の対応モジュール実装を確認済み。
  • 代表対応:
  • ChronoSpikeAttention
  • TAS-Encoding
  • Quantum PFC / Q-PFC Loop
  • Energy Plasticity
  • Embodied PLA
  • Conscience Circuit
  • SNN-RAG Hybrid
  • Spike Encryption
  • 睡眠/調節物質/発達/創造性/内省/目標選択/共進化など

3.14 その他完了項目

  • センサー統合プラグイン機構(USB/ステレオ/IR/ONVIF/LiDAR/環境/GPIO/音声)
  • markdown_parser.py を含む文書パーサ拡張
  • quantum/quantum_interface.py プロキシ
  • distributed_brain_executor.py の BiomimeticAdapter 統合
  • 通信ラッパー改善 (communication.py, zenoh_comm.py)

3.15 機能モジュール層(evospikenet/functional_modules.py

  • VisualModule / AuditoryModule / SpeechGenerationModule / WordEmbeddingLayer / TAS_Encoder / FunctionalModuleManager の実装と管理機構を確認。
  • docstring TODO(TODO: document this function/class)は解消済み。
  • EdgeDetector.forward() は Sobel ベースエッジ抽出へ更新済み。
  • MFCCExtractor.forward() は STFT + DCT ベースの MFCC 近似抽出へ更新済み。
  • AuditoryModule は 1D Conv ベース音声エンコーダを実装済み。
  • SpeechGenerationModule / WaveformSynthesizer は ConvTranspose1d ベース波形デコード経路を実装済み。
  • functional_modules.py 内の「In a real implementation ...」注記は解消済み。
  • MilvusRetrieverEVOSPIKENET_MILVUS_URI 等と依存が存在する場合は Milvus 検索を使用し、未設定時はローカル fallback retrieval を使用。
  • 補足:
  • pass は抽象基底クラス FunctionalModuleBase.forward() の抽象メソッド宣言であり、欠落バグではない。
  • MilvusRetriever の Milvus 接続経路と失敗時フォールバック経路は tests/unit/test_functional_modules_milvus.py で検証済み。

3.16 Embodied PLA ループ(evospikenet/embodied_pla_loop.py

  • PerceptualLanguageEncoder / LanguageActionDecoder の重複スタブ定義を整理し、主実装のみを有効化。
  • SNNベース視覚処理を Rank1-9 に実装(SNNConv2d / LIF近似処理を統合)。
  • 音声/NLP 実運用経路として SpikingLanguageDecoder を統合し、ルールベースとのハイブリッド推論を実装。
  • 逆運動学/小脳協調/PWM 変換を TrajectoryPlanner / CerebellumCoordinator と接続。
  • 実ロボット連携の抽象化として _RobotInterface を導入し、_MockRobotInterface / _ROSRobotInterface を実装。
  • 順運動学ベースの現在位置推定を実装し、idle 行動を no-op 成功として制御ループ継続性を確保。
  • vocab_table.json の探索をパッケージ相対パス優先に修正(Docker 固定パス依存を解消)。
  • 検証:
  • tests/unit/test_embodied_pla_loop.py にて、クローズドループのハング修正。
  • 同ファイルに以下の新規検証を追加:
    • SNN視覚 Rank1 出力検証
    • 音声/NLP 統合デコーダ検証
    • 逆運動学→小脳協調→PWM フロー検証
    • ロボットIFモード切替検証
  • 実行結果: pytest tests/unit/test_embodied_pla_loop.py tests/unit/test_embodied_pla_phase_modules.py -q -o addopts='' で 20 passed。

3.17 分散ファサード層(evospikenet/distributed.py

  • 研究向け lightweight facade を、実運用寄りの依存軽量ファサードへ拡張。
  • ZenohCommunicator に以下を実装:
  • send_message / receive_message
  • publish / subscribe
  • encode_message / decode_message
  • close
  • NodeDiscoveryService にノード台帳とヘルス管理を実装:
  • register_node / discover_nodes
  • update_node_status / heartbeat
  • get_failed_nodes
  • DistributedLoadBalancer に実負荷ベース配分を実装:
  • register_node / assign_task
  • mark_task_done / handle_node_failure
  • SnapshotManager にスナップショット生成・復元を実装:
  • create_snapshot
  • restore_from_snapshot
  • DistributedBrainNetwork をランダム出力から安定再現可能な推論へ改善(形状正規化 + 決定論的投影 + ノード数ゲイン)。
  • DistributedManager の通信/計算コストモデルを改良(単純比例モデルから非線形スケーリングへ)。
  • 検証:
  • tests/unit/test_distributed_facade.py 新規追加
  • 実行結果: pytest tests/unit/test_distributed_facade.py -q -o addopts='' 通過

3.18 LLM バックエンド学習フック(evospikenet/llm_backend.py

  • 推論経路(デバイス不一致時 CPU リトライ)を維持しつつ、train() を実行可能フックへ強化。
  • train() の実装強化:
  • dataset_path 存在検証
  • trainer=spiking|standard による学習スクリプト解決
  • CLI 引数組み立て(epochs / batch_size / learning_rate など)
  • dry_run サポート
  • subprocess 実行結果の要約返却(exit code, stdout/stderr tail)
  • timeout 処理(終了コード 124)
  • これにより、外部スクリプト運用前提を保ちながら、SDK/API から安全に学習起動可否を判定可能化。
  • 検証:
  • tests/unit/test_llm_backend.py 新規追加
  • 実行結果: pytest tests/unit/test_llm_backend.py -q -o addopts='' 通過

3.19 Foundation拡張機能(evospikenet/foundation_extensions.py ほか)

  • バイアス緩和運用化:
  • BiasMitigationEngine / BiasMitigationResult を実装。
  • Demographic parity / Equal opportunity gap の算出と、閾値超過時の軽量 reweighing を実装。
  • 倫理評価運用化:
  • EthicsComplianceEvaluator / EthicsEvaluationResult を実装。
  • 安全・プライバシー・公平性・人間オーバーライドの運用ゲートを実装。
  • 大規模マルチエージェント協調:
  • ScalableMultiAgentCoordinator を実装。
  • shard 分散による経験蓄積・集約・推薦を実装。
  • 嗅覚/味覚/生体センサー統合:
  • MultiModalSensorData / MultiSensoryToBrainLanguageAdapter を実装。
  • 触覚既存経路と olfactory/gustatory/biosignal の融合ベクトル化を実装。
  • API 拡張:
  • /api/foundation/bias-mitigation/evaluate
  • /api/foundation/ethics/evaluate
  • /api/foundation/social/scale
  • 検証:
  • tests/unit/test_foundation_extensions.py に bias/ethics/scalable social の unit テスト追加
  • tests/integration/test_foundation_api_integration.py に新規 API の integration テスト追加
  • tests/unit/test_tactile_to_language.py に multisensory adapter テスト追加

3.20 言語バインディング・逆コンパイル基盤(sdk_* / brain_language_decoder.py

  • 各言語 SDK 配布雛形の自動生成を追加:
  • export_go_sdk_package() (go.mod 生成)
  • export_ts_sdk_package() (package.json / dist/* 生成)
  • export_swift_sdk_package() (Package.swift / Sources / Tests 生成)
  • Swift プロキシ専用 unit テスト追加:
  • tests/unit/test_sdk_swift_stub.py
  • Brain Language 逆コンパイル運用評価を強化:
  • BrainLanguageDecoder.integrate_pretrained_artifacts()
  • BrainLanguageDecoder.evaluate_dataset()
  • 検証:
  • tests/unit/test_sdk_stubs.py に package export テスト追加
  • tests/unit/test_brain_language_decoder.py に pretrained 統合 + dataset 評価テスト追加

3.21 GPU/CPU デバイス整合性修正(2026-04-27)

3.21.1 AEG デバイス alignment(BUG-CPU-001)

  • 対象: evospikenet/control.pyAEG クラス
  • 問題: __init__ 内の 4 つの状態テンソルが register_buffer なしで定義されていたため、モジュールを .to(device) / .cuda() で移動しても当該テンソルはデバイス移動せずデバイス不一致エラーが発生していた。また、reset_statistics()update() 前に呼ぶと AttributeError が生じるケースもあった。
  • 修正内容:
  • self.energytorch.ones(num_neurons))→ register_buffer("energy", ...)
  • self.load_historytorch.zeros(100))→ register_buffer("load_history", ...)
  • self.total_spikes_processed(Python int)→ register_buffer("total_spikes_processed", torch.zeros(1, dtype=torch.long))
  • self.total_energy_saved(Python float)→ register_buffer("total_energy_saved", torch.zeros(1))
  • get_power_statistics() 内の比較を if self.total_spikes_processed > 0:.item() > 0 に変更(tensor bool 変換 UserWarning 解消)
  • 検証:
  • tests/unit/test_fail_closed_regressions.py に以下を追加:
    • test_aeg_buffers_move_with_module_to_cpu
    • test_aeg_buffers_move_with_module_to_cuda(CUDA 利用可能時のみ実行)
    • test_aeg_reset_statistics_before_any_update
    • test_aeg_get_power_statistics_before_any_update
  • CPU(CUDA_VISIBLE_DEVICES=''): 17 passed, 2 skipped / GPU(CUDA_VISIBLE_DEVICES=0): 19 passed

3.21.2 ClosedLoopController デバイス自動移動(BUG-CPU-002)

  • 対象: evospikenet/control.pyClosedLoopController.forward()
  • 問題: モデルが GPU に移動済みでも入力テンソル(sensor_inputtarget)と内部バッファ(integralprev_errorspike_buffer)が CPU のままデバイス不一致エラーが発生していた。
  • 修正内容:
  • forward() 先頭で model_device = next(self.controller_net.parameters()).device を取得し、sensor_input / target / 内部バッファ 3 本を .to(model_device) で自動移動。
  • 検証:
  • tests/unit/test_fail_closed_regressions.py に以下を追加:
    • test_closed_loop_controller_cpu_gpu_input_alignment
    • test_closed_loop_controller_moves_cpu_inputs_to_cuda(CUDA 利用可能時のみ実行)
  • 全テスト結果: CPU 17 passed / GPU 25 passed(既存テスト含む)

3.21.3 SDK-URL 全ファイル一括置換(Sprint-2 SDK-URL)

  • 対象: リポジトリ全体の future_apps/ 配下 40+ ファイル
  • 内容: ハードコードされた http://localhost:8000 等の URL を環境変数参照(EVOSPIKENET_SDK_URL 等)に置換する tools/replace_sdk_url.py を実行済み。
  • 状態: grep -R "http://localhost:8000" . でヒットなし(ドキュメント・コメント除く)を確認。

3.21.4 AvailabilityMonitor 遅延初期化(MONITOR-001)

  • 対象: evospikenet/availability_monitor.pyAvailabilityMonitor
  • 内容:
  • autostart=False デフォルトにより、import 時に監視スレッドが自動起動しない。
  • EVOSPIKENET_AVAIL_MONITOR_LAZY=true 環境変数でも遅延化を制御可能。
  • EVOSPIKENET_HEALTH_URL 環境変数によるヘルスエンドポイント設定(FALLBACK-004)も実装済み。
  • 状態: ソース確認済み・テスト通過済み。

3.21.5 Evaluate_System.md ソース対照監査

  • Evaluate_System.md の全ステータス(✅ / ❌ / 🔄)をソースコードと照合し修正:
  • Sprint-2 SDK-URL: ❌ → ✅
  • Sprint-3 MONITOR-001: ❌ → ✅
  • BUG-005(hidden_size ONNX): ✅ → 🔄(TensorRT パスは GPU 専用クラスなので .cuda() は適切であり完全修正ではなく部分対応)
  • BUG-CPU-001 / BUG-CPU-002: 新規エントリ追加
  • セクション 9「GPU/CPU デバイス整合性検証サマリー」新規追加

3.22 Evaluate_System.md 全未対応項目の実装(2026-04-27)

3.22.1 統一アラートモジュール(ALERT-001)

  • 対象: evospikenet/alerting.py(新規作成)
  • 内容:
  • Slack Incoming Webhook / PagerDuty Events API v2 / SMTP メール の 3 チャンネルを統一した公開 API を実装。
  • send_alert(message, level, component, details)Dict[str, bool]
  • send_fallback_alert(component, reason, details) — フォールバック定型アラート
  • send_critical_alert(component, message, details) — Critical 障害アラート
  • 各チャンネルの有効化は環境変数で制御:
    • EVOSPIKENET_SLACK_WEBHOOK_URL — Slack Webhook URL
    • EVOSPIKENET_PAGERDUTY_ROUTING_KEY — PagerDuty ルーティングキー
    • EVOSPIKENET_ALERT_EMAIL_TO / EVOSPIKENET_ALERT_EMAIL_FROM / EVOSPIKENET_ALERT_SMTP_HOST / EVOSPIKENET_ALERT_SMTP_PORT — SMTP 設定
    • EVOSPIKENET_ALERT_CHANNELS — 有効チャンネルの明示指定(カンマ区切り)
  • チャンネル未設定時は logger.warning にフォールバック(例外を投げない)。
  • 検証: python -c "from evospikenet.alerting import ..." で 3 関数すべて正常動作(チャンネル未設定 → {} 返却、logger.warning 出力)を確認済み。

3.22.2 SDK モックパッケージ(TEST-001)

  • 対象: future_apps/tools/evospikenet_sdk_mock/(新規パッケージ)
  • 内容:
  • __init__.pyMockServer(port) クラス: start() / stop() / base_url プロパティ
  • server.py — FastAPI アプリ: /api/health / /v1/evolve / /v1/predict / /v1/spatial/generate / /v1/spatial/infer / /v1/sessions/{id} / catch-all を実装
  • conftest.py — pytest fixtures: evospikenet_mock_server(session scope)/ evospikenet_mock_url
  • pyproject.toml — installable パッケージ、evospikenet-mock CLI エントリポイント
  • tests/test_sdk_mock.py — 6 テスト(import、全ルート確認、health、evolve、catch-all)
  • 用途: CI 環境で EVOSPIKENET_API_URL=http://localhost:18000 を向けてテスト実行。本番コードへの Mock 混入を防止。
  • 検証: pytest future_apps/tools/evospikenet_sdk_mock/tests/ -q6 passed

3.22.3 GPUAdapter TensorRT hidden_size 修正(TYPE-001)

  • 対象: evospikenet/universal_integration.pyGPUAdapter.convert_format()
  • 問題: TensorRT コンパイル時のダミー入力が torch.randn(1, 768).cuda() にハードコードされており、hidden_size が 768 以外のモデルで形状不一致が発生。
  • 修正内容:
    _hidden = 768
    try:
        _hidden = int(getattr(getattr(model, 'config', None), 'hidden_size', _hidden))
    except Exception:
        pass
    model = torch_tensorrt.compile(model, inputs=[torch.randn(1, _hidden).cuda()])
    
  • 状態: ソース修正済み。BUG-005 / TYPE-001 は完全対応済みとして Evaluate_System.md を更新。

3.22.4 JobQueue 移行警告(MOCK-001 残件)

  • 対象: evospikenet/video_analysis/job_queue.pyJobQueue.__init__
  • 内容: JobQueue は in-memory のみのレガシークラス。本番相当の VideoAnalysisJobStore(Redis / SQLite / JSON フォールバック対応済み)への移行を促す logger.warning を追加。
  • 状態: Evaluate_System.md の MOCK-001 残件を ✅ に更新済み。

3.22.5 mineral_exploration タスク警告強化(tasks.py High)

  • 対象: future_apps/mineral_exploration/workers/tasks.py
  • 問題: preprocess_task / predict_task がプレースホルダー出力(.tif テキストファイル、"0\n" ファイル)を使用しているにもかかわらず、ダウンストリームに品質低下が伝わらない。
  • 修正内容:
  • preprocess_task: logger.warning("[preprocess_task][job=%s] Using placeholder stack...") を追加し、結果に "synthetic": True / "warning": "..." フィールドを追加。
  • predict_task: 同様に logger.warning"synthetic": True / "warning": "..." フィールドを追加。
  • 状態: API 消費者が result["synthetic"] を確認してデータ品質低下を検知可能になった。

3.22.6 IoU 例外ログ追加(Low — video_scene_app)

  • 対象: future_apps/video_scene_app/main.py_iou() 関数
  • 内容: except Exception ブロックを except Exception as _e: に変更し、logger.debug("_iou: failed to compute IoU for boxA=%s boxB=%s — %s", boxA, boxB, _e) を追加。
  • 状態: 除算失敗時のデバッグが容易になった。

3.22.7 翻訳サービス ニューラルエンジン統合(Low — translator)

  • 対象: future_apps/real_time_language_translation/src/services/translator.py
  • 問題: アプリ名が "real_time_language_translation" であるにもかかわらず実装がルールベースのみ。
  • 修正内容:
  • _load_neural_backend(src_lang, tgt_lang) 関数を追加(global キャッシュ付き遅延ロード)。Helsinki-NLP/OPUS-MT の MarianTokenizer + MarianMTModel を使用。
  • Translator.translate() 内で EVOSPIKENET_TRANSLATION_BACKEND=neural 環境変数が設定されている場合にニューラル翻訳を試行し、失敗時はルールベースにフォールバック。
  • レスポンス metadata"engine": "neural" | "rule" フィールドを追加。
  • 依存: transformers 未インストール時はルールベースに自動フォールバック(例外なし)。

3.22.8 Evaluate_System.md 全ステータス反映

  • 上記 3.22.1〜3.22.7 の実装完了に伴い Evaluate_System.md を更新:
  • Sprint-3: ALERT-001 / TEST-001 / CRED-001 を ❌ → ✅
  • Sprint-4: TYPE-001 を ❌ → ✅
  • Section 3 MOCK-001 残件 (job_queue.py) を ❌ → ✅
  • Section 4 workers/tasks.py High を ❌ → ✅
  • Section 4.14 IoU Low を 🟢 → ✅
  • Section 4.15 translator.py Low を 🟢 → ✅
  • BUG-005 / TYPE-001(Section 8 サマリー)を 🔄 → ✅
  • ドキュメント先頭更新ノートに v2 追記

3.23 4.1 モック/プレースホルダ検出点の改善(2026-05-01)

3.23.1 通信 fallback の fail-closed 制御

  • 対象: evospikenet/communication.py
  • 内容:
  • EVOSPIKENET_FAIL_ON_COMM_FALLBACK を追加。
  • 通信バックエンド状態 backend / is_fallback_backend を明示。
  • in-memory fallback publish 時に警告ログを追加。
  • 状態: 実装完了。

3.23.2 互換 API fallback の厳格化

  • 対象: evospikenet/api_modules/future_apps_compat_api.py
  • 内容:
  • EVOSPIKENET_ALLOW_COMPAT_FALLBACKS を追加。
  • strict 環境で fallback 不許可時に 503 compat_fallback_disabled を返却。
  • fallback 応答に is_synthetic / data_provenance とヘッダを付与。
  • 状態: 実装完了。

3.23.3 動画解析プレースホルダ文字列の廃止

  • 対象: evospikenet/video_scene_service.py
  • 内容:
  • TRANSCRIPT_PLACEHOLDER / NARRATIVE_GENERATION_FAILED 依存を廃止。
  • transcript_status / narrative_status と synthetic フラグで状態を明示。
  • EVOSPIKENET_ALLOW_MEDIA_PLACEHOLDERS=0 で fail-closed 化。
  • 状態: 実装完了。

3.23.4 PFC プレースホルダの実装置換

  • 対象: evospikenet/pfc.py
  • 内容:
  • remote backup の未接続プレースホルダを _backup_to_remote_site 実装に置換。
  • leader タスク結果の固定 task_completed 文字列を廃止し、構造化結果を返却。
  • 状態: 実装完了。

3.23.5 時刻同期の劣化状態可視化

  • 対象: evospikenet/eeg_integration/time_sync.py
  • 内容:
  • require_high_precision / allow_ntp_fallback_for_ptp を追加。
  • sync_source / degraded / degraded_reason を status に追加。
  • PTP 不可時の NTP fallback を設定で fail-closed 化可能に変更。
  • 状態: 実装完了(型エラーも収束)。

3.23.6 dummy service fallback の運用制御

  • 対象: evospikenet/services/__init__.py
  • 内容:
  • EVOSPIKENET_ALLOW_DUMMY_SERVICES を追加。
  • strict 環境で dummy scene 生成を禁止し、例外送出へ変更。
  • 状態: 実装完了。

3.23.7 test-status の実行状態化

  • 対象: evospikenet/api_modules/test_api.py
  • 内容:
  • TEST_EXECUTION_STATE を追加。
  • /run-tests の開始・完了・失敗・タイムアウトで状態更新。
  • /test-status は placeholder ではなく runtime state を返却。
  • 状態: 実装完了。

参照ドキュメント

  • docs-dev/connectome_evospikenet_implementation_policy.ja.md
  • docs-dev/connectome_schema.md
  • docs/DISTRIBUTED_BRAIN_SPATIAL_NODES.md
  • docs/SDK_API_REFERENCE.md
  • Docs/VIDEO_AUDIO_ANALYSIS_SPEC.md

この再編版は、重複セクションを統合し、ステータス表記をソースコード準拠に補正した運用用台帳です。