Know what happened.
Verify what was fixed.
Pathrule Signals connects what your app does at runtime with the agents that change it. Errors and events are grouped by the code path they came from, your coding agent can read them, and a fix counts as verified only when the next release proves it.
- TypeError in submitOrderrelease 2.4.0, 37 occurrences, the baseline
- Fix recorded by your agenta claim, not proof
- Release 2.4.1 under observation60 min, 3 envelopes, 3 successful checkouts
- Verifiedno recurrence in the newer release
Any occurrence in 2.4.1 or later sets the group back to recurred.
Three ways to run it.
- open-source SDKStandaloneThe Apache-2.0 SDK posts to an HTTP collector you run. No Pathrule account and no Cloud.
- no accountPathrule LocalEvents go to the Pathrule host on your machine, which stores, groups and verifies them and lets your agent read them. Run
pathrule init --localonce. - managedPathrule CloudManaged ingestion with write-only project keys and retention, read by agents with your session. Part of Pro, Team and Enterprise.
Standalone and Local need no account and no paid plan. Cloud Signals is part of Pro, Team and Enterprise.
Instrument once.
import { pathrule, httpCollector } from "@pathrule/signals"; pathrule.init({ destination: httpCollector({ url: "https://collector.example.com/signals" }), environment: "production", release: { version: "2.4.0", commit: process.env.GIT_SHA },}); pathrule.error(error, { node: "/apps/web/checkout", flow: "checkout" });pathrule.event("order placed", { node: "/apps/web/checkout", flow: "checkout", meta: { outcome: "success" },});
Every error and event names its code path and flow. A release identity is what makes verification possible, and a success on the same flow is what proves a fix.
Verified means the runtime says so.
- grouped
- One group per environment, kind and fingerprint, built from the label, flow and code path. A retried envelope is stored once.
- observing
- A newer release starts observation. The baseline release, events without a release and anything before the fix never count.
- verified
- At least 60 minutes, 3 envelopes from the newer release and 3 successes of the group's own flow.
- quiet
- 24 hours and 3 envelopes without a recurrence, for a group that has no flow to prove.
- recurred
- Any occurrence in a newer release, even after verified. The group is active again.
Recording a fix is a claim, not proof. Only runtime evidence from a newer release can resolve a group; nobody resolves one by hand.
Your agent reads it.
Runtime: 2 active issues under apps/web/checkout (1 came back after a fix).Inspect with pathrule_runtime_events.
- pathrule_runtime_events
- Reads groups with their verification state, recorded corrections and coverage, filtered by path, kind, environment or state.
- pathrule_runtime_events_resolve
- Records a correction against a group's revision. It is a claim; the runtime decides whether it holds.
- pathrule instrument events
- The same groups in a terminal, for example with --verification recurred.
The runtime line carries counts only, never the reported content, and everything an agent reads from Signals is marked as untrusted observation.
Questions.
Do I need a Pathrule account?
No. In Standalone mode the SDK posts to a collector you run, and in Pathrule Local the host on your machine stores and verifies events. An account is needed only for Pathrule Cloud.
Is Signals an analytics tool?
No. It has no users, sessions or funnels. It records errors and the events that show a flow working, grouped by code path, and a scrub hook in the SDK config can remove anything sensitive before it is sent.
What makes a fix verified?
Evidence from a newer release: at least 60 minutes of observation, 3 envelopes from that release and 3 successes of the group's own flow. A recorded fix is a claim, and any later occurrence sets the group back to recurred.
What does Pathrule Cloud add?
Managed ingestion with write-only project keys, retention, Cloud fix recording and verification, and agent access with your own session, on Pro, Team and Enterprise. A Team organization shares one Cloud Signals allowance across its members.