1.9 KiB
1.9 KiB
📖 Harmonic CMTS Manager - Project State (Living Document)
⚠️ AI 助手請注意:本專案的核心架構與開發規範已移至
.clinerules。此檔案僅作為「專案進度存檔」與「待辦事項追蹤」使用。
✅ 已完成開發階段 (Completed Phases)
Phase 1: PostgreSQL 高可用性架構升級 (Completed)
- 成功導入
asyncpg,建立database.py管理非同步資料庫連線池。 - 建立
cmts_options,device_status,system_filters資料表,嚴格遵守config_type雙軌隔離的主鍵設計。 - 實踐完整的「Zero-Downtime Fallback 機制」:資料庫連線異常時,自動捕捉錯誤並退回使用 JSON 檔案讀寫,防止 FastAPI Crash。
- 調整
init_db.py為非同步啟動腳本。
🚧 目前開發階段 (Current Phase)
Phase 2: 設備配置備份與快照機制 (Configuration Backup & Snapshots)
- 資料庫擴充:在 PostgreSQL 中建立
config_backups資料表 (核心欄位需包含id,host,timestamp,raw_cli,parsed_tree,snapshot_name)。 - 後端 API 實作:新增「手動建立快照 (Manual Snapshot)」與「取得歷史快照列表」的 RESTful API 路由。
- 自動備份攔截:在執行任何
generate_cli(寫入設備變更) 之前,實作自動觸發背景備份running config的防呆機制。
🐛 已知問題與未來計畫 (Known Issues & Backlog)
- [未來計畫] Phase 3: 歷史預覽 (History Preview):前端 UI 支援點擊歷史快照,將
parsed_tree載入tree-ui.js並強制標示為「唯讀模式 (Read-only)」。 - [未來計畫] Phase 4: 智慧還原 (Smart Recovery):實作 Diff-based Rollback 演算法。比對歷史備份與當前樹狀結構,自動產生反向 CLI 指令 (
no [指令]),並在推送到設備前提供 Dry-Run 預覽確認視窗。