Whoever can change the ticket flags a comment as a decision (new event
CommentDecisionMarkedEvent on the comment). The ticket page lists its
decisions above the description, with a link to the comment in the
conversation (`?comment=<id>` scrolls to it and points at it), and the
search palette finds them by their text across my projects.
API: markDecision / PUT-DELETE /api/comments/{id}/decision; Issue.decisions
and GET /api/issues/{issue}/decisions; decisions(projectId?, search) and
GET /api/projects/{project}/decisions, GET /api/me/decisions. MCP:
mark_decision, search_decisions, and get_issue includes them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
web-tracker-domain
Modelo del tracker en el cliente.
- Import:
@task-stream/web/tracker/domain - Capa:
domain· Tags:scope:web-tracker,type:domain
Contenido
- Modelos (
Project,IssueSummary,Issue,Release…), enums e inputs. - Configuración por proyecto (
ProjectSettings,StatusCategory) yWorkflow: nombres, colores, iconos, categorías, transiciones permitidas y estados que piden motivo, con un nombre legible para ids que ya no están configurados. - Estadísticas (
ProjectAnalytics,ReleaseBurnup). - Puertos:
ProjectsGateway,IssuesGateway,CommentsGateway,ReleasesGateway,ActivityGateway,UsersGateway,TrackerRealtimeGateway.
Comandos
npx nx lint web-tracker-domain
npx nx test web-tracker-domain # Jest
Reglas de dependencia entre capas: Arquitectura.