agent/php/Jobs
Snider 8117d89287 feat(agent/php): CaptureDispatchResultJob + MantisClient + ShaExtractor (#828)
Phase 3 lane: queueable Job that normalises Hermes fetch/event payloads,
extracts the first commit SHA via ShaExtractor (matches both forge URL
and bare 7-40 hex forms), builds a close-note with optional
?\Mod\AgentProfile profile reference, posts the Mantis note via
MantisClient->note(), then transitions the ticket to closed/fixed via
MantisClient->close().

ShaExtractor: extract($modelOutput): {?sha, ?repo, ?forge_url} regex
matcher for forge.lthn.sh commit URLs + bare SHAs.

MantisClient: thin Guzzle wrapper around tasks.lthn.sh REST API
(note + close), Authorization header, base URL via config.

Pest Feature test: 8 tests / 17 assertions covering forge URL parsing,
bare SHA parsing, note/close ordering, repo-hint fallback, missing-SHA
RuntimeException path. Verified via temp Composer harness (no checked-in
vendor/ at this repo level).

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

Co-authored-by: Codex <noreply@openai.com>
2026-04-26 00:44:23 +01:00
..
BatchContentGeneration.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00
CaptureDispatchResultJob.php feat(agent/php): CaptureDispatchResultJob + MantisClient + ShaExtractor (#828) 2026-04-26 00:44:23 +01:00
DeleteFromIndex.php feat(brain): add DeleteFromIndex job 2026-04-23 12:55:45 +01:00
EmbedMemory.php feat(agent/agentic): RFC foundation — atomic CompleteTask + credit ledger reconcile 2026-04-25 20:59:38 +01:00
ProcessContentTask.php revert fcb9c189e5 2026-04-23 12:32:57 +01:00