Skip to content
docs
Arxo ↗

Corpus guide: what lives here

For LLMs8 sections

The corpus is the collection of packages kept in the repository. A package is a versioned folder of source files with a manifest. Some packages formalize an act, some hold a shared vocabulary, some are supporting libraries. A case package holds one worked example: the facts of a case and the results expected from them.

Every package records the exact versions of the packages it uses. This topic calls that record a pin. The package together with everything it uses, at those exact versions, is its world: the complete set of packages that answers a question. Because the world is fixed, the same question gives the same answer on every machine.

This topic shows how to organize packages in the corpus, how to keep their text tied to the official sources, how to measure and review coverage, how to release and upgrade packages, and how several authors work in one tree without disturbing each other.

  • Public release: the installed law 0.1.1 binary and the lab bundle. This covers the lab tour and most commands on these pages.
  • Source checkout: the repository’s ./law launcher. Only four commands need it — gen, query, answers, and ingest; the public binary answers each with unknown command.

The exact toolchain behind every transcript is listed under Reproduction details at the end of this page.

Changes, releases, import, alignment, discovery

Section titled “Changes, releases, import, alignment, discovery”

The lab is a fictional parcel-registry domain used for runnable examples that must never be mistaken for real law. Its fixtures are cited by package id throughout this topic: labparcels.iface (shared vocabulary, no rules), labparcels.registry (the fictional source act plus rules), labparcels.fees and labparcels.appeals (consumers of the registry world), and labparcels.case1 (the worked case over the locked world). Two further lab fixtures carry the worked examples on the import and impact pages. The guided tour runs these fixtures end to end, and the worked solutions record every command with its output; the lab templates ship blank beside filled on the same fixtures; the exercises in A package in the corpus cover the same moves on a real package.

The corpus topic summarizes and links; it does not fork. The pages below remain the primary reference for their subjects:

Pages in this topic tag capabilities with a short letter. The words are the primary meaning; the letter is a compact mark for the same thing.

MarkIn wordsWhat it tells you
SAvailable in the public releaseThe command or behaviour ships in the installed law release.
IRequires a source checkoutInternal tooling: only the repository’s ./law launcher has it.
XExperimentalAn experimental profile; it may change.
OSchema onlyThe format is published as a schema.
TTeam conventionA rule the team keeps; the tools do not enforce it.
UUnconfirmedThe guide promises nothing about the item.
GFull-profile CI checkThe full-profile continuous-integration run checks it.

The letters mix several properties — availability, maturity, team convention, and which check covers an item — so they are not a confidence scale: S is not “more certain” than T. Absence of a mark is never a promise either.

  • Fixtures are cited by package id, never by location.
  • Fenced commands were run; fenced outputs are verbatim results.
  • Anything marked unconfirmed, or not marked at all, is something these pages deliberately refuse to promise.
Toolchain, hashes, and full transcripts

Pinned toolchain. These pages run on two routes. The public route is the installed law-v0.1.1 release against the lab bundle; the checkout route is the repository’s ./law launcher for the tools the public composition omits. Every fenced command was run on the route its section names, and every fenced output is verbatim. The public toolchain behind the tour:

Output
$ law version
law 0.1.1
semantics: law.core/0.2
std for language 0.2: 0.2.0
lawql: lawql/1 (queryResult 0.1)
binary hash: sha256:cfa7c17232f2dc594e665dbbf2ad3c154675797ef4be07ef7d758c9abfb80a28

(macOS arm64; Linux x64 reports sha256:be8b4fbbaac81a58e2e70ad5f9e1c9d5a3b0e7d6dd16209d30221f13b34e9c4d.) The release archives live at https://github.com/arxohq/law-releases/releases/tag/law-v0.1.1; the bundle’s PINNED.md repeats the archive and binary hashes.

Build warnings on the error stream are omitted from fenced output throughout; where output below comes from the error stream or is an excerpt, the fence says so.

Composition boundary. The boundary splits the command surface in two: gen, query, answers, and ingest are absent from the public composition — the installed binary answers each with unknown command — while every other command these pages use ships in it. Marks follow that split on every page: the missing four are I, never S; S covers the public command surface and observed engine behavior. (./law help --json in a checkout reports the same four as internal.) Each transcript below repeats its own law version footer. When two runs disagree, compare the first line for the tool and the last line for the exact bytes — the hash differs per platform.

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.