A useful idea. Not another feed.
Selected work events and your learning goals shape the opportunity. A caching tradeoff, a concurrency bug, a design decision worth understanding.
Your agent gets better at building.
Make sure you do, too.
Your existing AI connection. Your local memory. A separate learning loop.
I’ll separate the retry policy from the request, then test failures and cancellation.
// Retry transient failures
export async function withRetry(send) {
for (let attempt = 0; ; attempt++) {
try {
return await send();
} catch (error) {
if (!shouldRetry(error)) throw error;
await backoff(attempt);
}
}
}await retry(() => createPayment())Retry the request. How many payments now?
When an agent makes every decision, you lose the repetitions that build judgment. Asking it to explain is useful—when you remember to ask.
Learning Harness gives that responsibility to a dedicated learning agent. It notices a useful idea in your actual work and offers a way in, while the coding agent keeps building.
Read the research on AI assistance and skill development ↗Selected work events and your learning goals shape the opportunity. A caching tradeoff, a concurrency bug, a design decision worth understanding.
Predict an outcome. Explore a visual. Work through a question. The learning agent chooses a tool for the concept and your level.
Local memory keeps your goals, practice evidence and review history. Future sessions can start where you left off.
The coding agent owns delivery. A separate learning harness owns teaching, tools and assessment. Coding never waits for a lesson.
Explore the architecture ↗Selected context goes to your existing host’s model connection. Learning Harness runs locally; memory stays on your device.
Follow the data ↗Learning uses additional tokens from your existing allowance. See the counters, pause learning, or turn it off whenever you want.
Understand token usage ↗Give your coding agent this prompt. It handles the matching installer and setup checks.
Install Learning Harness using https://learningharness.dev/install.mdFree public beta. Uses your existing model allowance. Native approvals and a restart may need you.
Unsigned macOS installers · Node.js22+
Desktop only. Claude may use an external browser.