I Luk Kim
c5cf6816f8
feat(core): 모델·설정·DB·마이그레이션·워커·LLM 시드 갱신
...
- models/schemas 확장(메일 본문 HTML·received_at·폴더·inference, 발송 메일 등)
마이그레이션 p17~p22 추가
- db.py WAL+busy_timeout(동시 sync 잠금 방지), config/runtime_config 정리
- llm(ollama/provider) 실모델 경로 정비, 워커 트리거·시드(seed/seed_mail) 갱신
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
I Luk Kim
a7f830b420
feat: 포스트-MVP(phase 7~15) + 설정 페이지 전체 구현
...
자율성 코어(결재함·자동화), 일정·회의, 메일·알림, 리서치·여행(에이전트+RAG),
라이프 케어, 여정·하루마감, 외부 커넥터(mock→real), 능동 에이전트·멀티모달,
프로덕션 하드닝(인증/멀티유저·관측·운영·배포물)까지 phase 7~15 구현.
설정 페이지(/settings) — 좌측 6탭(계정·메일·연결·AI/LLM·외관·데이터/보안):
- LLM 연결 실시간 편집·적용(app_setting 테이블 + runtime_config 인메모리 오버레이),
연결 테스트(Ollama /api/tags 모델 목록), 보조 프로바이더 읽기전용 표시
- 메일/연결 커넥터 관리, 프로필 편집(PATCH /me), 데이터 ZIP 내보내기, API 토큰 발급/폐기
- env 관리 ops 설정은 읽기전용(가짜 토글 금지)
기타: placeholder→실제 페이지 승격, Shell 풀스크린 /login 전환, stale 테스트 정리.
검증: backend pytest 282 / 마이그레이션 왕복, frontend vitest 177 / build / lint clean, E2E settings 7/7(a11y 0).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
Claude
b3d21f17d2
chore: Makefile→justfile + 개발 포트 unique화(31300/31800)
...
- Makefile 삭제 → justfile. `just run dev`(둘 다) / `just run fe` / `just run be`
+ install/test/e2e/lint/format/health/seed/migrate/clean 레시피
- 개발 포트를 흔한 dev 포트(3000/5173/8000/8080)와 충돌 없는 31xxx 대역으로:
프론트 :3000→:31300, 백엔드 :8000→:31800. 전 참조 일괄 변경
(package.json/next.config/lib api 기본값/playwright config·fixture/.env*.example/
config.py FRONTEND_ORIGIN/scripts/dev.sh/CI/README)
- E2E 견고화: inbox/tasks/dashboard spec 에 beforeAll(resetSeed) 추가 →
직렬 전체 실행에서 앞 spec 의 캡처 누적과 격리(결정성↑, 전체 39 e2e 29.7s)
검증(새 포트): 백엔드 pytest 63 · 프론트 vitest 69 · playwright 39 전부 통과,
tsc/eslint/ruff clean, build OK. 라이브: :31300↔:31800 CORS·SSR fetch·/ 리다이렉트 정상,
`just health`/`just run` 동작, 옛 포트 참조 0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
Claude
1cd1d10243
Phase 2: 백엔드 데이터모델·시드·REST API·Ollama 추상화
...
- models.py: 11개 SQLModel 테이블(person/folder/project/task/task_comment/
inbox_item/inbox_classification/event/approval/goal/briefing), FK·enum·무한중첩 자기참조
- schemas.py: 전 I/O 스키마(types.ts 1:1, snake_case, 재귀 ProjectNode/TaskNode)
- seed.py: 지우의 한 주(REF 4파일 그대로) — 5인/2폴더/14프로젝트/45작업/4인박스/대시보드
- Alembic: init schema 마이그레이션(+sqlmodel import), base↔head 왕복 검증
- 라우터 6종: people/tree(폴더·프로젝트 CRUD·pin)/tasks(CRUD·댓글·scaffold·risks)/
inbox(capture·reclassify·confirm 연합·dismiss)/dashboard(집계)/llm
- services: risk.py(지연/쏠림/의존, TODAY=8), scaffold.py(정규식 4템플릿), classification.py
- LLM 추상화: provider/ollama(format=json, think=false→수초 응답, 모델 비종속)/heuristic 폴백/prompts
- inbox confirm = federation(task 실체화 + materialized_task_id)
검증: pytest 38 passed, ruff clean, 마이그레이션 왕복 OK,
시드 카운트 일치, 골든 분류 4케이스 통과(heuristic),
라이브: Ollama 분류 동작(model:ollama:qwen3.6, 13s) + 폴백 동작, 전 엔드포인트 정상
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago
Claude
9075b7d1ba
Phase 0: 모노레포 스캐폴딩 & 개발환경
...
- frontend/ (Next.js 16 App Router + TS): layout/폰트, / → /dashboard 리다이렉트,
styles/tokens.css·globals.css, lib/api.ts·types.ts, vitest 스모크, /api rewrites
- backend/ (FastAPI + SQLite + Ollama): config/db, /api/health, /api/llm/health
(Ollama on/off 양쪽 200), CORS, alembic init, pytest 2건
- 루트 Makefile/.gitignore/README
검증: pytest 2 passed, vitest 1 passed, ruff/eslint clean, next build OK,
/ → /dashboard 리다이렉트(Playwright), health 200, Ollama reachable, CORS 200
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2 months ago