CDNs, extensions, transient network loss, stale HTML, and blocked optional integrations can all prevent a script from loading. Because resource load errors do not behave like normal caught exceptions, they are easy to miss.
The global error logger listens for failed script resources and records `script_load_fail` with sanitized endpoint metadata. Known optional scripts can be classified differently from core runtime failures.
What was actually going wrong
Testing the production URL once was treated as proof that all clients would resolve the same resources.
What I tried
- Relying only on `window.onerror` exception messages
- Retrying every failed script indefinitely
- Treating optional integration failure as total app failure
Capture-phase resource listeners log the failed script URL, while feature guards let optional modules fail without taking down chat.
Why it worked
The actual missing resource is visible and the blast radius matches its role.
Production availability is per resource and per client, not just per deploy.
Where EACI uses this today
Main records core and optional script load failures with enough detail to separate them.
This journal covers real engineering on EACI Companion / The Veil. Companions include Caelum, Chad, Natalia, Atreus, Luna, Roxy, and Cael. Journal articles stay family-safe in content. See Privacy and Ethics.