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

archetech / archon / 32521171895
87%

Build:
DEFAULT BRANCH: main
Ran 21 Aug 2026 08:01PM UTC
Jobs 1
Files 91
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

21 Aug 2026 07:58PM UTC coverage: 93.982% (+0.008%) from 93.974%
32521171895

push

github

web-flow
test(gatekeeper): Cover the universal-resolver skip in Rust, and say why it falls open (#918)

#899 fixed both flavors but tested only TypeScript, so a Rust refactor could
drop the `!is_own_method` clause and leave every check green. That is the shape
of #799, where a TS-only fix shipped for a bug both ports had.

tests/universal_resolver_fallback.rs spawns the real binary with
ARCHON_GATEKEEPER_FALLBACK_URL pointed at a TCP listener that counts requests
and answers immediately, so nothing waits on the fallback timeout. Five cases:
an unresolvable DID of this node's own method never reaches the resolver; a
foreign method still does; a custom prefix is honoured (its own method skipped,
did:cid delegated as foreign); a locally-known DID never reaches it; and an
empty prefix falls back to the default.

That last one corrected an assumption. I wrote it expecting the documented
fall-open, and it failed: `env_var_or_default` filters blank values, so an
explicitly empty ARCHON_GATEKEEPER_DID_PREFIX yields "did:cid" and the skip
still applies. TypeScript does the same via `|| 'did:cid'`. So the fall-open
branch is real but unreachable through configuration -- defensive only, in both
flavors -- and no environment can accidentally disable the skip. The test now
pins that rather than the behaviour I assumed.

The Rust check is also explicit now. It relied on `format!("{}:", "")` yielding
":" (which no DID starts with) to fall open, which is correct by accident of
string shape; it says `!prefix.is_empty()` like the TypeScript side.

Verified by mutation: removing `!is_own_method` fails three of the five.

No cargo fmt churn -- the crate has 91 pre-existing fmt diffs on main
(AGENTS.md). Only the new file is formatted; rustfmt reformatting
tests/common/mod.rs through `mod common;` was reverted.

Refs #899

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

3791 of 4272 branches covered (88.74%)

Branch coverage included in aggregate %.

8437 of 8739 relevant lines covered (96.54%)

686.21 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32521171895.1 21 Aug 2026 08:01PM UTC 182
95.0
GitHub Action Run
Source Files on build 32521171895
  • Tree
  • List 91
  • Changed 77
  • Source Changed 0
  • Coverage Changed 77
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #32521171895
  • b1c872cb on github
  • Prev Build on main (#32519449960)
  • Next Build on main (#32545848637)
  • 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