Releases: Studnicky/Squashage
Release list
v0.8.0 — Native Plugin Registry + Entity Resolution
What's new in v0.8.0
Native plugin registry (dagonizer-native)
PluginLoader: discovers namespace from scatter body, callsregister(dispatcher), loads*.dag.jsonldin topological order — mirrors ripperoni's plugin contract exactlyplugins/aonprd/: first-party plugin with discriminator/URL-pattern/structural/conflict classifiers,OntologyProjectionNodewith plugin-ownedJsonTologyOntology, andaonprd-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
EntityIndexpre-scan +HrefReconcilerinline collapse: 370,649 canonical edges created, 427,606 duplicate quads eliminated, 0 failures on 13,653-record AONPRD corpusindexEntitiespre-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.jsonldis the authoritative authored documentrecord-initdeleted (state seeded from scatter metadata viaChildStateFactoryType)NoOpClassifierNodedeleted
Architecture
services.ontologyalways null; plugins build their own vialoadCoreSchemaInputs()OntologyProjectionNodetakes ontology at construction (no longer a singleton)classificationandenrichmentremoved from core config schemaoutput.modedefaults to"stream"BaseErrorported as squashage-native (no external deps; cogitator removed)build:plugins:tsconfig.plugins.jsoncompiles 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
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-checkbut the script is namedtypecheck; (2) targetedhttps://registry.npmjs.orginstead of GitHub Packages; (3) usedNPM_TOKENsecret (never provisioned) instead of the auto-issuedGITHUB_TOKEN. Workflow now points athttps://npm.pkg.github.com, authenticates withGITHUB_TOKEN, declarespackages: writepermission, and uses the correct script name.workflow_dispatchtrigger added so future republish runs can fire without a master push. package.jsonconfigured for publishing. Name scoped to@studnicky/squashage(GitHub Packages requires scoped names).private: trueremoved. NewpublishConfig.registry: https://npm.pkg.github.com,publishConfig.access: public,repository,bugs,homepage, andfilesfields added.fileslimits the publish tarball todist/,README.md,LICENSE,CHANGELOG.md. Consumers import as@studnicky/squashagefrom GitHub Packages registry.
Squashage v0.4.0 — yamete-fidelity docs + em-dash cleanup
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.mdto 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) acrossREADME.md,docs/**/*.md,package.json, anddocs/.vitepress/config.ts. 142 occurrences total. actions/checkout4 → 6 across all workflow files.additionallyai-ism removed fromdocs/architecture.md.
Full changelog: CHANGELOG.md
Squashage v0.3.0 — dependency baseline refresh
Squashage v0.3.0
Minor release — dependency baseline refresh and GitHub Actions bumps.
Changed
- TypeScript
5.9.3 → 6.0.3 @types/node22.19.17 → 25.6.0commander12.1.0 → 14.0.3globals15.15.0 → 17.6.0typescript-eslint8.59.0 → 8.59.2actions/deploy-pages4 → 5,actions/github-script7 → 9,actions/upload-artifact4 → 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
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 byvars.NPM_PUBLISH_ENABLEDso it lands disabled)..github/labels.json..gitattributesLF normalization (preserves the existing linguist hints).
Changed
package.jsondescription, 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
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
vizCLI 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
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@contextfrom 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.