A new projectInsights reading (GraphQL Project.insights, REST
/projects/{project}/insights, MCP get_project_insights), computed by pure
functions over the read model and the timeline:
- the sprint under way: days left, points done, pace against what is
needed and whether it gets there;
- tickets at risk: overdue, due within a week, blocked by an open ticket
and stuck (7 days or more in an in-progress or QA status);
- aging of the work under way against the p85 cycle time;
- average days in each in-progress and QA status, with WIP limits.
The dashboard shows them in four new panels, reloaded on every change.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
api-tracker-presenters
API GraphQL y REST (OpenAPI) del tracker.
- Import:
@task-stream/api/tracker/presenters - Capa:
presenters· Tags:scope:api-tracker,type:presenters
Contenido
- Resolvers
ProjectResolver,IssueResolver,CommentResolver,ReleaseResolverySubscriptionResolver; solo llaman a services. - Tipos, inputs (con
class-validator) y enums de GraphQL (code-first). http/: controladores RESTProjectsController,IssuesController,CommentsController,ReleasesController(mismos services), DTOs con@nestjs/swaggeryRefs(proyectos y tickets por id o clave; añade a cada ticket sus transiciones permitidas según el workflow de su proyecto).ExploreController(GET /api/explore/projects, sin token). Las lecturas usan@OptionalAuth()yviewerOf(me)(null = anónimo) para servir proyectos públicos sin sesión.common/settings.ts: configuración del proyecto con las transiciones como lista (lo que viaja por GraphQL y REST).
Operaciones disponibles: GraphQL y REST.
Comandos
npx nx lint api-tracker-presenters
npx nx test api-tracker-presenters # Jest
Reglas de dependencia entre capas: Arquitectura.