Skip to content

basou: Finish a board's version 3 (what is wrong with a branch, declared names as code in the guide, http words on the board page) - #367

Merged
takashi-matsuyama merged 2 commits into
board/shape-v3from
board/finish
Oct 18, 2026
Merged

takashi-matsuyama merged 2 commits into
board/shape-v3from
board/finish

Conversation

@takashi-matsuyama

Copy link
Copy Markdown
Member

Summary

The last part of the board's version 3, on the integration branch board/shape-v3: what is said about a branch, what the guide shows of what a board declares, and how the board page draws an http observation's words.

  • A branch says what is wrong with it. A branch a github_ci or github_check observation names, when refused, now names the first thing wrong with it: a character it may not use, a start with -, . or /, a .., a //, a part that starts with ., or an end with . or /. Until now every one of these read "must be a branch name such as main, using only A-Z, a-z, 0-9, '.', '_', '-' and '/'", which release/.x and a/./b do use.
  • The guide writes what a board declares as code. Each observation's package, repo, workflow, branch and URL is written as a code span in the prose, as a github_check's already was, so a name such as _x_ is not read as emphasis. (Each source is written through the same function now; it was already in backquotes and reads the same for every value a board takes.)
  • The guide escapes alike everywhere. Its prose and sources now escape what its template of the record already escaped (the Arabic letter mark, the zero-width and direction marks, the word joiner and the invisible operators, the byte order mark, and a surrogate not in a pair), so a value reads the same in both. The commands still take the value as it is. The display of other commands is not changed.
  • The guide says two more things: that an observation's key with . is read from board_version: 3, and that a total out of the range a number holds exactly is null.
  • The board page pairs an http observation's words. The value's words (a list of true or false, in the order declared) is drawn with each word the record's declaration lists beside its answer ("words":{"in stock":true,"42":false}), written out in the order declared. Only the drawing changes: the record keeps the list. A value whose list does not hold one answer for each word, a previous value, and an observation the declaration does not list in its shape are drawn as before; each declared observation is checked on its own.

Nothing is released from this branch; the next step is one pull request from board/shape-v3 to main.

Checks

  • pnpm -r build, pnpm typecheck, pnpm -r test:coverage (core 2916 passed and 1 skipped, sdk 67, cli 1565), pnpm test:scripts, pnpm lint, pnpm lint:lang, pnpm lint:paths: all exit 0.
  • Mutation run on a copy: 45 mutations, 44 caught. The one left writes a source in plain backquotes instead of a code span, which gives the same text for every value a board takes.
  • One round of review: one medium and three low findings, all fixed in the second commit (a lone surrogate escaped in the guide's prose, each declared observation checked on its own on the board page, and tests for every field of the guide and the edges of the pairing).

…rite declared names as code, and pair an http observation's words on the board page

A branch a github_ci or github_check observation names, when refused, now
says what is wrong with it: a character it may not use, a start with '-',
'.' or '/', a '..', a '//', a part that starts with '.', or an end with
'.' or '/'.

basou board guide writes each observation's package, repo, workflow,
branch, URL and source as code, as it already did for a github_check, and
escapes in its prose and sources what its template of the record escapes
(the Arabic letter mark, the zero-width and direction marks, the word
joiner and the invisible operators, the byte order mark), so a value
reads alike in both. It says that a key with '.' is read from
board_version 3, and that a total out of the range a number holds exactly
is null.

The board page draws an http observation's words with each word its
record's declaration lists beside its answer; the record keeps the list.
…well-formed declared observation's words, and pin both

The guide's prose and sources now escape a surrogate not in a pair, as
its template of the record does through JSON. On the board page, each
observation a record's declaration lists is checked on its own, so one
not in its shape no longer keeps the others' words from being paired.

The CHANGELOG no longer lists an observation's source among what the
guide now writes as code: it was in backquotes already, and reads the
same for every value a board takes.

Tests now give every field of the guide what only the template used to
escape, and the characters next to that range, and check that only the
commands take them as they are. They pin that the board page does not
pair the previous record's value, a value with more answers than words,
or an observation of another kind, and draws a record whose declared
observations are not a list; that it pairs a single word; that the
page's script writes a word with '"' and a backslash as JSON; and which
of '//' and a part starting with '.' a branch is told of first.
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