Detect the first pattern
Poll and receive events from multiple systems, normalize them into fingerprints, and distinguish a genuinely new failure from a repeated symptom.
Pehredaar watches the software estate you actually run—errors, traces, uptime, releases and traffic—then turns weak signals into a durable issue record, a timely alert, and a verified path back to green.
Pehredaar is a Mac-side or containerized sentinel daemon. It is not another cloud dashboard that forgets your context; it is the durable operational layer between production signals, operators, and the fix.
Poll and receive events from multiple systems, normalize them into fingerprints, and distinguish a genuinely new failure from a repeated symptom.
New-fingerprint, spike, and repeat rules respect cooldowns before fan-out to Telegram, email, Slack, and signed webhooks.
SQLite WAL keeps sources, events, issues, watermarks, notifications, releases, forecasts, and learning history in one local, queryable record.

The important part is not the alert. It is the chain of custody after the alert.
A poller or signed push connector receives the event and stores it transactionally.
Fingerprints collapse noisy repeats into a single issue with occurrence counts and first/last-seen timestamps.
The alert engine evaluates new, spike, and repeat rules, then dispatches concurrently to configured sinks.
Optional council analysis and dry-run autofix can propose a PR; the recurrence window must stay clean before resolution.
Every source implements the same connector contract. Add a source without rewriting the daemon, changing the database model, or creating a second alert path.
| Signal path | What it gives the operator | Protection |
|---|---|---|
| Pull connectors | Watermarked polling with exactly-once database insertion and independent supervision per source. | JWT cache, rate floor, exponential backoff, compound timestamp/event cursor. |
| Push connectors | External services can POST traces or mapped errors into the same issue and alert pipeline. | HMAC-SHA256 verification, replay nonce prevention, SSRF and pinned-transport guards. |
| Notification fan-out | One issue can reach the team’s existing operational channels at the same time. | Per-transport status, cooldowns, bounded retries, signed outbound webhooks. |
Pehredaar can help move from issue to change, but it does not silently turn a production incident into an unreviewed merge.
Autofix is a proposal path first. A GitHub PR is created only after the configured gates pass; live production flip remains an explicit operator decision.
Repository and branch checks, issue context, council/analysis conditions, and policy controls are evaluated before a change can be proposed.
Configuration-time allowlists are reinforced at the transport layer with IP pinning and blocked-network checks for outbound integrations.
A broken or stalled connector is recorded and restarted without taking down the other source pollers or the operator dashboard.
The dashboard and API expose the operational record to humans and tools: issue drill-downs, traceback caching, release health, traffic, forecasting, natural-language queries, read-only MCP access, and multi-model analysis where configured.
Holt–Winters forecasts help distinguish normal variation from a growing error-rate pattern.
Natural-language query support turns the local record into an operator-facing investigation surface.
When a proposed fix stays clean through the verification window, that outcome becomes reusable operational knowledge.

The shipped core is useful now. Deferred items stay visible so operators can see exactly what is production-ready and what still needs a deliberate decision.
Connectors, WAL persistence, alert rules, notifications, RBAC, dashboard, forecasting, MCP, SSRF hardening, and stable test coverage.
GitHub integration, council-assisted analysis, dry-run PR generation, learning store, and human-gated verification.
Named tunnel, production VPS path, metrics, backup automation, live autofix cycles, and a URIP auto-ticket endpoint.
No silent PR auto-merge, no multi-tenant hosted SaaS claim, and no Pehredaar-of-Pehredaar circular dependency.
Start with URIP or one custom source. Add the rest when the alert path earns trust.