• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

archetech / archon / 34038971416
87%

Build:
DEFAULT BRANCH: main
Ran 06 Sep 2026 02:27PM UTC
Jobs 1
Files 93
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Sep 2026 02:22PM UTC coverage: 92.484% (+0.001%) from 92.483%
34038971416

push

github

web-flow
fix(services): Make a failed startup fatal instead of a logged line (#1057)

* fix(services): Make a failed startup fatal instead of a logged line

Every long-running service installed uncaughtException and unhandledRejection
handlers that logged and returned. All four do their real startup after
binding a port -- from inside the listen callback, or from a main() nobody
awaits -- so a throw there was a rejection those handlers swallowed. What
remained was a process that answered /version and /metrics, failed every real
route, and never exited. Keymaster and Herald each grew their own
try/process.exit wrapper for it (#1048, #1050); Gatekeeper installed its
handlers after main() was already running, and the Hyperswarm mediator binds
its metrics port partway through startup.

Give them one guard that is fatal until the service says it is up, and
tolerant afterwards so a bad request still cannot take a running service
down. The two hand-rolled wrappers go with it: Herald's covered only part of
its bootstrap, leaving initServiceIdentity and ensureIpnsKeyExists swallowed.

Herald's routes module no longer installs process handlers either -- every
test that built the routes was installing them on its worker.

Closes #1053

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GYGMfX3foBcVqP7AQNXjWj

* fix(common): Map the new subpath for legacy type resolution, and parse the guard test

typesVersions carries every other @didcid/common subpath, and a consumer on
TypeScript's `node` resolution reads the published package through it. Without
an entry, `@didcid/common/process-guards` resolves to TS2307 there.

The entry-point assertions counted occurrences of startupComplete in the file
text. Three of the four services name it in their comments as well, so
deleting the call itself left keymaster at three occurrences and herald at
two, and the test stayed green for the regression it exists to catch. Parse
the file ... (continued)

3928 of 4518 branches covered (86.94%)

Branch coverage included in aggregate %.

12 of 12 new or added lines in 1 file covered. (100.0%)

8574 of 9000 relevant lines covered (95.27%)

721.21 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34038971416.1 06 Sep 2026 02:27PM UTC 186
93.58
GitHub Action Run
Source Files on build 34038971416
  • Tree
  • List 93
  • Changed 78
  • Source Changed 1
  • Coverage Changed 78
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #34038971416
  • 59ce2bf4 on github
  • Prev Build on main (#34003527198)
  • Next Build on main (#34040715412)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc