diff --git a/packages/dashboard/app/components/__tests__/TaskCard.test.tsx b/packages/dashboard/app/components/__tests__/TaskCard.test.tsx
index ac512a982..4856b2348 100644
--- a/packages/dashboard/app/components/__tests__/TaskCard.test.tsx
+++ b/packages/dashboard/app/components/__tests__/TaskCard.test.tsx
@@ -1978,6 +1978,99 @@ describe("TaskCard", () => {
});
});
+ describe("FN-4634 in-progress GitHub linked badge far-right placement", () => {
+ const trackedIssue = {
+ owner: "owner",
+ repo: "repo",
+ number: 42,
+ url: "https://github.com/owner/repo/issues/42",
+ createdAt: "2026-05-12T00:00:00.000Z",
+ };
+
+ it.each([
+ {
+ name: "retry summary present",
+ taskPatch: { retrySummary: { total: 2 } as any },
+ expectedLeftChipSelector: ".card-retry-badge",
+ },
+ {
+ name: "time indicator present",
+ taskPatch: {
+ executionStartedAt: "2026-04-25T12:00:00.000Z",
+ updatedAt: "2026-04-25T12:12:00.000Z",
+ },
+ expectedLeftChipSelector: ".card-time-indicator",
+ },
+ ])("keeps tracking chip visually last on in-progress when files changed is absent: $name", ({ taskPatch, expectedLeftChipSelector }) => {
+ const { container } = render(
+ ,
+ );
+
+ const footerRow = container.querySelector(".card-footer-row");
+ const trackingChip = container.querySelector(".card-github-tracking-chip") as HTMLElement | null;
+ const leftChip = container.querySelector(expectedLeftChipSelector) as HTMLElement | null;
+ expect(footerRow).not.toBeNull();
+ expect(footerRow).toHaveClass("card-footer-row--chip-far-right");
+ expect(trackingChip).not.toBeNull();
+ expect(leftChip).not.toBeNull();
+ expect(getComputedStyle(trackingChip as HTMLElement).order).toBe("2");
+ expect(getComputedStyle(leftChip as HTMLElement).order).not.toBe("2");
+ });
+
+ it("does not force far-right modifier when in-progress card has files changed", () => {
+ const { container } = render(
+ ,
+ );
+
+ const footerRow = container.querySelector(".card-footer-row");
+ expect(footerRow).not.toBeNull();
+ expect(footerRow).not.toHaveClass("card-footer-row--chip-far-right");
+ });
+
+ it("does not force far-right modifier for in-review cards without files changed", () => {
+ const { container } = render(
+ ,
+ );
+
+ const footerRow = container.querySelector(".card-footer-row");
+ expect(footerRow).not.toBeNull();
+ expect(footerRow).not.toHaveClass("card-footer-row--chip-far-right");
+ });
+ });
+
it("does not render a GitHub tracking link when githubTracking is absent", () => {
render(