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

shexjs / shex.js / 29375716904
75%

Build:
DEFAULT BRANCH: main
Ran 14 Jul 2026 11:19PM UTC
Jobs 1
Files 62
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

14 Jul 2026 11:17PM UTC coverage: 74.131% (+0.3%) from 73.815%
29375716904

push

github

Eric Prud'hommeaux
shexmap: MaterializerDebugger -- step-through materialization with breakpoints

doc/debugger-design.md: a ShEx/ShExMap debugger design.  Suspension per
engine: the materializer's interpreter loop becomes a step-event
generator (implemented here); the recursive synchronous validator gets
worker + Atomics.wait gating (designed, with COOP/COEP served by a
future shex-serve --coi).  One event protocol, depth-based
into/over/out as pure controller logic, clone-safe breakpoints.

Implemented:
- ThreadedMaterializer.materialize() now drains this.run(), a generator
  yielding {tripleConstraint, fail, return} events with an inspectable
  thread snapshot {subject, depth, frame, consumed, emitted} -- the
  binding-tree cursor is the ShExMap 'variables view'.  Non-debug
  behavior is byte-identical (existing suite unchanged).  Return events
  carry the caller's depth so step-out lands on call completion.
- MaterializerDebugger: stepInto/stepOver/stepOut/continue plus
  breakpoints on schema TripleConstraints (by object), predicates
  (clone-safe), and the lexical representation of synthesized nodes.
- locate.exprAt(offset)/shapeAt(offset) in @shexjs/editor-services:
  editor gutter clicks resolve to the innermost schema object, tested
  end-to-end (offset -> tc -> the same object the engine pauses on).
- fail events surface branch death -- the silent-collapse class of
  problem, live.

doc/refinements-backlog.md: the running list of deferred refinements
(tree-sitter-shexc/Lezer, millan items, editor deferrals, PikeVM/TDFA,
modernization majors, sharp edges), to be extended as they accrue.

Tests: 8 debugger cases; 5054 passing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

2289 of 3622 branches covered (63.2%)

Branch coverage included in aggregate %.

130 of 135 new or added lines in 2 files covered. (96.3%)

5193 of 6471 relevant lines covered (80.25%)

6882.55 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
84.72
-0.15% packages/extension-map/lib/ThreadedMaterializer.js
Jobs
ID Job ID Ran Files Coverage
1 29375716904.1 14 Jul 2026 11:19PM UTC 62
74.13
GitHub Action Run
Source Files on build 29375716904
  • Tree
  • List 62
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29375716904
  • f8424de3 on github
  • Prev Build on main (#29374493162)
  • Next Build on main (#29376363217)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc