56 Commits

Author SHA1 Message Date
3e9b64694d chore: readable compose up
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m20s
2026-03-19 08:21:04 +01:00
d4bfcb93c7 chore: rename docker service from app to iag-dev-evaluator
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m49s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 08:11:06 +01:00
7662922a8b feat: add templates page with list and diff comparison views
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m46s
Server-first: page.tsx renders list and compare views as server components,
with <details>/<summary> accordions and URL-param navigation. Only the two
template selects require a client component (TemplateCompareSelects). Diff
highlighting uses a subtle cyan underline; layout is 2-col on desktop.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 08:38:51 +01:00
32e1f07418 feat: add template V2 with updated rubrics and fix ActionResult runtime error
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 4m22s
- Add RUBRICS_V2 with improved rubrics for prompts, conception, iteration,
  evaluation, alignment and cost_control dimensions
- Add "Full - 15 dimensions (V2)" template using RUBRICS_V2; V1 unchanged
- Set V2 as default template by ordering templates by id desc in getTemplates
- Point demo seed evaluations to full-15-v2
- Remove `export type { ActionResult }` from "use server" files (evaluations,
  admin, share) — Turbopack treats all exports as server actions, causing a
  runtime ReferenceError when the type is erased at compile time

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 08:14:43 +01:00
88da5742ec feat: improve RadarChart responsiveness with client-side rendering
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m18s
- Introduced useEffect and useState to manage component mounting, ensuring the chart renders correctly on the client side.
- Updated the rendering logic to prevent SSR issues with ResponsiveContainer dimensions, enhancing layout stability.
2026-02-25 14:24:16 +01:00
17f5dfbf94 feat: enhance RadarChart component with initial dimensions
Some checks failed
Deploy with Docker Compose / deploy (push) Failing after 3s
- Added initial dimensions for height and width based on the compact prop to improve layout handling.
- Updated ResponsiveContainer to utilize the new initialDimension prop for better responsiveness.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 14:22:02 +01:00
e4a4e5a869 feat: integrate authentication session into Header component
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 4m46s
- Updated RootLayout to fetch the authentication session and pass it to the Header component.
- Modified Header to accept session as a prop, enhancing user experience by displaying user-specific information and sign-out functionality.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 14:16:41 +01:00
2d8d59322d refactor: déduplication — helpers actions, parseurs partagés, types auth
- Crée src/lib/action-helpers.ts avec ActionResult, requireAuth(),
  requireEvaluationAccess() — type et pattern dupliqués 3× supprimés
- evaluations.ts, share.ts, admin.ts importent depuis action-helpers;
  admin.ts: "Forbidden" → "Accès refusé" pour cohérence
- parseQuestions/parseRubric exportées depuis export-utils et supprimées
  de DimensionCard (copie exacte retirée)
- next-auth.d.ts: Session.user.role passe de optional à required string

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 13:43:57 +01:00
ebd8573299 perf: suppression des $queryRaw redondants et cache sur getTemplates
Some checks failed
Deploy with Docker Compose / deploy (push) Failing after 3s
- getEvaluation/getTemplates: retire les $queryRaw qui dupliquaient les
  données déjà chargées via Prisma include (2 requêtes DB → 1)
- getTemplates: wrappé avec cache() React pour dédupliquer les appels
  dans le même render tree
- Supprime l'import Prisma devenu inutile

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 13:31:08 +01:00
27866091bf perf: optimisations DB — batch queries et index
- createEvaluation: remplace N create() par un createMany() (N→1 requête)
- updateEvaluation: regroupe les upserts en $transaction() parallèle
- Ajout d'index sur Evaluation.evaluatorId, Evaluation.templateId,
  EvaluationShare.userId et AuditLog.evaluationId

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 13:27:57 +01:00
99e1a06137 feat: ajout favicon et icônes cross-platform (web, iOS, PWA)
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m54s
- iconfull.png comme favicon browser, apple-touch-icon et icône PWA
- manifest.json pour support Android/PWA
- icon.svg clipboard cyan dans public/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 09:54:31 +01:00
d9073c29bc fix: update middleware matcher to exclude additional image formats
- Enhanced the matcher configuration to exclude SVG, PNG, JPG, JPEG, GIF, WEBP, and ICO file types from middleware processing, improving asset handling.
2026-02-25 09:36:57 +01:00
cfde81b8de feat: auto-save ciblé au blur avec feedback violet sur tous les champs
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 7m6s
- Nouvelle action updateDimensionScore pour sauvegarder un seul champ
  en base sans envoyer tout le formulaire
