{"repo":"malikad778/php-sentinel","free":true,"listed":false,"github":"https://github.com/malikad778/php-sentinel","clone":"git clone https://github.com/malikad778/php-sentinel.git","description":"Passive API Contract Monitoring for PHP 8.3+. Detects breaking changes, json schema drift, and unexpected structural modifications in third-party REST APIs via probabilistic inference.","language":"PHP","stars":19,"topics":["api","drift-detection","json-schema","laravel","monitoring","php","psr-18","schema-validation","symfony"],"license":"MIT","category":"analytics","readme_excerpt":"PHP Sentinel 🛡️ Passive API Contract Monitoring for strictly typed PHP 8.3+. Sentinel silently monitors the JSON payloads returning from the third-party APIs you consume, automatically infers their structural JSON Schema, and detects when they change unexpectedly (drift). ❓ What Is It & What Does It Do? When you integrate with external REST APIs, you build your internal systems, DTOs, and mappings around the structural \"contract\" of their responses. But APIs change—fields become nullable, new enum values appear, or keys are dropped entirely. Usually, you don't find out until your app crashes in production. PHP Sentinel solves this. It acts as a passive proxy middleware on your HTTP clients (like Guzzle). 1. Sampling: It watches the first N successful JSON responses from an endpoint and probabilistically infers the underlying JSON Schema (figuring out which fields are required, optional, null, what the enums are, and the exact nesting structure). 2. Hardening: After enough samples, it locks in a \"Baseline Schema\" and stores it. 3. Drift Detection: On all future requests, Sentinel compares the live response against your locked baseline. If the API adds, removes, or changes the type of any field, Sentinel instantly detects the drift. 4. Alerting: Sentinel logs the drift to your PSR-3 Logger (e.g., Laravel's or Symfony's logger) and dispatches a PSR-14 Event so you can alert your team via Slack, Sentry, or email before it breaks your app. ✨ Features Zero-Touch Inference: Automat","default_branch":null,"files":null,"tree":[],"storefront":"/r/malikad778","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/malikad778/php-sentinel/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}