# LintTestLoop

**Kind:** Class

**Source:** [`atloria-monorepo/libs/agent-core/src/autonomous/lint-test-loop.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/libs/agent-core/src/autonomous/lint-test-loop.ts#L50)

Tracks edit-then-verify cycles and generates appropriate nudges.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `recordEdit` | `recordEdit(filePath: string)` | `void` |
| `recordVerification` | `recordVerification(passed: boolean, turnNumber: number)` | `void` |
| `getNudge` | `getNudge()` | `string | null` |
| `getState` | `getState()` | `Readonly<LintTestState>` |
| `reset` | `reset()` | `void` |
| `isEditTool` | `isEditTool(toolName: string)` | `boolean` |
| `isVerificationCommand` | `isVerificationCommand(command: string)` | `boolean` |

## Where it refuses work

- `LintTestLoop` stops the work with an early return when `!this.config.lintCommand && !this.config.testCommand && !this.config.typeCheckCommand`.
- `LintTestLoop` stops the work with an early return when `this.state.maxRetriesExceeded`.
- `LintTestLoop` stops the work with an early return when `this.state.editsSinceLastVerification < this.config.minEditsBeforeNudge`.
- `LintTestLoop` stops the work with an early return when `this.state.verified`.
- `LintTestLoop` stops the work with an early return when `this.state.consecutiveFailures > 0`.
