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-application
Estado del tracker (NgRx Signals con eventos) detrás de facades.
- Import:
@task-stream/web/tracker/application - Capa:
application· Tags:scope:web-tracker,type:application
Contenido
- Facades (lo que se exporta):
ProjectsFacadeyHomeFacade(«Mi trabajo») (raíz) yProjectFacade,BoardFacade,IssueFacade(de ruta, conprovideProjectFacade(),provideBoardFacade(),provideIssueFacade()). Tests enfacades/facades.spec.ts. ExploreFacade(raíz): proyectos públicos, también sin sesión.ProjectFacadetambién da la visibilidad (setPublic) y el borrado (deleteProject, vuelve a la portada; y si otro lo borra, también), y la configuración del proyecto (workflow,saveSettings) y sus estadísticas (loadAnalytics,loadBurnup).- Interno: stores
ProjectsStore,ProjectStore,HomeStore,BoardStore,IssueStorey eventos por origen (*PageEvents,*ApiEvents,*RealtimeEvents). board.reducers.ts: transformaciones puras del tablero (movimiento optimista, cambios en vivo por versión).- Puerto
Notifications.
Patrón de eventos: Cliente web.
Comandos
npx nx lint web-tracker-application
npx nx test web-tracker-application # Vitest
Reglas de dependencia entre capas: Arquitectura.