PHP API
Motivation
The PHP surface is the native integration point for jobs, controllers, policies, and application services. It should remain the thinnest adapter because ReviewEngine owns orchestration.
Theory
Evidence risk review treats an answer as a set of claims
The package then combines evidence gaps, profile checks, and verdict precedence into a stable ReviewResult.
Design + Diagram
Data Model / Contract
EvidenceRiskReview::review, reviewArray, labelTier, listProfiles, and taxonomy are stable public entry points.
| Field | Meaning |
|---|---|
| artifact_id | Host-defined stable identifier. |
| claims | Discrete claims extracted by the host. |
| sources | Cited evidence with optional tier hints. |
| profile_key | Risk profile used for thresholds and checks. |
| findings | Structured review findings emitted by checks. |
ADR
Problem: adapters tend to grow business logic
Decision: keep PHP facade, Artisan, HTTP, and MCP as thin adapters over ReviewEngine.
Consequences: there is one behavior to test, but adapters must validate input carefully.
Problem: external review can become expensive
Decision: run cheap deterministic checks first and spend LLM budget only when enabled and useful.
Consequences: default installs have zero token cost, but hosts must bind an LLM contract for semantic review.
Worked Example
use Padosoft\EvidenceRiskReview\Facades\EvidenceRiskReview;
$result = EvidenceRiskReview::reviewArray($payload);
$profiles = EvidenceRiskReview::listProfiles();
Gotcha / Limits
The package reviews evidence strength and risk boundaries; it does not retrieve sources, extract claims automatically, or replace human review for regulated decisions.