name: dotnet-crud
description: CRUD operations for product catalog in .NET 10 VSA application with Neon PostgreSQL
stack: dotnet-neon

request: |
  Add CRUD operations for a product catalog to the .NET 10 application.
  Products have: name, description, price (decimal), category, imageUrl, isActive.
  Implement using Vertical Slice Architecture with IHandler<TRequest, TResponse>,
  Result<T> railway-oriented error handling (no exceptions in handlers),
  sealed records for DTOs, and FluentValidation via Scrutor decorators.
  Use IApiEndpoint auto-discovery for Minimal API route registration.
  Include pagination for the list endpoint with TanStack Query-compatible
  response format, search by name/category, and soft-delete (isActive flag).
  Database is Neon PostgreSQL via EF Core + Npgsql.
  API docs via Scalar UI.

phases_to_eval:
  - proposal
  - spec
  - tasks

skip_implementation: true

dimensions:
  proposal:
    completeness: "Covers all CRUD operations plus pagination, search, soft-delete, Scalar UI docs"
    scope: "Product catalog only — no cart, orders, or user management"
  spec:
    specificity: "API contracts with sealed record DTOs, Result<T> return types, FluentValidation rules, specific HTTP status codes"
    data_model: "Product entity with all fields, EF Core configuration, Neon PostgreSQL constraints"
    architecture: "VSA feature folders, IHandler pattern, Scrutor pipeline, IApiEndpoint discovery, ApplicationDbContext direto no slice (sem repository genérico)"
    completeness: "All CRUD endpoints, pagination params (page/pageSize), search filters, error responses via Result<T>"
  tasks:
    granularity: "Each task 15-60 minutes, no mega-tasks"
    coverage: "All spec FRs mapped to at least one task"
    ordering: "Entity/migration first, then handlers, then validation decorators, then API endpoints, then tests"
  cross_phase:
    fr_coverage_threshold: 0.95
    mandate_completeness: 0.9

threshold: 8.0
max_iterations: 3
