diff --git a/project/BOARD.md b/project/BOARD.md index 513f054..0dd76fd 100644 --- a/project/BOARD.md +++ b/project/BOARD.md @@ -1,6 +1,6 @@ # LearnPro Board -> **Last updated:** 2026-04-26 (STORY-013 in-progress — Drizzle schema for users / profiles / concepts / skill_scores / episodes (pgvector) + secondary tables, with `org_id` everywhere. Unblocks STORY-005, STORY-011, STORY-014.) +> **Last updated:** 2026-04-26 (STORY-013 done — Drizzle schema landed in PR #11 with 11 tables, pgvector embedding column, idempotent seed, 19 schema tests. EPIC-005 first feature done. Unblocks STORY-005 (auth) and STORY-014 (pgvector index).) > **How to read this:** This is the live status of every Epic, Story, and Task in the project. Hand-maintained for now (a regenerator script lives in the v1 backlog). When you change an item's `status:` frontmatter, also update the row here in the same commit. --- @@ -11,7 +11,6 @@ |----|-------|------|-------|----------|-----|-------| | [EPIC-018](epics/EPIC-018-repo-automation.md) | Repo automation & Claude Code skills | epic | scaffolding | P1 | — | claude | | [STORY-051](stories/STORY-051-claude-skills-and-stop-hook.md) | `harvest-knowledge` + `work-tracking` skills + Stop hook | story | scaffolding | P1 | M | claude | -| [STORY-013](stories/STORY-013-learner-profile-schema.md) | Learner profile schema (per-concept skill, episodic log, `org_id` everywhere) | story | mvp | P0 | M | claude | --- @@ -94,10 +93,11 @@ These stories were filed during EPIC-017 Phase C from the expanded idea catalog ## Recently Done -STORY-009 (LLM gateway) landed 2026-04-26 (PR #9) — first feature Story under EPIC-004. EPIC-019 (foundation) closed 2026-04-26 with STORY-052 (monorepo skeleton, PR #5) and STORY-057 (policy adapters, PR #7). GitHub repo + PR workflow landed 2026-04-25 (PR #1, STORY-058). EPIC-017 product grooming closed in full on 2026-04-25 (Phases A + B + C). EPIC-001 closed on 2026-04-25 (initial scaffolding commit `c1e17a1`). Phase A commit: `bbf7300`. +STORY-013 (learner profile schema) landed 2026-04-26 (PR #11) — first feature Story under EPIC-005. STORY-009 (LLM gateway) landed 2026-04-26 (PR #9) — first feature Story under EPIC-004. EPIC-019 (foundation) closed 2026-04-26 with STORY-052 (monorepo skeleton, PR #5) and STORY-057 (policy adapters, PR #7). GitHub repo + PR workflow landed 2026-04-25 (PR #1, STORY-058). EPIC-017 product grooming closed in full on 2026-04-25 (Phases A + B + C). EPIC-001 closed on 2026-04-25 (initial scaffolding commit `c1e17a1`). Phase A commit: `bbf7300`. | ID | Title | Done | |----|-------|------| +| [STORY-013](stories/STORY-013-learner-profile-schema.md) | Learner profile schema (per-concept skill, episodic log, `org_id` everywhere) | 2026-04-26 | | [STORY-009](stories/STORY-009-llm-gateway.md) | `LLMProvider` interface + Anthropic adapter | 2026-04-26 | | [EPIC-019](epics/EPIC-019-build-foundation.md) | Build foundation — monorepo, dev env, shared interfaces | 2026-04-26 | | [STORY-057](stories/STORY-057-policy-adapter-interfaces.md) | Policy-adapter interfaces + deterministic defaults | 2026-04-26 | diff --git a/project/stories/STORY-013-learner-profile-schema.md b/project/stories/STORY-013-learner-profile-schema.md index b48de18..048d038 100644 --- a/project/stories/STORY-013-learner-profile-schema.md +++ b/project/stories/STORY-013-learner-profile-schema.md @@ -2,7 +2,7 @@ id: STORY-013 title: Learner profile schema (per-concept skill, episodic log, org_id everywhere) type: story -status: in-progress +status: done priority: P0 estimate: M parent: EPIC-005 @@ -47,3 +47,4 @@ Every table has `org_id NOT NULL DEFAULT 'self'` and a `created_at`. This is the - 2026-04-25 — created - 2026-04-26 — picked up; designing Drizzle schema (organizations, users, profiles, concepts, skill_scores, episodes with pgvector embedding column, tracks, problems, submissions, agent_calls, notifications) + initial migration + seed + `org_id NOT NULL DEFAULT 'self'` on every table. +- 2026-04-26 — done. Landed in PR #11 (commit `69f5938`). 11 tables, 4 enums, 11 FKs, 12 indexes generated as `migrations/0000_furry_sway.sql`. `runMigrations()` enables `pgvector` before applying SQL. Idempotent seed inserts demo org/user/profile/concept/skill_score/track/problem/episode. 19 schema-introspection unit tests assert SaaS-readiness invariants + pgvector dimension + enum membership + FK/PK shapes. Unblocks STORY-005 (auth), STORY-011 (tutor agent), STORY-014 (pgvector index).