已合并
SESSION-02: persist the canonical Session model #20
urandon创建于 8月5日
SESSION-02: persist the canonical Session model #20
已合并
urandon创建于 8月5日
urandon
urandon成员
8月5日

Summary

  • replace the disposable pre-production conversation/context baseline with the canonical append-only Session schema
  • add tenant-scoped session events, frontend bindings, participants, snapshots, activity fanout, and runs-by-session persistence
  • make Telegram /new create a Session and atomically switch its frontend binding
  • add a fail-closed cloud-dev application-data reset for the intentional pre-production migration rebase
  • document the canonical YDB/Object Storage model and migration procedure

Verification

  • make ci
  • clean and repeated migrations against pinned YDB Local
  • make ydb-integration
  • make local-integration
  • make e2e-local
  • git diff --check
  • sh -n scripts/*.sh

The live YDB suite covers concurrent gap-free append, exact idempotent retry, tenant isolation, binding switches, participant/activity reads, snapshots, runs-by-session, and partitioning contracts.

Closes #21

likedislike
Pull Request已成功合入, 合并人@urandon
(感谢 urandon 的贡献)
urandonurandon成员
8月5日 关联了issue:[SESSION-02] Implement YDB canonical session schema and bounded indexes
urandon
urandon成员
8月5日 评论:

Remote verification

GitCode push mirroring delivered commit 470f4b6 to GitHub without SHA drift.

GitHub Actions CI #60 completed successfully in 10m31s:

  • Go verification — passed
  • YDB schema and state store — passed
  • Local multi-service stand — passed
  • Terraform environments — passed
  • Runtime images — passed

The MR is ready for review and merge.

likedislike
urandonurandon成员
8月5日 推送  1 个提交:8865203d-fix: enforce session ownership invariants
urandon
urandon成员
8月5日 评论:

Review follow-up — Session invariants

Addressed both requested P2 findings in commit 8865203:

  1. CreateAndSwitchSession now rejects every non-active Session before entering either the switch or exact-retry path. A live regression test creates and archives a Session, attempts the switch, and proves that the existing binding and revision remain unchanged.
  2. CreateSession now treats a retry as idempotent only when both the stored Session and its owner participant match exactly. A valid but content-different owner now returns ErrSessionConflict.

Verification:

  • make ci — passed locally
  • make ydb-integration against YDB Local — passed in 33.705s
  • GitHub Actions CI #61 — all five jobs passed for exact mirror SHA 8865203

MR !20 is ready for merge.

likedislike
urandonurandon成员
8月5日 合入了pull request,合并节点 SHA:76804cd50720287095c9f7df0bd85ef75bcb7bc9