feat(db,contracts): W5-C subscription units migration 0025, contracts and mapping
- subscription: status pending (TMDB not ready: searchable/evaluable, not completable), last_searched_at / next_search_at - content_unit (season): episode_total ledger with source / lock / timestamp - acquisition_plan: unit_keys (Slot × unit reservation) and file_selection; drop the one-in-flight-per-slot unique index (checked under slot row lock per unit instead) - new tables slot_deferral, slot_unit (per-unit quality ledger), subscription_history - contracts: SubscriptionParams, SubscriptionHistory, SlotDeferral, SlotUnit, SubscriptionProgress, EpisodeTotalSet, CandidateEvaluation pri/trace/unitKeys and decision deferred; endpoints subscriptions.search/progress/setEpisodeTotal and subscription-history - mapping: evaluation messages via describeViolation, pri/trace passthrough Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
d162d464c4
commit
1dd460d359
9 files changed
+405
-34
No files matched your search
@@ -95,6 +95,10 @@ const ROWS: Record<string, { row: Obj; dbOnly?: string[]; apiOnly?: string[] }>
|
||||
BrowserControlLease: { row: C.BrowserControlLease },
|
||||
// W5-A 文件管理回收站(0024)
|
||||
TrashItem: { row: C.TrashItemRow },
|
||||
// W5-C 订阅增强(0025)
|
||||
SlotDeferral: { row: C.SlotDeferral },
|
||||
SlotUnit: { row: C.SlotUnit },
|
||||
SubscriptionHistory: { row: C.SubscriptionHistory },
|
||||
};
|
||||
|
||||
/** 引擎自有表(@umt/tasks 内部使用,不经 API 暴露),不要求 Row schema */
|
||||
@@ -223,6 +227,8 @@ const ENUMS: Record<string, z.ZodEnum> = {
|
||||
BrowserTabStatus: C.BrowserTabStatus,
|
||||
BrowserControlLeaseHolderKind: C.BrowserLeaseHolderKind,
|
||||
BrowserControlLeaseStatus: C.BrowserLeaseStatus,
|
||||
// W5-C(0025)
|
||||
ContentUnitEpisodeTotalSource: C.EpisodeTotalSource,
|
||||
};
|
||||
|
||||
describe("contracts ⇔ db 表结构同步", () => {
|
||||
|
||||
Reference in new issue
Block a user