Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion scripts/check.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ const requestedConceptSlugs = [
"codex-completion-contract-loop",
"revolve-self-improvement-loop",
"five-minute-repository-maintainer-loop",
"recent-feedback-sweep",
];
const submissionPromptAnchors = new Map([
["ticket-to-pr-ready-loop", ["bug report", "customer complaint"]],
Expand Down Expand Up @@ -194,7 +195,7 @@ assert.deepEqual(agentLoopTerm.sameAs, [
"https://code.claude.com/docs/en/agent-sdk/agent-loop",
"https://arxiv.org/abs/2210.03629",
]);
assert.equal(loops.length, 30);
assert.equal(loops.length, 31);
assert.equal(slugs.size, loops.length);
assert.equal(titles.size, loops.length);
assert.equal(prompts.size, loops.length);
Expand Down
42 changes: 41 additions & 1 deletion scripts/loop-data.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export const site = {
description:
"Practical AI agent workflows for engineering, research, editorial work, evaluation, and operations.",
updated: "2026-06-19",
socialImageVersion: "20260619-7",
socialImageVersion: "20260619-8",
socialImageExtension: "png",
socialImageMimeType: "image/png",
};
Expand Down Expand Up @@ -1226,4 +1226,44 @@ export const loops = [
],
related: ["ticket-to-pr-ready-loop", "stale-safe-batch-release-loop"],
},
{
number: "031",
slug: "recent-feedback-sweep",
title: "The recent-feedback sweep",
summary:
"Turns recent user corrections into a project-wide audit and verified fixes.",
seoTitle: "Recent-Feedback Project Audit | Loop Library",
description:
"A project audit that turns recent user-reported problems into reusable failure patterns, fixes every confirmed match, and verifies a clean final sweep.",
categoryLabel: "AI coding agent workflow",
author: "Matthew Berman",
published: "2026-06-19",
modified: "2026-06-19",
prompt:
"Review all available threads from [lookback window] where I reported something wrong with [project] and asked for a fix. Build a deduplicated issue list, group it into failure patterns, and verify current state. Audit the complete project for every pattern, fix each confirmed instance, and add regression coverage where practical. Repeat the full audit until it finds no remaining instance or [iteration budget] ends. Stop on blocked or approval-gated work. Return the issues, fixes, evidence, and blockers.",
verifyTitle:
"The issue inventory is closed and a fresh pattern audit is clean.",
verifyDetail:
"Every reported issue and newly found match has current proof of resolution; blocked, approval-gated, or budget-exhausted items remain explicitly open.",
useWhen:
"Use this after several days of project feedback when repeated mistakes may point to similar issues elsewhere and the agent can inspect both the conversation history and the complete current project.",
steps: [
"Define the lookback window and complete project surface, then collect every accessible thread in which the user reported a problem and requested a fix.",
"Deduplicate the reported issues, verify their current status, and turn the concrete examples into explicit failure patterns and audit checks.",
"Audit every in-scope project surface for each pattern, fix one confirmed instance at a time, and add regression coverage where practical.",
"Run targeted checks after each fix, then rerun the complete pattern audit and relevant full checks before declaring the sweep clean.",
],
why:
"Recent corrections are concrete examples of the quality bar the project missed. Grouping them into failure patterns turns one-off feedback into a reusable audit rubric, while a fresh full sweep catches sibling defects and verifies the current project rather than trusting old thread state.",
note:
"Thread access and a complete surface inventory are prerequisites. Do not infer defects from neutral discussion, reopen resolved issues without checking current behavior, or claim success while an inaccessible, blocked, approval-gated, or budget-exhausted item remains. Get approval before destructive, production, or external actions.",
keywords: [
"recent user feedback",
"project-wide issue audit",
"failure pattern sweep",
"regression prevention",
"AI coding agent",
],
related: ["full-product-evaluation-loop", "quality-streak-loop"],
},
];
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added site/assets/social/autonomy-loop-20260619-8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added site/assets/social/loop-library-20260619-8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
49 changes: 48 additions & 1 deletion site/catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"catalogUrl": "https://signals.forwardfuture.ai/loop-library/catalog.json",
"markdownUrl": "https://signals.forwardfuture.ai/loop-library/catalog.md",
"updated": "2026-06-19",
"loopCount": 30,
"loopCount": 31,
"categories": [
{
"slug": "engineering",
Expand Down Expand Up @@ -1451,6 +1451,53 @@
}
],
"sourceUrl": "https://github.com/steipete/agent-scripts/blob/main/skills/maintainer-orchestrator/SKILL.md"
},
{
"number": "031",
"slug": "recent-feedback-sweep",
"title": "The recent-feedback sweep",
"url": "https://signals.forwardfuture.ai/loop-library/loops/recent-feedback-sweep/",
"category": {
"slug": "engineering",
"label": "Engineering"
},
"author": "Matthew Berman",
"published": "2026-06-19",
"modified": "2026-06-19",
"description": "A project audit that turns recent user-reported problems into reusable failure patterns, fixes every confirmed match, and verifies a clean final sweep.",
"useWhen": "Use this after several days of project feedback when repeated mistakes may point to similar issues elsewhere and the agent can inspect both the conversation history and the complete current project.",
"prompt": "Review all available threads from [lookback window] where I reported something wrong with [project] and asked for a fix. Build a deduplicated issue list, group it into failure patterns, and verify current state. Audit the complete project for every pattern, fix each confirmed instance, and add regression coverage where practical. Repeat the full audit until it finds no remaining instance or [iteration budget] ends. Stop on blocked or approval-gated work. Return the issues, fixes, evidence, and blockers.",
"verification": {
"title": "The issue inventory is closed and a fresh pattern audit is clean.",
"detail": "Every reported issue and newly found match has current proof of resolution; blocked, approval-gated, or budget-exhausted items remain explicitly open."
},
"steps": [
"Define the lookback window and complete project surface, then collect every accessible thread in which the user reported a problem and requested a fix.",
"Deduplicate the reported issues, verify their current status, and turn the concrete examples into explicit failure patterns and audit checks.",
"Audit every in-scope project surface for each pattern, fix one confirmed instance at a time, and add regression coverage where practical.",
"Run targeted checks after each fix, then rerun the complete pattern audit and relevant full checks before declaring the sweep clean."
],
"why": "Recent corrections are concrete examples of the quality bar the project missed. Grouping them into failure patterns turns one-off feedback into a reusable audit rubric, while a fresh full sweep catches sibling defects and verifies the current project rather than trusting old thread state.",
"implementationNote": "Thread access and a complete surface inventory are prerequisites. Do not infer defects from neutral discussion, reopen resolved issues without checking current behavior, or claim success while an inaccessible, blocked, approval-gated, or budget-exhausted item remains. Get approval before destructive, production, or external actions.",
"keywords": [
"recent user feedback",
"project-wide issue audit",
"failure pattern sweep",
"regression prevention",
"AI coding agent"
],
"related": [
{
"slug": "full-product-evaluation-loop",
"title": "The full product evaluation loop",
"url": "https://signals.forwardfuture.ai/loop-library/loops/full-product-evaluation-loop/"
},
{
"slug": "quality-streak-loop",
"title": "The quality streak loop",
"url": "https://signals.forwardfuture.ai/loop-library/loops/quality-streak-loop/"
}
]
}
]
}
9 changes: 9 additions & 0 deletions site/catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,3 +277,12 @@ URL above.
- Verify: Every repository item reaches a proven handoff or terminal state. Authorized autonomous work lands with evidence; other items are decision-ready, blocked with one exact ask, or recorded as a clean no-op.
- Keywords: Codex repository maintenance, multi-repository orchestration, five minute agent loop, GitHub project triage, thread delegation
- Related: [The ticket-to-PR-ready loop](https://signals.forwardfuture.ai/loop-library/loops/ticket-to-pr-ready-loop/), [The stale-safe batch release loop](https://signals.forwardfuture.ai/loop-library/loops/stale-safe-batch-release-loop/)

## 031 — [The recent-feedback sweep](https://signals.forwardfuture.ai/loop-library/loops/recent-feedback-sweep/)

- Category: Engineering
- Use when: Use this after several days of project feedback when repeated mistakes may point to similar issues elsewhere and the agent can inspect both the conversation history and the complete current project.
- Prompt: Review all available threads from [lookback window] where I reported something wrong with [project] and asked for a fix. Build a deduplicated issue list, group it into failure patterns, and verify current state. Audit the complete project for every pattern, fix each confirmed instance, and add regression coverage where practical. Repeat the full audit until it finds no remaining instance or [iteration budget] ends. Stop on blocked or approval-gated work. Return the issues, fixes, evidence, and blockers.
- Verify: The issue inventory is closed and a fresh pattern audit is clean. Every reported issue and newly found match has current proof of resolution; blocked, approval-gated, or budget-exhausted items remain explicitly open.
- Keywords: recent user feedback, project-wide issue audit, failure pattern sweep, regression prevention, AI coding agent
- Related: [The full product evaluation loop](https://signals.forwardfuture.ai/loop-library/loops/full-product-evaluation-loop/), [The quality streak loop](https://signals.forwardfuture.ai/loop-library/loops/quality-streak-loop/)
11 changes: 11 additions & 0 deletions site/feed.xml
Original file line number Diff line number Diff line change
Expand Up @@ -340,4 +340,15 @@
</author>
<summary>A five-minute Codex workflow that triages repositories, directs bounded maintenance to dedicated threads, and requires proof and permission before work lands.</summary>
</entry>
<entry>
<title>The recent-feedback sweep</title>
<id>https://signals.forwardfuture.ai/loop-library/loops/recent-feedback-sweep/</id>
<link href="https://signals.forwardfuture.ai/loop-library/loops/recent-feedback-sweep/" />
<published>2026-06-19T00:00:00-07:00</published>
<updated>2026-06-19T00:00:00-07:00</updated>
<author>
<name>Matthew Berman</name>
</author>
<summary>A project audit that turns recent user-reported problems into reusable failure patterns, fixes every confirmed match, and verifies a clean final sweep.</summary>
</entry>
</feed>
60 changes: 54 additions & 6 deletions site/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,11 @@
/>
<meta
property="og:image"
content="https://signals.forwardfuture.ai/loop-library/assets/social/loop-library-20260619-7.png"
content="https://signals.forwardfuture.ai/loop-library/assets/social/loop-library-20260619-8.png"
/>
<meta
property="og:image:secure_url"
content="https://signals.forwardfuture.ai/loop-library/assets/social/loop-library-20260619-7.png"
content="https://signals.forwardfuture.ai/loop-library/assets/social/loop-library-20260619-8.png"
/>
<meta property="og:image:type" content="image/png" />
<meta
Expand All @@ -82,7 +82,7 @@
/>
<meta
name="twitter:image"
content="https://signals.forwardfuture.ai/loop-library/assets/social/loop-library-20260619-7.png"
content="https://signals.forwardfuture.ai/loop-library/assets/social/loop-library-20260619-8.png"
/>
<meta
name="twitter:image:alt"
Expand Down Expand Up @@ -152,7 +152,7 @@
"dateModified": "2026-06-19",
"primaryImageOfPage": {
"@type": "ImageObject",
"url": "https://signals.forwardfuture.ai/loop-library/assets/social/loop-library-20260619-7.png",
"url": "https://signals.forwardfuture.ai/loop-library/assets/social/loop-library-20260619-8.png",
"width": 1200,
"height": 630
},
Expand All @@ -164,7 +164,7 @@
},
"mainEntity": {
"@type": "ItemList",
"numberOfItems": 30,
"numberOfItems": 31,
"itemListElement": [
{
"@type": "ListItem",
Expand Down Expand Up @@ -345,6 +345,12 @@
"position": 30,
"name": "The five-minute repository maintainer loop",
"url": "https://signals.forwardfuture.ai/loop-library/loops/five-minute-repository-maintainer-loop/"
},
{
"@type": "ListItem",
"position": 31,
"name": "The recent-feedback sweep",
"url": "https://signals.forwardfuture.ai/loop-library/loops/recent-feedback-sweep/"
}
]
}
Expand Down Expand Up @@ -551,7 +557,7 @@ <h2 id="agent-skill-title">
</div>

<div class="results-line">
<p id="results-count" aria-live="polite">Showing 30 loops</p>
<p id="results-count" aria-live="polite">Showing 31 loops</p>
<time datetime="2026-06-19">Updated June 19, 2026</time>
</div>

Expand Down Expand Up @@ -1759,6 +1765,48 @@ <h3>
</td>
</tr>

<tr
class="loop-row"
data-copy-root
data-category="engineering"
data-search="recent user feedback threads corrections reported issues project audit failure patterns regression prevention matthew berman coding agent"
>
<td class="cell-number">031</td>
<td class="cell-loop">
<div class="loop-meta">
<span class="loop-category">Engineering</span>
<span class="loop-attribution">By Matthew Berman</span>
</div>
<h3>
<a class="loop-title-link" href="./loops/recent-feedback-sweep/">
The recent-feedback sweep
</a>
</h3>
<p class="loop-summary">Turns recent user corrections into a project-wide audit and verified fixes.</p>
<p data-prompt>
Review all available threads from [lookback window] where I
reported something wrong with [project] and asked for a fix.
Build a deduplicated issue list, group it into failure
patterns, and verify current state. Audit the complete
project for every pattern, fix each confirmed instance, and
add regression coverage where practical. Repeat the full
audit until it finds no remaining instance or [iteration
budget] ends. Stop on blocked or approval-gated work. Return
the issues, fixes, evidence, and blockers.
</p>
</td>
<td class="cell-check">
<span class="cell-label">Verify / stop</span>
<strong>The issue inventory is closed and a fresh pattern audit is clean.</strong>
<span>Every reported issue and newly found match has current proof of resolution; blocked, approval-gated, or budget-exhausted items remain explicitly open.</span>
</td>
<td class="cell-action">
<button class="copy-button" type="button">
<span>Copy</span>
</button>
</td>
</tr>

</tbody>
</table>
</div>
Expand Down
8 changes: 4 additions & 4 deletions site/loops/100-percent-test-coverage-loop/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@
<meta property="og:title" content="100% Test Coverage Loop for Coding Agents | Loop Library" />
<meta property="og:description" content="A goal-based coding-agent workflow that identifies uncovered behavior, adds meaningful tests, and stops when the full suite passes at 100% coverage." />
<meta property="og:url" content="https://signals.forwardfuture.ai/loop-library/loops/100-percent-test-coverage-loop/" />
<meta property="og:image" content="https://signals.forwardfuture.ai/loop-library/assets/social/100-percent-test-coverage-loop-20260619-7.png" />
<meta property="og:image:secure_url" content="https://signals.forwardfuture.ai/loop-library/assets/social/100-percent-test-coverage-loop-20260619-7.png" />
<meta property="og:image" content="https://signals.forwardfuture.ai/loop-library/assets/social/100-percent-test-coverage-loop-20260619-8.png" />
<meta property="og:image:secure_url" content="https://signals.forwardfuture.ai/loop-library/assets/social/100-percent-test-coverage-loop-20260619-8.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
Expand All @@ -49,7 +49,7 @@
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="100% Test Coverage Loop for Coding Agents | Loop Library" />
<meta name="twitter:description" content="A goal-based coding-agent workflow that identifies uncovered behavior, adds meaningful tests, and stops when the full suite passes at 100% coverage." />
<meta name="twitter:image" content="https://signals.forwardfuture.ai/loop-library/assets/social/100-percent-test-coverage-loop-20260619-7.png" />
<meta name="twitter:image" content="https://signals.forwardfuture.ai/loop-library/assets/social/100-percent-test-coverage-loop-20260619-8.png" />
<meta name="twitter:image:alt" content="The 100% test coverage loop — Forward Future Loop Library" />
<link rel="canonical" href="https://signals.forwardfuture.ai/loop-library/loops/100-percent-test-coverage-loop/" />
<link rel="sitemap" type="application/xml" href="https://signals.forwardfuture.ai/loop-library/sitemap.xml" />
Expand Down Expand Up @@ -99,7 +99,7 @@
],
"image": {
"@type": "ImageObject",
"url": "https://signals.forwardfuture.ai/loop-library/assets/social/100-percent-test-coverage-loop-20260619-7.png",
"url": "https://signals.forwardfuture.ai/loop-library/assets/social/100-percent-test-coverage-loop-20260619-8.png",
"width": 1200,
"height": 630
},
Expand Down
Loading
Loading