* Task Redesign: Add Task entity & tests * Task Redesign: Add Task entity & tests * Task Redesign: Add Permissions checks for Task APIs * Task UI changed to the new APIs * Migrate UI and APIs to new tasks system inlcuding suggestions * Add Suggestions integration * Activity Feed Refactor * ActivityFeed -> ActivityStream publisher * Activity Feed redesign * Activity Feed redesign, adding tests * Incident Manager update * Migrate Incidents to new tasks * Migrate Incidents to new tasks * Update generated TypeScript types * Update generated TypeScript types * feat(tasks): add domain-aware task cutover and workflow v2 migration * test(tasks): cover domain filters and task feed visibility flows * Address comments * Fix workflow tests to use new Task entity API and fix UserApprovalTaskV2 candidate transformation Migrated 9 WorkflowDefinitionResourceIT tests from legacy Feed/Thread API to the new Task entity API (UserApprovalTaskV2 creates Task entities, not Thread entities). Fixed a bug in UserApprovalTaskV2 where candidates were passed as raw EntityReferences instead of being transformed into users/teams FQN arrays for SetApprovalAssigneesImpl. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Fix tests * refactor: stabilize task entity workflows * refactor: finish task entity cutover and activity migration * refactor: migrate legacy thread feed during cutover * refactor: split legacy thread rename and archive migrations * Merge main; fix tests * Update generated TypeScript types * feat: advance task redesign through phase 2 * Merge main; fix tests * Update generated TypeScript types * Fix failing tests * Update generated TypeScript types * fininsh phase 6 of the design, configurable task forms * Update generated TypeScript types * Update generated TypeScript types * Fix linting * Address gitar comments * Address gitar comments * Fix build * Address giar comments * fix build * Add task custom forms * Fix tests * Address tests * Apply UI lint autofixes * Fix tess * Fix linter * Fix task patching * Fix tests * Fix playwright tests * fix java checkstyle * Add python sdk support for tasks, annoucements * Fix playwright tests * Fix playwright tests * Fix playwright tests * Fix python tests * Fix python tests * Fix linting workflows * fix pycheck * fix pycheck * Fix tests * Fix build * Address deviations from main and fix tests * Fix integration tests * Fix integration tests * Fix integration tests * Update generated TypeScript types * Fix Playwright tests * Fix Playwright tests * feat(incident): wire incident manager to task-first architecture (#27369) * feat(incident): wire incident manager to task-first architecture Connect the incident manager to the task redesign so it works end-to-end: resolve data persistence, backward transitions, reopen from resolved, and incident discovery via TCRS. * Update generated TypeScript types * refactor: single-query incident task lookup with parameterized statuses Replace two sequential queries (Open, InProgress) in getOrCreateIncident with one findByAboutAndTypeAndStatuses query using @BindList for status IN (...). --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * Fix Playwright tests * Update generated TypeScript types * Fix linter * Fix tests * Fix tests * Fix checkstyle * Fix tests * Fix checkstyle * Update FeedResourceIT.java * Update TableRepository.java * fix tests * Update ActivityFeedProvider.tsx * fix tests * fix tests * Address Task comments * Fix unit test * Fix the feed summary panel showing on landing page * Fix comment functionality * Fix pytests * Fix failing playwright tests * Fix test flakiness * Fix ui-checkstyle * Fix advanced search spec failure * Fix playwright tests Co-authored-by: Copilot <copilot@github.com> * Fix checkstyle * Fix the flaky tests Co-authored-by: Copilot <copilot@github.com> * fix checkstyle * Reduce the workflow polling * Update generated TypeScript types * skip failing tests Co-authored-by: Copilot <copilot@github.com> * Fix ui-checkstyle --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Aniket Katkar <aniketkatkar97@gmail.com> Co-authored-by: IceS2 <pablo.takara@getcollate.io> Co-authored-by: karanh37 <karanh37@gmail.com> Co-authored-by: Karan Hotchandani <33024356+karanh37@users.noreply.github.com> Co-authored-by: Copilot <copilot@github.com>
3 KiB
Incident Auto-Close on Test Pass
Slice 2 of 3 — Incident Manager → Governance Workflows Migration Depends on: incident-lifecycle-workflow (Slice 1) Enables: Nothing (independent feature) ADR: adr-incident-manager-governance-workflows.md
What Ships
When a previously-failing test case passes, the system automatically resolves the open incident (reason: AutoResolved) and closes its associated task. No human intervention required.
This fixes the #1 gap in today's incident manager — setTestCaseResultIncidentId() sets incidentId = null when a test succeeds but never resolves the incident or closes its task. Incidents stay open indefinitely even after the underlying issue is fixed.
User-visible changes:
- Test passes → open incident auto-resolves → task disappears from feed
- Resolution reason:
AutoResolved(distinct from manual resolution) - Configurable: users can add conditions, side effects, or disable via governance workflow UI
What We Build
ResolveIncidentTask Node
New automated task (nodeType: automatedTask, nodeSubType: resolveIncidentTask) that resolves the open incident for a given test case.
ResolveIncidentImpl:
- Get test case FQN from workflow variables (
relatedEntity) - Query for latest incident status
- If unresolved → create Resolved record (reason:
AutoResolved) - Close associated Thread task via repository
- Repository's fire-and-forget terminates the lifecycle process (wired in Slice 1)
User-facing config:
{
"type": "automatedTask",
"subType": "resolveIncidentTask",
"config": { "reason": "AutoResolved" }
}
Schema Changes
resolved.json: AddAutoResolvedtoTestCaseFailureReasonTypeenumnodeSubType.json: AddresolveIncidentTask- New
resolveIncidentTask.jsonnode definition
Auto-Close Workflow Definition
Default auto-close-incident-on-test-pass workflow, ships enabled:
Trigger: TestCase ENTITY_UPDATED, filter: testCaseStatus == Success
Flow: [Start] → [ResolveIncidentTask] → [End]
Config: reason: "AutoResolved"
Short-lived, fire-and-forget — no long-lived state, no wait, no timers.
Out of Scope
| Feature | Deferred to | Why |
|---|---|---|
| TTL / stale incident expiration | Slice 3 | Different mechanism (boundary timer) |
| Conditional auto-close rules | Future | Users can add checkEntityAttributesTask themselves |
| Post-close notifications | Future | Users can append sinkTask to the workflow |
Why This Depends on Slice 1
ResolveIncidentImpl calls the repository to resolve → repository fire-and-forget terminates the lifecycle process. Without Slice 1, there's no lifecycle process to terminate. The resolution itself would still work (repository code is unchanged), but the architecture is cleaner with the lifecycle process in place — auto-close naturally terminates it.