New packages: - packages/lewooogo-brain: AI reasoning & decision engine - IProposalEngine interface (ABC) - IIncidentProcessor interface (ABC) - Pydantic models: Proposal, Guardrails, Incident, Signal - packages/lewooogo-data: Memory provider abstraction - IMemoryProvider interface (ABC) - IDualMemoryProvider for Working + Episodic memory - Generic type support for flexible data models Documentation: - ADR-008: Python modular packages architecture decision - ARCHITECTURE_MEMORY.md: Module map index for AI developers - LOGBOOK.md: Updated milestones and Phase 6.4 status Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
95 lines
3.0 KiB
Markdown
95 lines
3.0 KiB
Markdown
# AWOOOI 架構記憶地圖 (Architecture Memory)
|
||
|
||
> AI 模組地圖索引 - 每次新增積木後必須登記
|
||
|
||
**最後更新**: 2026-03-23
|
||
**維護者**: Claude Code + C-Suite
|
||
|
||
---
|
||
|
||
## 📦 Python 積木 (packages/)
|
||
|
||
| 積木名稱 | 職責 | 對外介面 | ADR |
|
||
|----------|------|----------|-----|
|
||
| **lewooogo-brain** | AI 推論與決策邏輯 | `IProposalEngine`, `IIncidentProcessor` | ADR-008 |
|
||
| **lewooogo-data** | 資料抽象與持久化 | `IMemoryProvider`, `IDualMemoryProvider` | ADR-008 |
|
||
|
||
### lewooogo-brain 模組結構
|
||
|
||
```
|
||
packages/lewooogo-brain/
|
||
├── src/lewooogo_brain/
|
||
│ ├── interfaces/ # ABC 定義
|
||
│ │ ├── proposal_engine.py → IProposalEngine
|
||
│ │ └── incident_processor.py → IIncidentProcessor
|
||
│ ├── engines/ # 推論引擎實作
|
||
│ │ ├── proposal_engine.py # 🔲 待實作
|
||
│ │ └── incident_engine.py # 🔲 待搬遷
|
||
│ └── skills/ # Skill 動態載入
|
||
│ └── loader.py # 🔲 待實作
|
||
```
|
||
|
||
### lewooogo-data 模組結構
|
||
|
||
```
|
||
packages/lewooogo-data/
|
||
├── src/lewooogo_data/
|
||
│ ├── interfaces/ # ABC 定義
|
||
│ │ └── memory_provider.py → IMemoryProvider, IDualMemoryProvider
|
||
│ └── providers/ # 具體實作
|
||
│ ├── redis_memory.py # 🔲 待實作
|
||
│ ├── pg_memory.py # 🔲 待實作
|
||
│ └── dual_memory.py # 🔲 待實作
|
||
```
|
||
|
||
---
|
||
|
||
## 📦 TypeScript 積木 (packages/)
|
||
|
||
| 積木名稱 | 職責 | 對外介面 | ADR |
|
||
|----------|------|----------|-----|
|
||
| **lewooogo-core** | 前端 Plugin 系統 | `LeWOOOgoPlugin`, `AgentProvider`, `DataAdapter` | ADR-003 |
|
||
|
||
---
|
||
|
||
## 🔗 模組依賴關係
|
||
|
||
```
|
||
apps/api (FastAPI BFF)
|
||
├── lewooogo-brain (AI 積木)
|
||
│ └── lewooogo-data (資料積木)
|
||
└── lewooogo-data (直接引用)
|
||
|
||
apps/web (Next.js)
|
||
└── lewooogo-core (TS 積木)
|
||
```
|
||
|
||
---
|
||
|
||
## 📋 介面契約索引
|
||
|
||
### Python 介面
|
||
|
||
| 介面 | 位置 | 職責 |
|
||
|------|------|------|
|
||
| `IProposalEngine` | `lewooogo_brain.interfaces` | 決策提案生成 |
|
||
| `IIncidentProcessor` | `lewooogo_brain.interfaces` | 事件聚合處理 |
|
||
| `IMemoryProvider` | `lewooogo_data.interfaces` | 單層記憶體存取 |
|
||
| `IDualMemoryProvider` | `lewooogo_data.interfaces` | 雙層記憶體 (Working + Episodic) |
|
||
|
||
### HTTP API 契約
|
||
|
||
| 端點 | 位置 | 職責 |
|
||
|------|------|------|
|
||
| `POST /api/v1/incidents/{id}/propose` | `apps/api/src/api/v1/incidents.py` | 生成決策提案 |
|
||
| `GET /api/v1/incidents/{id}` | `apps/api/src/api/v1/incidents.py` | 取得事件詳情 |
|
||
|
||
---
|
||
|
||
## 🚨 AI 開發者注意事項
|
||
|
||
1. **新增積木前**: 先讀取此檔案確認命名不衝突
|
||
2. **新增積木後**: 必須在此檔案登記職責與對外介面
|
||
3. **修改介面前**: 先讀取 `docs/adr/` 確認架構決策
|
||
4. **跨模組引用**: 禁止直接 import,必須透過介面抽象
|