@randomknights/earthplus
v1.2.1
Published
Earth+ (E+) 1.2.0, the Earth Health Score standard: the conformance checker (library and eplus-conformance CLI) that recomputes every number and liveness claim in a published earth.healthscore.v1 document, and the ratified methodology text
Maintainers
Readme
@randomknights/earthplus
Earth+ (E+), the Earth Health Score standard, version 1.2.0 (ratified 2026-09-22), as an npm package.
What Earth+ is
Earth+ is how Random Knights scores the health of the planet as one
published document: regional scores built from named, dated data sources
(air, ocean, land cover, fire, cryosphere and more), a headline that is the
exposure-weighted rollup of the published regions, a provenance block that
says which inputs are live, and a breach panel for the planetary boundaries.
The rule that holds it together: anyone holding only the published
earth.healthscore.v1 document can recompute every number in it and every
liveness claim it makes. This package is the tool that does that
recomputation.
The normative text is the methodology at https://standard.rand0m.ai. This package implements its conformance test (section 7); it does not replace it.
It carries three things, each built from its one canonical file in random-knights/standard:
| What | Import or command | Source in the repository |
| --- | --- | --- |
| The conformance checker, as a library | @randomknights/earthplus | eplus/v1/conformance/ |
| The same checker as a command | eplus-conformance | eplus/v1/conformance/src/cli.ts |
| The ratified methodology text | @randomknights/earthplus/methodology.md | eplus/v1/methodology.md |
There is no JSON Schema for earth.healthscore.v1: the checker reads the
document field by field as section 7 describes, and it bundles no schema.
Install
npm install @randomknights/earthplusNode 20 or newer. CommonJS, with TypeScript types. No runtime dependencies, no keys, no account.
Check a score document
npx @randomknights/earthplus ./health-score.json
npx @randomknights/earthplus https://example.test/health-score.json
npx @randomknights/earthplus --strict ./health-score.jsonWith no argument it checks the reference implementation's live document,
which is the only network address it knows. Exit codes: 0 conformant, 1
not conformant (every mismatch is printed with the published value, the
recomputed value and the rule), 2 the document could not be read.
--strict turns every warning into a failure. A warning is a requirement of
the standard the document does not meet that does not fail the default run:
a missing meta.eplusVersion, a missing breach panel, or a synthetic input
in a document that claims a pre-1.2.0 draft.
Use it as a library
const {
verifyPublishedScoreDoc,
formatConformanceReport,
} = require("@randomknights/earthplus");
const result = verifyPublishedScoreDoc(doc); // or (doc, { strict: true })
console.log(formatConformanceReport(result));
if (!result.ok) {
for (const f of result.findings) {
console.log(f.path, f.published, f.recomputed, f.note);
}
}The same works with import from an ES module.
What it checks
Checks 1 to 11 of methodology section 7.2 and the meta.eplusVersion
requirement of section 7.1: every sub-score weight, every region score and
confidence, the headline, global confidence and coverage, every global
sub-score, liveness and freshness per domain, the breach panel with its live
and assessed modes, the fire warm-up rule, and that no synthetic input feeds
the score. The table with each check is in the
conformance README.
Versions
The package's MAJOR and MINOR are the E+ standard version it implements, so
1.2.x implements E+ 1.2.0. The PATCH is this checker's own, and it moves when
the checker is fixed without the standard moving: a patch release never changes
a rule, a threshold or a published number. It is not the producer's
methodologyVersion; the methodology, section 9, explains the difference.
Changelog
This is the changelog of the checker package. The standard's own changelog is in the methodology, and nothing here moves it.
1.2.1 (2026-09-23)
The conformance summary line reports the two breach counts separately and by
the names E+ 1.2.0 gives them, liveBreachCount and assessedBreachCount,
instead of adding them together. Adding them was double counting: a boundary
that is breached live is also breached when it is assessed, so a document with
2 live and 5 assessed breaches was summarized as 7. No check, threshold or
verdict changes, and no published number moves. Only the printed summary is
different.
1.2.0 (2026-09-22)
First release under the ratified E+ 1.2.0: the two breach-panel evaluation modes, per-domain freshness windows, the fire warm-up rule, and the refusal of a synthetic input in a weight-carrying sub-score.
License
Two licenses, see NOTICE:
- The checker code (
dist/): Apache 2.0, inLICENSE. - The methodology text (
methodology.md): CC BY 4.0, inLICENSE-DOCS. Attribute "Random Knights, LLC, E+ Earth Health Score Methodology" with the version and a link to https://standard.rand0m.ai.
SPDX: Apache-2.0 AND CC-BY-4.0.
