Skip to content

Releases: Studnicky/Squashage

v0.8.0 — Native Plugin Registry + Entity Resolution

Choose a tag to compare

@Studnicky Studnicky released this 22 Jun 20:21
Immutable release. Only release title and notes can be modified.

What's new in v0.8.0

Native plugin registry (dagonizer-native)

  • PluginLoader: discovers namespace from scatter body, calls register(dispatcher), loads *.dag.jsonld in topological order — mirrors ripperoni's plugin contract exactly
  • plugins/aonprd/: first-party plugin with discriminator/URL-pattern/structural/conflict classifiers, OntologyProjectionNode with plugin-owned JsonTologyOntology, and aonprd-record.dag.jsonld (11 nodes)
  • src/classifiers/index.ts: generic classifier building blocks exported, not registered by the framework
  • CLI: --plugin <namespace> and --workers <n> flags

Entity resolution

  • EntityIndex pre-scan + HrefReconciler inline collapse: 370,649 canonical edges created, 427,606 duplicate quads eliminated, 0 failures on 13,653-record AONPRD corpus
  • indexEntities pre-scatter node; in-pass dedup set

DAG topology cleanup

  • squashage-record.dag.jsonld: 19 nodes → 5 (minimal built-in; plugins override)
  • RunDag.build() deleted; squashage-run.dag.jsonld is the authoritative authored document
  • record-init deleted (state seeded from scatter metadata via ChildStateFactoryType)
  • NoOpClassifierNode deleted

Architecture

  • services.ontology always null; plugins build their own via loadCoreSchemaInputs()
  • OntologyProjectionNode takes ontology at construction (no longer a singleton)
  • classification and enrichment removed from core config schema
  • output.mode defaults to "stream"
  • BaseError ported as squashage-native (no external deps; cogitator removed)
  • build:plugins: tsconfig.plugins.json compiles plugins in-place

Graph viewer

  • Inspector rulebook: lazy per-concept data shards, local-name keys, stripped HTML blobs
  • Physics pause/resume: keep-alive gated on paused state

Demo

  • 41 MB → 19 MB; entity-resolved graph (0 duplicate quads, 0 failures)

Docs

  • Sidebar: Classifiers section with all 9 types + Writing a classifier guide
  • New pages: Discriminator, Structural, Rules, Schema (AJV), custom classifier
  • Getting Started, Walk-through, Plugins, Architecture, Pipeline, entity-link, ontology all rewritten for current architecture
  • Favicon: squash vegetable icon (base64 SVG, regenerated PNG suite)

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 18 May 15:54
Immutable release. Only release title and notes can be modified.
4c2be42

Fixed

  • Publish pipeline targets GitHub Packages and actually works. The publish workflow had three pre-existing bugs preventing publication on every release since v0.4.0: (1) called npm run type-check but the script is named typecheck; (2) targeted https://registry.npmjs.org instead of GitHub Packages; (3) used NPM_TOKEN secret (never provisioned) instead of the auto-issued GITHUB_TOKEN. Workflow now points at https://npm.pkg.github.com, authenticates with GITHUB_TOKEN, declares packages: write permission, and uses the correct script name. workflow_dispatch trigger added so future republish runs can fire without a master push.
  • package.json configured for publishing. Name scoped to @studnicky/squashage (GitHub Packages requires scoped names). private: true removed. New publishConfig.registry: https://npm.pkg.github.com, publishConfig.access: public, repository, bugs, homepage, and files fields added. files limits the publish tarball to dist/, README.md, LICENSE, CHANGELOG.md. Consumers import as @studnicky/squashage from GitHub Packages registry.

Squashage v0.4.0 — yamete-fidelity docs + em-dash cleanup

Choose a tag to compare

@Studnicky Studnicky released this 06 May 04:40

Squashage v0.4.0

Minor release — bundles mechanism-depth doc expansion, em-dash cleanup, and the last GitHub Actions baseline bump.

Added

  • Mechanism-depth expansions across 8 user-facing doc pages (architecture, pipeline, classification-engines, classifier-cascade, configuration, output, plugins, viz) following the yamete-fidelity bar: problem framing, state machines, determinism contract, edge cases. Fixed outdated cytoscape references in usage/viz.md to reflect the sigma + graphology engine since v0.2.0.

Changed

  • Em-dashes () replaced with plain punctuation (: for list/definition items, ; for clause joins, , mid-sentence) across README.md, docs/**/*.md, package.json, and docs/.vitepress/config.ts. 142 occurrences total.
  • actions/checkout 4 → 6 across all workflow files.
  • additionally ai-ism removed from docs/architecture.md.

