fix(ui): label feedback delivery recovery actions

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-08-15 08:24:03 +00:00
1 parent e25521ecf3
commit 9bf5683a08
2 files changed
+15

No files matched your search

@@ -180,6 +180,18 @@ describe("IssueRecoveryActionCard", () => {
);
});
it("explains exhausted feedback delivery in plain language", () => {
const node = render(
<IssueRecoveryActionCard
action={buildAction({ kind: "feedback_delivery", cause: "feedback_delivery_exhausted" })}
/>,
);
expect(node.textContent).toContain("Feedback Not Handled");
expect(node.textContent).toContain(
"Paperclip could not deliver the latest human feedback to this task's agent. Automatic replay is exhausted; handle the outstanding feedback or record what is blocking it.",
);
});
it("falls back to an em dash when no evidence summary is available", () => {
const node = render(<IssueRecoveryActionCard action={buildAction({ evidence: {} })} />);
expect(node.textContent).toContain("—");
@@ -115,6 +115,7 @@ export interface IssueRecoveryActionCardProps {
}
const KIND_LABEL: Record<IssueRecoveryActionKind, string> = {
feedback_delivery: "Feedback Not Handled",
missing_disposition: "Missing Disposition",
stranded_assigned_issue: "Stranded Task",
workspace_validation: "Workspace Validation",
@@ -124,6 +125,8 @@ const KIND_LABEL: Record<IssueRecoveryActionKind, string> = {
};
const KIND_HEADLINE: Record<IssueRecoveryActionKind, string> = {
feedback_delivery:
"Paperclip could not deliver the latest human feedback to this task's agent. Automatic replay is exhausted; handle the outstanding feedback or record what is blocking it.",
missing_disposition:
"This task's run finished, but no next step was chosen. Choose what happens next — try the task again, mark it done, or send it for review.",
stranded_assigned_issue: