Skip to content

release: v0.5.0 personal AI parsing - #33

Merged
HeiTang merged 20 commits into
mainfrom
feature/release-v0.5.0
Nov 5, 2026
Merged

HeiTang merged 20 commits into
mainfrom
feature/release-v0.5.0

Conversation

@HeiTang

@HeiTang HeiTang commented Nov 5, 2026 •

Copy link
Copy Markdown
Owner

發布內容

準備 Remindly v0.5.0,將 dev 已合併的 PR #31、#32 與解析守衛修正帶到 main。新增個人 Gemini/Groq Key 語意解析,未設定或關閉 AI 仍使用內建規則;建立提醒仍須使用者確認。

  • pyproject.toml、src/remindly/__init__.py、uv.lock 同步為 0.5.0;沒有升級依賴版本。
  • CHANGELOG 將 Unreleased 歸入 v0.5.0,涵蓋 AI、時間/草稿/週期修正與升級注意事項。
  • 不完整口語時間仍檢查額外條件、多筆提醒與週期;週期首次日期保留明早/明晚/後晚,不提前成今天。
  • 新增 Docker CI 工作:建置實際映像,並以非 root 的映像使用者在 --network none 容器驗證版本一致、app import、Fernet 加解密、SQLite 重複初始化及完整性、無主金鑰時 AI 關閉。

升級注意事項

  • SQLite 啟動時由 schema v5 升至 v9;部署前備份資料庫。
  • 啟用 AI 須設定固定且另外備份的 AI_ENCRYPTION_KEY;未設定時基本提醒仍可用。AI 僅使用個人 Key,不提供共用 Key。
  • 啟用 AI 後,一般私聊文字、群組觸發訊息與必要上下文會送至實際供應商;費用及額度由個人帳號負擔。

驗證

  • 本機 make check:Ruff、408 個單元測試與 smoke flow 通過,包含既有 Groq 錄製回應重播。
  • uv build:成功產生 v0.5.0 sdist/wheel,wheel metadata 與三處版本一致。
  • uv export --locked --no-dev --no-emit-project:依賴版本/hashes 與 Docker requirements 一致。
  • Workflow YAML 解析、shell 語法、容器自檢 Python 的本機執行及 git diff --check 通過。
  • 前置升級檢查:以 main schema v5 的暫存資料庫升至 dev schema v9,原資料保留,舊日期草稿能補時間並確認。
  • GitHub CI 已通過:check(21 秒)及 Docker build(14 秒),包含實際 docker build 與 --network none 容器自檢。CI 執行紀錄。本機 Docker daemon 不可用,映像驗證在 GitHub Linux runner 完成。

發布邊界

本 PR 僅準備發布,尚未合併、打 tag、建立 GitHub Release 或部署。未操作正式 Telegram/資料庫,也沒有新增付費 AI API 請求。既有模型評測是合成/回歸資料,不代表任意中文準確率。

Support encrypted personal keys, provider adapters, bounded fallback,
and semantic parsing with persisted clarification state.

Show metadata-backed model names on confirmation cards. Keep draft
confirmation and schema migrations atomic, and align user and agent docs.

Verify with 280 tests, Ruff, smoke flow, and dependency export checks.
Constrain time corrections and literal title replies using draft state. Preserve unresolved questions across native and semantic updates, and reject negated times as replacements.

Record four original Gemini responses, including malformed time rejection. Cover correction intent variants, boundary actions, ordinary titles, draft preservation, and confirmation safety.
feat(ai): add personal Gemini parsing and shared time validation
feat(ai): add Groq GPT-OSS adapter
@HeiTang
HeiTang merged commit 5d05f94 into main Nov 5, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant