-- v5 migration — issues (작업 세션 단위 응결).
--
-- brain.db v5 의 issues 와 1:1 대응. brief / reflection 이 시간 윈도우 자동 회고라면
-- issues 는 *작업 단위 응결* — 사용자가 capture 시점에 묶거나 Asurada 가 큰 끝맺음
-- 감지 시 제안. Devist Dashboard Issues 페이지가 표시.

CREATE TABLE IF NOT EXISTS asurada.issues (
    id TEXT PRIMARY KEY,
    user_id TEXT NOT NULL,
    title TEXT NOT NULL,
    summary TEXT NOT NULL,
    projects JSONB NOT NULL DEFAULT '[]'::jsonb,
    status TEXT NOT NULL DEFAULT 'completed',  -- 'active' | 'completed' | 'paused'
    started_at TIMESTAMPTZ NOT NULL,
    ended_at TIMESTAMPTZ,
    event_count BIGINT NOT NULL DEFAULT 0,
    metadata JSONB NOT NULL DEFAULT '{}'::jsonb,
    created_at TIMESTAMPTZ NOT NULL,
    updated_at TIMESTAMPTZ NOT NULL
);

CREATE INDEX IF NOT EXISTS idx_asurada_issues_user
    ON asurada.issues(user_id);
CREATE INDEX IF NOT EXISTS idx_asurada_issues_user_status
    ON asurada.issues(user_id, status);
CREATE INDEX IF NOT EXISTS idx_asurada_issues_started
    ON asurada.issues(user_id, started_at DESC);
CREATE INDEX IF NOT EXISTS idx_asurada_issues_updated
    ON asurada.issues(updated_at);

-- 권한 — anon/authenticated/service_role.
GRANT SELECT, INSERT, UPDATE, DELETE
    ON asurada.issues
    TO anon, authenticated, service_role;
