agent/php/tests/Feature
Snider a1a0981b06 fix(agent/brain): retryableHttp narrows retryable set + 6-attempt budget
retryableHttp() now retries only 408 (Request Timeout), 429 (Too Many
Requests), and 503 (Service Unavailable). 500-and-other-5xx fail
immediately so the circuit-breaker registers them as a single
failure rather than smearing across retry attempts. Retry-After
honoured (numeric + HTTP-date), capped reasonably.

Attempt budget bumped to 6 so a burst of 5 transient 503s can recover
within ONE circuit-permitted call — the original concern from #311.

Note: CircuitBreaker is already applied OUTSIDE the logical Brain
operation by the MCP tool layer, not around each HTTP retry. The
nesting report was stale at this code shape; the real drift was the
retryableHttp() retry set + budget.

Pest coverage in CircuitBreakerTest:
- Recovered 503 burst → circuit stays closed, no failure registered
- Exhausted 503 burst → ONE breaker failure (not five)
- 429 + Retry-After 1 → sleeps 1s, no breaker failure
- 500 → immediate breaker failure, no retry

Co-authored-by: Codex <noreply@openai.com>
Closes tasks.lthn.sh/view.php?id=311
2026-04-25 18:14:40 +01:00
..
Agentic feat(agentic): implement §9 Services (FleetService + CreditService + SessionService) (#849) 2026-04-25 05:28:49 +01:00
Api feat(api): implement §3 fleet+credits+subscription+sync+agent-auth routes (#848) 2026-04-25 05:43:51 +01:00
Brain fix(agent/brain): retryableHttp narrows retryable set + 6-attempt budget 2026-04-25 18:14:40 +01:00
Console feat(brain): add brain:prune artisan command 2026-04-23 13:36:41 +01:00
Jobs feat(brain): add DeleteFromIndex job 2026-04-23 12:55:45 +01:00
Livewire revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Mcp fix(agent/brain): batch — org maxLength + retry semantics + forget index cleanup 2026-04-25 14:55:40 +01:00
Pipeline refactor(forge): route ScanForWork + ManagePullRequest through MetaReader 2026-04-23 18:21:28 +01:00
Services feat(brain): make BrainService::remember() async via EmbedMemory job 2026-04-23 13:29:30 +01:00
Sync feat(sync): update WorkspaceState workflow progress on dispatch push 2026-04-23 18:10:17 +01:00
.gitkeep revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgentApiKeyServiceTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgentApiKeyTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgenticGenerateCommandTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgentPhaseTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgentPlanTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AgentSessionTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
ApiKeyManagerTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
BrainMemoryTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
BrainSeedMemoryCommandTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
BrainServiceTest.php feat(brain): add org filter to BrainService::buildQdrantFilter() 2026-04-23 12:32:58 +01:00
ContentServiceTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
CreatePlanFromIssueTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
FleetControllerTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
ForAgentsControllerTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
ForgeActionsTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
ForgejoServiceTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
IpRestrictionServiceTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
IssueTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
PlanRetentionTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
PlanTemplateServiceTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
PromptVersionTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
ScanForWorkTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
SecurityTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
SessionControllerTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
SessionReplayTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
SprintTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
TaskCommandTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
TemplateVersionManagementTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
WorkspaceStateTest.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00