agent/php
Snider e83c3d811d feat(pipeline): add MetaReader contract + Forgejo-backed implementation
Introduce a pipeline metadata surface that enforces "no body content
ever reaches pipeline decisions". MetaReader is an interface with four
methods (getPRMeta, getEpicMeta, getIssueState, getCommentReactions),
each returning a readonly DTO carrying only structural fields —
state, mergeability, SHAs, branches, reaction counts, child linkage.
ForgejoMetaReader projects raw Forgejo API payloads into these DTOs
and drops body/description/review text before the caller can see it.

Unit test mocks rich Forgejo payloads containing body, description,
review_text, and comment_body, then asserts the DTO toArray output
never exposes those keys — the regression fence for the RFC rule.

Downstream callers (ScanForWork, ManagePullRequest) still use the
raw ForgejoService today; that refactor lands under Mantis #90.

Closes tasks.lthn.sh/view.php?id=89

Co-authored-by: Codex <noreply@openai.com>
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-23 18:09:54 +01:00
..
Actions revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Configs revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Console/Commands feat(brain): add brain:prune artisan command 2026-04-23 13:36:41 +01:00
Controllers feat(brain): add GET /v1/brain/search — ES full-text endpoint 2026-04-23 13:54:11 +01:00
docs revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Facades revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Jobs feat(brain): add DeleteFromIndex job 2026-04-23 12:55:45 +01:00
Lang/en_GB revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Mcp revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Middleware revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Migrations feat(brain): add EmbedMemory job + indexed_at tracking 2026-04-23 12:47:10 +01:00
Models feat(brain): add EmbedMemory job + indexed_at tracking 2026-04-23 12:47:10 +01:00
Pipeline feat(pipeline): add MetaReader contract + Forgejo-backed implementation 2026-04-23 18:09:54 +01:00
Routes feat(brain): add GET /v1/brain/search — ES full-text endpoint 2026-04-23 13:54:11 +01:00
Service revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Services feat(brain): add GET /v1/brain/tags + /v1/brain/scopes 2026-04-23 13:52:50 +01:00
Support revert fcb9c189e5 2026-04-23 12:32:57 +01:00
tests feat(pipeline): add MetaReader contract + Forgejo-backed implementation 2026-04-23 18:09:54 +01:00
View revert fcb9c189e5 2026-04-23 12:32:57 +01:00
.DS_Store revert fcb9c189e5 2026-04-23 12:32:57 +01:00
agentic.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
AGENTS.md revert fcb9c189e5 2026-04-23 12:32:57 +01:00
Boot.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
config.php fix(brain): Postgres portability for brain connection + migrations 2026-04-23 12:32:58 +01:00
FINDINGS.md revert fcb9c189e5 2026-04-23 12:32:57 +01:00
GEMINI.md revert fcb9c189e5 2026-04-23 12:32:57 +01:00
TODO.md revert fcb9c189e5 2026-04-23 12:32:57 +01:00