Skip to content

docs: Describe the shapes of basou board (board.yaml, the record's input, records and the measurement) - #370

Merged
takashi-matsuyama merged 1 commit into
mainfrom
docs/board-shape-reference
Oct 18, 2026
Merged

takashi-matsuyama merged 1 commit into
mainfrom
docs/board-shape-reference

Conversation

@takashi-matsuyama

Copy link
Copy Markdown
Member

What

Adds docs/spec/board.md, a reference for the shapes the experimental basou board reads and writes, as shipped in 0.71.0 (board_version 3, record_version 3):

  • board.yaml: how it is read, every top-level key with what is required and its default, the stages and lanes, each of the ten kinds of measure (the files a measure of a repo sees, the glob dialect, regular expressions matched line by line, when a value is null), ratios, each of the nine kinds of observation with the value the guide asks for (the http value and its nulls included), the registry of components with the built-in markers and marker, the axis and the effort.
  • The input of basou board record: its keys, the order it is checked in, observed, cells, prose, judged_by, axis_review, and what --json prints.
  • A record: its keys, the declaration it keeps with its defaults filled in, and the order anomalies.
  • The measurement: every section with what each null means (and which nulls mean something of their own), the not_found places, the methods, the difference from the previous record, and exactly what the digest covers.
  • How a record of version 1 or 2 differs.

docs/spec/compatibility.md (under the list of experimental commands), docs/spec/cli-commands.md and docs/README.md point to it, and CHANGELOG.md gets an entry under ## Unreleased.

Why

Until now these shapes were described only in the changelog, in --help and in what basou board guide prints, so a board was declared by trial and error against the refusals of basou board measure. The page says at its top that every shape on it is outside every guarantee, as the command is, and may change at any release.

How it was checked

  • Every statement was written from the source at 2c60650 (packages/core/src/board/, packages/cli/src/commands/board.ts).
  • The page's board.yaml example and record input example were run through parseBoardDeclaration and parseRecordInput of the built @basou/core; both read.
  • The refusals and defaults it quotes (unquoted stage ids, a missing or unknown board_version, a version 3 kind in a version 2 board, a group without a pattern, an observed_at without an offset, and others) were reproduced against the same build.
  • The keys, methods and diff places it lists were compared with a real basou board measure --json.
  • experimental.test.ts (which reads the table in compatibility.md), the CHANGELOG history guard, biome, the planning-identifier and absolute-path scans pass locally.

…put, records and the measurement)

docs/spec/board.md describes the shapes basou board reads and writes, as of
board_version 3 and record_version 3: every key of board.yaml with what is
required and its default, the rules of each kind of measure (the files a
measure of a repo sees, the glob dialect, regular expressions matched line by
line, when a value is null) and of each kind of observation (the value the
guide asks for, the http value and its nulls), the registry of components and
the built-in markers, the input basou board record reads and the order it is
checked in, a record's keys and the declaration it keeps, every section of
the measurement with what each null means, what the difference from the
previous record compares, what the digest covers, and how a record of version
1 or 2 differs.

The page says at its top that these shapes are outside every guarantee, as
the command is, and may change at any release. compatibility.md's list of
experimental commands, cli-commands.md and docs/README.md point to it, and
the changelog's Unreleased section says it was added.
@takashi-matsuyama
takashi-matsuyama merged commit a36ad01 into main Oct 18, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant