feat(w4): ship v1.5.0 timeline, character arc, and compliance

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-08 17:40:42 +08:00
parent c5c0b7329b
commit cb6b4c3731
51 changed files with 1528 additions and 42 deletions
+22
View File
@@ -0,0 +1,22 @@
import { describe, it, expect, afterEach } from 'vitest'
import { DatabaseSync } from 'node:sqlite'
import { migrate } from '../../src/main/db/migrate'
import type { SqliteDb } from '../../src/main/db/types'
describe('migrate v10', () => {
let db: SqliteDb
afterEach(() => db?.close())
it('UT-MIG-10: fresh database migrates to v10 with timeline_events', () => {
db = new DatabaseSync(':memory:')
migrate(db)
const version = db.prepare('SELECT MAX(version) AS v FROM schema_version').get() as { v: number }
expect(version.v).toBe(10)
const table = db
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='timeline_events'")
.get()
expect(table).toBeTruthy()
const cols = db.prepare('PRAGMA table_info(timeline_events)').all() as Array<{ name: string }>
expect(cols.some((c) => c.name === 'story_time')).toBe(true)
})
})