Skip to content

28.0.0

Latest

Choose a tag to compare

@jqnatividad jqnatividad released this 02 Nov 04:09
· 12 commits to master since this release

[28.0.0] - 2026-11-01 🧠 The "DCAT-US v3.0 neuro-symbolic F-AI-Rification" Release 🏛️

Highlights

~58 commits since 27.0.1, and the banner feature is profile writing much more of a DCAT-US v3.0 record for you, the metadata standard US Government is moving to as part of the Evidence Act, and subsequently, the Genesis Mission - as it turns out FAIR data is indeed AI-Ready Data for it's the perfect context for AI - it's token-efficient; describes very large datasets efficiently; and makes for faster inferencing.

qsv is a neuro-symbolic FAIRification engine, and this release puts both halves to work on the same record:

  • Symbolic: properties measured from the data. profile computes what is tedious and error-prone to write by hand from the stats and frequency it already runs, plus a SQL pass over the file: temporalResolution as an exact duration, accrualPeriodicity only when the dates really are a regular series, a spatial bounding box that drops out-of-range and "null island" rows, the dataset's language, DQV quality measurements, and CSVW column constraints and a primary key. --locate names the places a dataset covers, from the offline GeoNames index or the US Census Geocoder, and a WKT POINT column now counts as coordinates.
  • Neural: metadata an LLM proposes, checked before it is used. --describegpt or --infer adds a describegpt description, tags and data dictionary. Tags can be held to a controlled vocabulary, dictionary entries must name real columns, and a generated description says so in the description itself.

Every value records where it came from: values the publisher supplies win over inferred ones, and values measured from the file win over everything discovered. A new projection_provenance block lists which tier each value came from, and llm_attribution keeps the LLM run's command line, API URL and timestamp out of the published record. See the DCAT-US v3 and Metadata Profiling wiki pages.

Also in this release:

  • describegpt's answer cache works as documented. --fresh, --forget and multi-phase JSON/TOON runs all hit, replace or remove the entries they should, on disk and on Redis.
  • Data Schematics size themselves when embedded. A framed viz smart page reports its height to the host page, so CKAN can fit the iframe without injecting a script, and a map in a sandboxed iframe explains why it is blank.
  • Benchmarks on hyperfine 2.0, with peak memory recorded, suspect results quarantined, and new geocode geoclient benchmarks.
  • Least-privilege CI. Every workflow declares the GITHUB_TOKEN permissions it needs, and third-party actions are pinned to commit SHAs.

Read Breaking Changes before upgrading if you consume profile's DCAT-US v3 output: two of its properties changed shape.

🙏 Contributors

Thanks to everyone who made 28.0.0 possible:


Detailed Changelog: https://github.com/dathere/qsv/blob/master/CHANGELOG.md#v28-changes

Full Commit log: 27.0.1...28.0.0