3 Commits (10fcaec08085dd6d94c317b4ee2c714eab4cab19)

Author SHA1 Message Date
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 c4e86e06ec Phase 6: 통합 · 연합 흐름 · QA & MVP 수용 기준
- 백엔드: test_federation(캡처→분류→확인→tasks 등장→risks 재계산→dashboard 집계,
  confirm 멱등, k1 done 후 지연위험 소멸) + test_nplus1(tree≤6/dashboard≤12 쿼리 예산)
  + /api/_test/reset(ARI_ALLOW_TEST_RESET 가드) + confirm 멱등 가드
- 프론트 E2E: federation.spec(7단계 사용자 여정) + a11y.spec(3페이지 라이트/다크/키보드,
  color-contrast 제외) + responsive.spec(모바일/태블릿/데스크톱 가로스크롤 0) + seed-reset fixture
- tokens.test(토큰 HEX/px 회귀)
- 반응형 보정: 모바일에서 .ttoolbar/.pagehead 줄바꿈 + 검색창 가변폭(가로 스크롤 제거)
- README 한 장 실행법/데모 스크립트, scripts/dev.sh, frontend/.env.local.example, CI 워크플로

최종 검증(전 phase 누적):
- 백엔드 pytest 63 passed, ruff clean
- 프론트 vitest 69 passed, tsc/eslint clean, build OK
- Playwright E2E 39 passed(연합/a11y/반응형/shell/tasks/inbox/dashboard) — axe 위반 0
- 라이브: Ollama 분류 동작(모델 비종속) + heuristic 폴백, 전 엔드포인트 200, 콘솔 에러 0
- 소스 TODO/FIXME 0

MVP 완료: 작업·인박스·대시보드 3페이지 + 연합 end-to-end.

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