agent/php/tests/Feature
Snider 1872424cfd feat(agent/brain): lift OpenBrain discovery features (search/discoverTags/listScopes) (#180)
Bounded subset of RFC-OPENBRAIN lifted from lab/lthn.ai shim into the
OSS BrainService at php/Services/BrainService.php:

- search(query, filter, pagination): Elasticsearch path first, falls
  back to MariaDB if ES is unavailable. Operates on active/latest
  memories only.
- discoverTags(filter): tag-cloud / popular-tags discovery scoped to
  authenticated org(s).
- listScopes(filter): org/project distribution counts for the
  authenticated session.

All three:
- Enforce bounded inputs (per #1001 patterns)
- Honour org auth (per #312 patterns)
- Only operate on active/latest memories (active=1, deleted_at IS NULL)

Self-hosters now get the same discovery surface that lab/lthn.ai
exposes — no need to fork the OSS service to access these features.

Pest covers: bounds-violation rejection, fallback behaviour, scoped
discovery returning correct org/project breakdowns.

Lab-only features still out of scope for this lane (would pull in
extra schema/models/events): agentContext, recall feedback,
maintenance lifecycle (reindex/consolidate/clean/prune). Those need
follow-up tickets if/when bounded-lift becomes possible.

Co-authored-by: Codex <noreply@openai.com>
Closes tasks.lthn.sh/view.php?id=180
2026-04-25 20:39:14 +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 feat(agent/brain): lift OpenBrain discovery features (search/discoverTags/listScopes) (#180) 2026-04-25 20:39:14 +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 feat(agent/mcp): McpContext::getScopes() + hasScope() (HIGH) 2026-04-25 19:04:35 +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