Q148: a task's goal, project, workspace, runs, approvals and subtasks open with one click, and lead back

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-09 00:58:34 -04:00
1 parent 983d37937d
commit 766d4ab8cd
13 files changed
+188 -36

No files matched your search

+14
View File
@@ -72,6 +72,20 @@ test("the pinned CEO conversation is the Messages front door", async () => {
// The message itself says where the reply stands.
await expect(chatLog.locator(".chat-message", { hasText: "How are we tracking against the goal?" }).first()).toContainText("CEO will reply; queued.");
// From a task, its goal, run and back are one click each.
await page.getByRole("button", { name: "Work" }).click();
await page.getByRole("button", { name: /Operationalize goal: Ship the FlowPilot MVP\./ }).first().click();
const taskDialog = page.getByRole("dialog", { name: "Operationalize goal: Ship the FlowPilot MVP." });
await taskDialog.getByRole("button", { name: "Open goal Ship the FlowPilot MVP." }).click();
await expect(page.getByText("Goal: Ship the FlowPilot MVP.", { exact: true })).toBeVisible();
await page.getByRole("button", { name: /Operationalize goal: Ship the FlowPilot MVP\./ }).first().click();
await taskDialog.getByRole("button", { name: /^Open run/ }).first().click();
await expect(page.getByRole("button", { name: "Open task Operationalize goal: Ship the FlowPilot MVP." })).toBeVisible();
await page.getByRole("button", { name: "Open task Operationalize goal: Ship the FlowPilot MVP." }).click();
await expect(taskDialog).toBeVisible();
await taskDialog.getByRole("button", { name: "Close" }).click();
await page.getByRole("button", { name: "Messages" }).click();
// Recency pressure: newer traffic in a channel must not displace the pin.
await page.evaluate(async () => {
const api = (window as unknown as { agentCompany: {
+15
View File
@@ -0,0 +1,15 @@
import { describe, expect, test } from "vitest";
import { decidedWindow } from "../../src/renderer/src/pages/approvals/decided-window";
describe("the decided approvals list", () => {
const decided = Array.from({ length: 30 }, (_, index) => ({ id: `apr_${index}` }));
test("shows the newest 24", () => {
expect(decidedWindow(decided, null).map((item) => item.id)).toEqual(decided.slice(0, 24).map((item) => item.id));
});
test("adds an older focused approval so a link to it lands on it", () => {
expect(decidedWindow(decided, "apr_27").map((item) => item.id)).toEqual([...decided.slice(0, 24).map((item) => item.id), "apr_27"]);
expect(decidedWindow(decided, "apr_3")).toHaveLength(24);
});
});