Crumbtrail SDKs and CLI — bug-context capture for coding agents. Source for the crumbtrail, crumbtrail-core, crumbtrail-node, crumbtrail-react, crumbtrail-react-native and crumbtrail-tauri npm packages.
Diagnose an intermittent failure caused by ordering, where derived state is read after it was invalidated: a response that lands after the thing it was for went away, two writes that overwrite each other, a value that flips back. Use when the same steps sometimes work and sometimes do not. Names the Crumbtrail timing…
Diagnose a failure whose real defect lives in a pinned upstream library rather than in application code, and whose fix is a version bump that may import the next breaking change. Use when a flow stopped working with no application change anyone can point at, when a symptom appeared everywhere at once, or when a bump…
Diagnose a failure that appears only after content or configuration was promoted from one environment to another, where the promotion tool diffed by name and exact structure and a drifted schema, a duplicate name, an unsupported sub object or a rename broke the comparator, or the promotion reported success and…
Diagnose a failure that differs between users or accounts on the same build because a feature flag or toggle is unset, stale, or doubling as configuration. Use when a feature works for one user and not another with identical code, when an old toggle blocks a new path, or when behaviour differs and nobody can say which…
Diagnose a value that is serialized in one context and parsed in another, so a time zone, locale, calendar or numeric format flips it: off by hours, off by a day at midnight, a decimal separator swapped, money out by a factor. Use when a value is right in one place and wrong in another. Points at the recorded…
Diagnose a failure where the reported status disagrees with the work, because status is written on a separate path from the work itself: success shown on failure, in progress forever, sync complete with zero rows, a 200 followed by a mid stream error. Use when an action was acknowledged and the effect is absent or…
Diagnose a crash caused by an always present optional field that was absent for one row, model or mode, or by a null or oddly typed value reaching code that assumed presence. Use when a stack shows a property read on undefined or null and only some data triggers it. Explains how to read the captured payload that fed…
Diagnose a failure that appears only on a rewritten or second implementation of a surface, where the new path silently omits behaviour the old path had. Use when a reporter says a feature works on the old screen, the old route, the old renderer or the previous release, and not on the new one. Explains which Crumbtrail…
Diagnose a failure where a delete or a rename did not cascade to every row or pointer referencing the object, and the orphan detonates later in whatever dereferences it next. Use when something unrelated broke after a removal, when an object appears half gone, or when a screen fails on a reference to something that no…
Diagnose a failure that works at small size and dies at a round number, where a fixed timeout, a parameter cap, a row maximum, an identifier length limit or an operation sized for the median account becomes fatal for a large one. Use when a flow works for most accounts and fails for the biggest, when something…
Diagnose a change that does not take effect until a reload, a logout or a navigation away and back, because a cache or a piece of derived state has no invalidation hook on write. Use when a save appears to work but the screen keeps showing the old value. Names the Crumbtrail queries that prove the write landed, and…
Diagnose a failure caused by something outside your control changing its payload, its authentication or its semantics, breaking a thin adapter that trusted the old shape. Use when an integration that worked for months starts failing with nothing shipped on your side, when a vendor call still returns success while the…