The first release that pairs the published gem with the interactive viewer the README has been showcasing, plus the supply-chain hardening that justifies shipping a vendored third-party JS file inside the gem.
Added
- Interactive
view --output htmlviewer. Replaces the static Mermaid embed with a Cytoscape.js-based page that renders 5k+ nodes, filters live bykind/confidence, supports a name-substring search, and copiespath:lineto the clipboard on node click. The Cytoscape library is vendored into the gem at a sha256-pinned version (lib/rigor/module_graph/templates/vendor/cytoscape.min.js); no CDN, no npm, no Dependabot auto-bump. Seedocs/plan.md"2D interactive viewer" for the supply-chain rationale. --path-mode {relative,absolute,none}flag onview— controls how node paths reach the viewer's click-through metadata.nonestrips paths from the HTML artefact, which is the right setting when sharing the file outside the project (PR comment, gist, …).--open-with vscodeflag onview— flips the node-click action from clipboard copy tovscode://file/<path>:<line>so the editor jumps straight to the source location.bundle exec rake vendor:verifytask — recomputes sha256 for every file invendor/CHECKSUMSand fails on mismatch. Wired into pre-commit on any staged file underlib/**/templates/vendor/**..github/dependabot.yml— weekly Bundler + GitHub Actions bumps;vendor/**is explicitly excluded so vendored third-party JS never auto-updates.bundle exec rake vendor:audit— 4-source cross-check (local sha256 / npm tarballdist.integrity/ tarball-internal copy / GitHub raw / every CDN). Readslib/rigor/module_graph/templates/vendor/MANIFEST.ymlfor the provenance metadata. Use on bump PRs; not part of the regular CI pipeline (network-using).- CI now runs
rake vendor:verifyindependently of pre-commit so an unaudited bump can't land onmaineven if local hooks were skipped. - CI now regenerates
examples/billing/viascript/ check_billing_drift.rband fails on drift between the freshly-built artefacts and the committed copies. Normalises the graphviz version banner so the runner's apt-shipped version doesn't trigger a false positive. - New
docs/security.mdconsolidates the supply-chain story (Bundler / Dependabot cooldown, vendored-JS sha256 + 4-source audit, action SHA pinning, OIDC trusted publishing).
Changed
view --output htmlsemantics. The flag now produces the interactive viewer. The previous static Mermaid HTML moves behind--output mermaid-html(still loads Mermaid from a CDN, kept for back-compat).- CI workflows read Ruby from
.ruby-versioninstead of pinning"4.0.0"inline, so future.ruby-versionbumps no longer need a.github/workflows/chase. - RDoc dependency bumped from
~> 6.0to~> 7.0(resolves to 7.2.0).gemspec.rdoc_optionscorrected to--markup markdownto match.rdoc_optionsand the Rakefile, fixing the silent inconsistency left when the README rendering fix landed in [0.1.2]. No code change;rake rdocemits no warnings under 7.x. - README hero leads with the Cytoscape viewer screenshot (the default output) and the Graphviz SVG follows.
examples/billing/preview.pngresized from 1280x860 to 720x483 so it fits the RDoc darkfish content pane on the GitHub Pages site without overflow. - README Documentation index re-ordered along the natural reading flow: how-it-works → security → limitation → development → plan.