- DimensionCard : blur sur notes, justification, exemples, confiance
  → upsert ciblé + bordure violette 800ms
- CandidateForm : même pattern sur tous les champs du cartouche
- Bouton save passe aussi en violet (cohérence visuelle)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 08:29:51 +01:00
437b5db1da feat: auto-save notes candidat au blur avec indicateur de modification
Le champ "Notes candidat" passe en bordure ambre tant qu'il y a des
changements non sauvegardés. Au défocus, la sauvegarde se déclenche
automatiquement et la bordure revient à la normale.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 08:17:58 +01:00
c1751a1ab6 feat: animation de confirmation sur le bouton save
Ajoute 3 états visuels au bouton save : repos (gris), saving (spinner),
saved (fond vert + checkmark animé pendant 2 secondes).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 08:14:35 +01:00
895df3f7d9 feat: grille dashboard fluide, conteneur élargi et theme toggle plus visible
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 4m0s
- max-w-5xl → max-w-7xl sur le layout global
- grille auto-fill minmax(300px,1fr) pour grands écrans
- ThemeToggle : bordure + fond permanents, emoji text-lg

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 13:55:26 +01:00
92c819d339 feat: afficher badge privé (violet) dans les cards du dashboard
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 13:49:03 +01:00
87326b459e Refactor EvaluationEditor component by removing unused Link import. Enhance ExportModal to include Confluence export option and update export-utils with functions for parsing questions and rubrics, and generating Confluence markup for evaluations.
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled
2026-02-23 13:24:36 +01:00
Julien Froidefond
9ff745489f Enhance database seeding and update seed questions. Add database seeding command to docker-start.sh and introduce new questions related to support and scaling in seed.ts, improving the data initialization process.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m17s
2026-02-20 16:44:35 +01:00
Julien Froidefond
dee59991fc docs: réécriture README complet en français
README entièrement reécrit en français pour les développeurs Peaksys :
architecture server-first, auth bcrypt/rôles, Docker, variables d'env,
pages & fonctionnalités, structure des fichiers à jour.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 16:25:27 +01:00
Julien Froidefond
160e90fbde Add name change functionality to user settings. Update SettingsPasswordForm to handle name updates, including validation and error handling. Fetch current user name for display in settings page.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m44s
2026-02-20 14:47:32 +01:00
Julien Froidefond
8073321b0f Implement evaluation grouping by team and enhance DashboardClient with view mode selection. Add EvalCard component for improved evaluation display, including radar chart visualization and delete functionality.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m29s
2026-02-20 14:11:52 +01:00
Julien Froidefond
aab8a192d4 Refactor evaluation and admin pages to use server actions for data fetching, enhancing performance and simplifying state management. Update README to reflect API route changes and remove deprecated API endpoints for users and evaluations.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m7s
2026-02-20 14:08:18 +01:00
Julien Froidefond
2ef9b4d6f9 Add isPublic field to evaluation API and detail page for public visibility management
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m6s
2026-02-20 13:55:21 +01:00
Julien Froidefond
dc8581f545 Update Dockerfile to add a new startup script and adjust permissions for entrypoint and startup scripts, simplifying the command execution process.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m54s
2026-02-20 13:46:42 +01:00
Julien Froidefond
521975db31 Update Docker Compose configuration to set a default volume path for the database and modify the deployment workflow to conditionally create the database directory based on the provided environment variable.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m4s
2026-02-20 13:42:28 +01:00
Julien Froidefond
04d5a9b9c2 Update Dockerfile to streamline command execution by removing the database seeding step from the CMD instruction, simplifying the deployment process.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m5s
2026-02-20 13:36:41 +01:00
Julien Froidefond
65fee6baf7 Refactor Header component to improve code readability by formatting Link elements and adding a new settings link for user navigation.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m12s
2026-02-20 13:31:23 +01:00
Julien Froidefond
e30cfedea8 Update branding references throughout the application to reflect Peaksys as the developer, including changes to the README, admin user email, candidate team names, and metadata descriptions.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m36s
2026-02-20 13:27:44 +01:00
Julien Froidefond
328200f8b4 Update routing logic to redirect users to the dashboard after login and evaluation actions. Refactor middleware to handle public routes and adjust navigation links across the application for improved user experience.
Some checks failed
Deploy with Docker Compose / deploy (push) Has been cancelled
2026-02-20 13:26:53 +01:00
Julien Froidefond
b1fb6762fe Refactor sign-out functionality in Header component to use async/await for improved navigation handling, ensuring a smoother user experience during logout.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m40s
2026-02-20 13:22:52 +01:00
Julien Froidefond
59f82e4072 Add AUTH_SECRET environment variable to Docker Compose configuration for enhanced security in service authentication.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m21s
2026-02-20 13:18:10 +01:00
Julien Froidefond
9d8d1b257d Refactor Docker Compose configuration to use dynamic volume paths, update deployment workflow to create necessary directories, and enhance Prisma schema with public visibility for evaluations. Improve access control in API routes and adjust evaluation creation logic to include public visibility. Fix minor issues in login and evaluation pages for better user experience.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m17s
2026-02-20 13:13:41 +01:00
Julien Froidefond
f5cbc578b7 Update Dockerfile and package.json to use Prisma migrations, add bcryptjs and next-auth dependencies, and enhance README instructions for database setup. Refactor Prisma schema to include password hashing for users and implement evaluation sharing functionality. Improve admin page with user management features and integrate session handling for authentication. Enhance evaluation detail page with sharing options and update API routes for access control based on user roles.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 3m4s
2026-02-20 12:58:47 +01:00
Julien Froidefond
9a734dc1ed Refactor seed data to upsert candidates and evaluations, ensuring existing evaluations are updated without clearing previous data. Enhance the evaluation creation process with detailed scoring and justification for improved clarity and relevance.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m19s
2026-02-20 12:33:22 +01:00
Julien Froidefond
34b2a8c5cc Integrate RadarChart component into DashboardPage, enhancing evaluation display with radar data visualization. Update API to include dimensions in template retrieval, and adjust RadarChart for compact mode support.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m7s
2026-02-20 11:59:13 +01:00
Julien Froidefond
edb8125e56 Implement collapse functionality in EvaluationDetailPage and DimensionCard components, allowing users to collapse all dimension cards simultaneously for improved usability and organization. 2026-02-20 11:57:18 +01:00
Julien Froidefond
7a0cf76c18 Refactor seed data by removing outdated use cases and adjusting template dimensions, streamlining the evaluation framework for improved clarity and relevance.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m34s
2026-02-20 11:53:17 +01:00
Julien Froidefond
7e68ea33c2 Add comprehensive DEMO_RESPONSES to seed data, detailing realistic responses across multiple dimensions, enhancing the evaluation framework with justifications and observed examples for improved clarity and usability.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m16s
2026-02-20 11:50:27 +01:00
Julien Froidefond
9aaa97e909 Refactor seed data by removing outdated rubrics and suggested questions, while adding new insights on alignment and quality usage, streamlining the evaluation framework for enhanced clarity and relevance.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m11s
2026-02-20 11:46:11 +01:00
Julien Froidefond
c4bc24cee9 Add new suggested questions and rubrics for exploration phase in seed data, enhancing the evaluation framework and template structure for improved clarity and usability.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 2m2s
2026-02-20 11:41:10 +01:00
Julien Froidefond
b754e9f9c6 Enhance seed data by adding new suggested questions and rubrics for the conception phase, improving the evaluation framework and template structure for better clarity and usability.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 1m59s
2026-02-20 11:37:34 +01:00
Julien Froidefond
563c0b71dc Update seed data to include a new suggested question regarding model selection and refine context rubric for improved clarity and relevance in evaluation processes.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 1m49s
2026-02-20 11:32:24 +01:00
Julien Froidefond
7ea5603b41 Update seed data to include optional titles for integration and impact templates, enhancing clarity in the evaluation process. 2026-02-20 11:22:42 +01:00
Julien Froidefond
8c239c7c01 Enhance DimensionCard component to manage expanded state using local storage; pass evaluationId prop from EvaluationDetailPage for state persistence across sessions. 2026-02-20 11:02:28 +01:00
Julien Froidefond
381f9c0c2b Add a new suggested question to the evaluation section in seed data to address excessive generations and duplicated information in AI outputs. 2026-02-20 11:01:49 +01:00
Julien Froidefond
3977b20ae7 Update seed data with refined suggested questions and rubrics for better clarity and relevance; enhance context-related queries to improve user engagement. 2026-02-20 10:57:39 +01:00
Julien Froidefond
b257011e8f Enhance evaluation detail page to support adding new dimension scores if they do not exist; refactor score update logic for improved clarity and maintainability.
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 1m46s
2026-02-20 10:20:19 +01:00
Julien Froidefond
c14a8cc870 Refactor evaluation submission logic to directly handle state updates and save changes immediately upon submission
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 1m48s
2026-02-20 10:14:57 +01:00
Julien Froidefond
0669893a36 Update .gitignore to exclude Prisma database files; remove dev.db; add cost control questions and rubric to seed data 2026-02-20 10:13:52 +01:00