Full changelog: CHANGELOG.md

Squashage v0.3.0 — dependency baseline refresh

Choose a tag to compare

@Studnicky Studnicky released this 06 May 01:28
2121049

Squashage v0.3.0

Minor release — dependency baseline refresh and GitHub Actions bumps.

Changed

  • TypeScript 5.9.3 → 6.0.3
  • @types/node 22.19.17 → 25.6.0
  • commander 12.1.0 → 14.0.3
  • globals 15.15.0 → 17.6.0
  • typescript-eslint 8.59.0 → 8.59.2
  • actions/deploy-pages 4 → 5, actions/github-script 7 → 9, actions/upload-artifact 4 → 7

Full changelog: CHANGELOG.md

Two GitHub-Actions PRs (actions/checkout 4 → 6, actions/upload-pages-artifact 3 → 5) remain open and require an OAuth token with workflow scope to merge — they will land in v0.3.1.

Squashage v0.2.1 — canonical CI + Ripperoni cross-link

Choose a tag to compare

@Studnicky Studnicky released this 06 May 00:38
47da6b7

Squashage v0.2.1

Patch release — CI infrastructure aligned with the json-tology canonical pattern, and the project descriptions / READMEs / docs cross-link with Ripperoni so the two-project pipeline reads coherently (Ripperoni → JSON → Squashage → RDF graph sausage).

Added

  • .github/dependabot.yml (npm + github-actions, weekly Monday, grouped).
  • .github/workflows/: changelog-check, license-check, security, stale, publish (publish gated by vars.NPM_PUBLISH_ENABLED so it lands disabled).
  • .github/labels.json.
  • .gitattributes LF normalization (preserves the existing linguist hints).

Changed

  • package.json description, README hero (cross-link to Ripperoni upstream), VitePress site description, and the GitHub repo description aligned to a single voice.

Full changelog: CHANGELOG.md

Squashage v0.2.0 — sigma+graphology WebGL chunked demo

Choose a tag to compare

@Studnicky Studnicky released this 05 May 22:11
384dce2

Squashage v0.2.0

Graph reconstitution pipeline + interactive WebGL demo.

Highlights

  • Visualisation engine replaced: cytoscape (canvas, 18 MB inline HTML, runtime layout) → sigma 3 + graphology + ForceAtlas2 (WebGL, chunked artifacts, layout baked offline). Cold load on the full 13 089-node / 40 078-edge AON corpus goes from "never finishes" to <5 s, even in hidden tabs.
  • Vendor bundle: 760 KB → 155 KB. HTML wrapper: 18 MB → ~170 KB.
  • Hover/select hue-shifts the focus node and its neighbours toward the rose accent (no resizing); labels render with a 4-px halo so they read against any cluster color; non-incident edges hide.
  • Streaming kicks off via setTimeout (rAF is throttled in hidden tabs).

Breaking

  • The viz CLI now emits a directory (<basename>/<basename>.html, index.json, chunks/*.json) instead of a single inline-everything HTML file. New --iterations <n> flag for FA2 override.

Try it

The deployed AON demo: https://studnicky.github.io/Squashage/examples/aonprd/aonprd.html

Full changelog: CHANGELOG.md

0.1.0-beta.1

0.1.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@Studnicky Studnicky released this 04 May 21:57

First public beta of Squashage.

Graph reconstitution pipeline. Consumes structured JSON records, classifies them through a deterministic cascade, projects into RDF/JS quads, and emits a single serialized RDF file or interactive HTML graph.

Highlights

  • Six classifier task classes: classify:source, classify:structural, classify:rules, classify:schema, classify:ontology, classify:conflict. Closed-vocabulary predicate engine; AJV cross-validation.
  • Output formats: Turtle, TriG, N-Triples, N-Quads, JSON-LD (RDF/XML and N3 deferred to v1.x).
  • Auto-derived prefixes (instances/graphs/vocabulary) from _source.url + target name; auto-built JSON-LD @context from the produced quad set.
  • Pre-write SHACL hook with quarantine emission; RDFC-1.0 canonicalization; atomic write.
  • Cytoscape graph renderer (squashage viz); offline self-contained HTML; live demo on the docs site.

Tests: 662 unit + 22 integration + 43 e2e.

Pre-1.0: this is a beta. Public API may change; v1.x will swap the OSS RDF stack for the unpublished @semantics/* workspace without changing application surfaces.