A prebuilt snapshot of observatory.db — the queryable archive — for readers who want to look
without installing anything. Download, open in any SQLite browser, and query.
The database is DERIVED, and this file is a convenience, not a source of truth. The record is
the hashed JSONL in the repository. This snapshot can be deleted and regenerated at any time,
byte-identically, from those artifacts:
pip install hardmap
hardmap db buildat the commit this release targets (0ce3b2f) that rebuilds this database. The archive grows,
so a later checkout builds a later — and equally valid — one; pin to this tag if you want this content.
On comparing hashes. This file's sha256 is f84dd1fcaec5cbee…, and your rebuild will very likely
differ — that is expected and not a fault. SQLite stamps the version of the library that wrote a
database into its file header, so a different sqlite build produces a logically identical database with
different bytes. What is portable, and what you should actually compare, is in the attached
observatory_db_manifest.json: the 23 source hashes (of the JSONL, which is the record) and the
row counts. Those match across machines; the file hash is a within-environment fingerprint.
Every table carries the sha256 of the artifact it was compiled from, so the database and its sources can
be checked against each other rather than trusted — and if the two ever disagree, the JSONL is
right. The manifest is attached so you can verify all 23 source hashes without a checkout.
What's in it
| problem rows, with charges from classification theorems | 346 |
| frames of measured region geometry along difficulty ramps | 2,032 |
| catalog cells (descriptors, versioned extraction rule) | 446 |
| candidate questions enumerated, screened and dispositioned | 1,942 |
| reserved rows — declared, never captured | 16 |
| maptrail records — what changed, in the domain's vocabulary | 83 |
The unusual table is candidates: every question the data could have supported and why each was
screened, held, sealed or killed. A multiple-comparisons correction computed from an enumeration you
can audit, rather than a number you have to trust.
Getting started
hardmap query --list # eight worked queries, by name
hardmap query rejected-candidates
hardmap query --sql "SELECT COUNT(*) FROM catalog WHERE excess_ref IS NOT NULL"Or in a SQLite browser, start with SELECT * FROM maptrail ORDER BY at — the biography of the
territory.
A snapshot, not a version. This is a dated data release, deliberately not tied to the package
version: the archive grows with every batch and the code that reads it moves on its own schedule.
Tags of the form archive-YYYY-MM-DD are data snapshots; vX.Y.Z are the software.