@id <base>/bootstrap/bootstrap.jsonld
served at <base>/bootstrap/bootstrap.jsonld
The file names itself with its @id. If the address it is published at
differs, the @id leads nowhere, in the one file whose purpose is to be looked
up. So the publisher derives the published path from the @id, never the
other way round, and there is exactly one publisher. Two publishers at
one address means whichever runs last wins, and nobody can see it happen.
That publisher is bootstrap's toolset, never bootstrap itself (FR-7). Only the published build adds the commit
and time it was made from (PROV, at the top level); a build for a check leaves
them out, so two checks of one tree agree.
The address follows the general pattern for anything a Harness publishes:
<base>/<harness name>/<file>, with bootstrap as the Harness name.
.json copy<base>/bootstrap/bootstrap.json
Many web hosts serve .jsonld as a download rather than as text, so a person
who clicks a link would get a file instead of seeing it. The .json copy is
for them. The .jsonld is the real one: it is what the @id names, and
what a program following the @id receives.
The file is built when the site is published and is not committed. A committed copy could go out of date with nothing to notice, and no step of the README asks a reader to open it: a reader with nothing installed is sent to the README, the Process diagram and the Skills, all of which are plain files. If a reader with nothing installed ever needs this file, the right change is a README step that says so, together with a check that fails when the committed copy is out of date.
bootstrap-graph-emission: what the file
contains, and the four properties it holds