book: Std pages, number (slice of #591) #639

Closed
opened 2026-10-29 23:50:59 +00:00 by orion · 6 comments
Collaborator

Slice of #591 (Std pages, core and text), which is a slice of the epic #582. Starts after nothing; #585 is merged. The other Std slices (#592 to #595) and the Guide and Reference slices are independent of this one. Governing note: book/CONCEPT.md ("How a page is written", "What CI checks"). Touches the seed: no (documentation only; no syntax change, no native, no driver flag, no std name looked up by the compiler).

Goal

Write the Std page(s) book/std/number.md. Read like book/std/json.md (merged in #585): the page opens with what the module is for and an example of the most common task, then covers the handful of tasks people use it for, each with a real program and its output. It does not list every declaration; the generated API reference of torb doc std does that.

Replaces in docs/

  • docs/standard-library/number.md

Acceptance criteria

  • Every page has the kind page, status: stable, front matter in the shape of book/std/json.md (title, summary, order, package; the summary within the docs check limit), names its module (package: std/number), and is written as book/CONCEPT.md, "How a page is written", says: the first paragraph says in two to four sentences what the page covers, headings name ideas, prose first, no history words, no internal references (no issue numbers, no links into docs/design, docs/contributing, docs/internals, CONCEPT.md), no Related/Next/See also sections, lists of at most seven items, every section starts with a sentence; links only to book pages that exist on main
  • Every trb run and trb error block is followed by its output block with the real output (a trb error block shows what torb check prints, from error: on); no fragments, no // prints comments
  • The signature features of book/CONCEPT.md that the area touches are shown, not just named
  • book/std/index.md lists the new page(s) (generated block via torb docs index book); torb docs check book, torb docs index --check book and torb docs site book --check pass, and tools/gates.sh passes in CI
  • The old pages listed under "Replaces in docs/" are deleted in the same PR unless a skill is still built from them (skills are generated by torb docs skill docs skills): for every old page a skill still needs, it stays in docs/ unpublished and the PR description names it and why; the others are deleted together with every link to them, and the skills are regenerated so docs skill --check stays green
  • No other book page is changed except the links that must follow from the deletion; the other Std pages of #591 are not started

Notes for the implementer

  • Read book/CONCEPT.md, book/std/json.md and the old pages first; run every example with torb before pasting its output. A behaviour that only the old page states and that you cannot reproduce is checked against the compiler or the std source, not copied.
  • Commits: one or two Conventional Commits, for example docs(book): std number and, if needed, docs: retire the pages the std pages replace.
  • Size: one PR, 30-40 minutes. Do not write the other Std pages.
Slice of #591 (Std pages, core and text), which is a slice of the epic #582. Starts after nothing; #585 is merged. The other Std slices (#592 to #595) and the Guide and Reference slices are independent of this one. Governing note: `book/CONCEPT.md` ("How a page is written", "What CI checks"). Touches the seed: no (documentation only; no syntax change, no native, no driver flag, no std name looked up by the compiler). ## Goal Write the Std page(s) `book/std/number.md`. Read like `book/std/json.md` (merged in #585): the page opens with what the module is for and an example of the most common task, then covers the handful of tasks people use it for, each with a real program and its output. It does not list every declaration; the generated API reference of `torb doc std` does that. ## Replaces in `docs/` - `docs/standard-library/number.md` ## Acceptance criteria - [ ] Every page has the kind `page`, `status: stable`, front matter in the shape of `book/std/json.md` (`title`, `summary`, `order`, `package`; the summary within the `docs check` limit), names its module (`package: std/number`), and is written as `book/CONCEPT.md`, "How a page is written", says: the first paragraph says in two to four sentences what the page covers, headings name ideas, prose first, no history words, no internal references (no issue numbers, no links into `docs/design`, `docs/contributing`, `docs/internals`, `CONCEPT.md`), no Related/Next/See also sections, lists of at most seven items, every section starts with a sentence; links only to book pages that exist on main - [ ] Every `trb run` and `trb error` block is followed by its `output` block with the real output (a `trb error` block shows what `torb check` prints, from `error:` on); no fragments, no `// prints` comments - [ ] The signature features of `book/CONCEPT.md` that the area touches are shown, not just named - [ ] `book/std/index.md` lists the new page(s) (generated block via `torb docs index book`); `torb docs check book`, `torb docs index --check book` and `torb docs site book --check` pass, and `tools/gates.sh` passes in CI - [ ] The old pages listed under "Replaces in `docs/`" are deleted in the same PR unless a skill is still built from them (skills are generated by `torb docs skill docs skills`): for every old page a skill still needs, it stays in `docs/` unpublished and the PR description names it and why; the others are deleted together with every link to them, and the skills are regenerated so `docs skill --check` stays green - [ ] No other book page is changed except the links that must follow from the deletion; the other Std pages of #591 are not started ## Notes for the implementer - Read `book/CONCEPT.md`, `book/std/json.md` and the old pages first; run every example with `torb` before pasting its output. A behaviour that only the old page states and that you cannot reproduce is checked against the compiler or the std source, not copied. - Commits: one or two Conventional Commits, for example `docs(book): std number` and, if needed, `docs: retire the pages the std pages replace`. - Size: one PR, 30-40 minutes. Do not write the other Std pages.
Author
Collaborator

[loop:torbscript] ready: slice of #591, scope and acceptance are in the body; independent of the other open slices.

[loop:torbscript] ready: slice of #591, scope and acceptance are in the body; independent of the other open slices.
Author
Collaborator

[loop:torbscript] claim implement by session:loop-torbscript-20261030 until 2026-10-30T06:10Z @anthropic:theorben

[loop:torbscript] claim implement by session:loop-torbscript-20261030 until 2026-10-30T06:10Z @anthropic:theorben
Author
Collaborator

[loop:torbscript] checkpoint: worktree loop/639-std-number created from main (66bd7d7f); reading CONCEPT, json.md and the old number page, then writing book/std/number.md.

[loop:torbscript] checkpoint: worktree loop/639-std-number created from main (66bd7d7f); reading CONCEPT, json.md and the old number page, then writing book/std/number.md.
Author
Collaborator

[loop:torbscript] checkpoint: no C compiler and no built torb on this host, so examples are run with the 2026-10-29 nightly in the VM and the three book checks with the worktree's compiler run in that VM (docs check --no-native; it cannot compare run output, so I diff every output block against a VM run myself). Native build and the output comparison of docs check stay with the forge CI.

[loop:torbscript] checkpoint: no C compiler and no built torb on this host, so examples are run with the 2026-10-29 nightly in the VM and the three book checks with the worktree's compiler run in that VM (docs check --no-native; it cannot compare run output, so I diff every output block against a VM run myself). Native build and the output comparison of docs check stay with the forge CI.
Author
Collaborator

[loop:torbscript] release implement: PR #655 (#655), head 77d7dbe1. book/std/number.md added, index regenerated, old docs/standard-library/number.md kept (skill still carries it). All 22 examples verified in the VM, docs check/index/site/skill checks green with --no-native; native build comparison left to forge CI (pending at hand-off).

[loop:torbscript] release implement: PR #655 (https://git.torb.dev/torbscript/language/pulls/655), head 77d7dbe1. book/std/number.md added, index regenerated, old docs/standard-library/number.md kept (skill still carries it). All 22 examples verified in the VM, docs check/index/site/skill checks green with --no-native; native build comparison left to forge CI (pending at hand-off).
argus closed this issue 2026-10-30 04:13:58 +00:00
Author
Collaborator

[loop:torbscript] done: merged as PR #655 (argus, 2026-10-30 04:13Z). Book page book/std/number.md is in main; the issue closed via Closes #639. Removed the stale ready label. Nothing deploys from this change (book is docs only; no After-merge steps in the PR).

[loop:torbscript] done: merged as PR #655 (argus, 2026-10-30 04:13Z). Book page book/std/number.md is in main; the issue closed via Closes #639. Removed the stale ready label. Nothing deploys from this change (book is docs only; no After-merge steps in the PR).
Sign in to join this conversation.
No labels
loop
ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
torbscript/language#639
No description provided.