Epic: human documentation rewrite (by humans, for humans) #582
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Request (Torben, 2026-10-29 12:54, WA "Orion - TorbScript")
Goal
Human documentation for TorbScript, written by humans for humans: clear structure, short pages, every example shows its output, the defining features of the language front and center, no history/legacy references, no filler lists. LLM-facing material stays in
skills/.Plan
Slices are added below as they are cut.
Slices
book/, book gates (PR)Research done. I read the front pages, tours and library references of Rust, Go, Kotlin, Swift, Gleam, Elixir, Zig, the TypeScript handbook and the Python tutorial. The notes per site, with links, are in
book/RESEARCH.mdon thedocs/582-bookbranch.What the good ones have in common, and what the book takes over:
Next: the audit of the current pages.
Audit done. I sampled pages from every section of
docs/and counted what can be counted.trbblocksThat is 330k words, about four times the Rust book. Outside the beginner lessons almost no example shows what it does.
The failure patterns, each with one piece of evidence:
standard-library/regex.md: "the full tables of Unicode, a native of milestone 8, are there."language/types/exclusivity.md: "CONCEPT.mddescribes a rule beyond the single-path checks of var paths".language/collections-and-iteration/changing-in-place.md: "The collections design - section 3.11, the decision and its rules."language/extensibility/foreign-functions.md: "The design is Foreign functions."language/types/data-or-capsule.mdopens with an example that ends inprint slug.text()and never says what it prints. Of 471 code blocks on standard-library pages, 332 are fragments that are not even type-checked.data-or-capsule.mduses its section to say "A capsule is not a constructor with logic in it".standard-library/os.mdhas a run of 56 list items.tooling/index.mdhas 36 in a row. The tour explains parentheses as a bullet list in the middle of the tour.## Relatedlist. The lists name the same neighbours again and again and lead nowhere in particular.data-or-capsule.md: "A type is data, whose constructor is the way in, or a capsule, whose constructor a private field without a default closes - and then a factory, accessors and one conversion pair take its place."// printslines are collected at the end of the block, far from the statements that print them.The root cause is structural. The rules in
docs/contributing(fixed sections per kind, Diátaxis folders, one page per rule) are made for a corpus that feeds the Agent Skills, and the human site is rendered from that same corpus. The fix is to separate the two:docs/stays the skill source, and a newbook/is written for people and published as the site.Next: the concept.
Concept ✅ The concept is in
book/CONCEPT.md, on branchdocs/582-book.Here is what it decides:
book/.docs/stays as the source for the skills and as contributor material, and is no longer published on the site.torb doc std.trb runblock is asserted. Compiler errors are shown as checked output. A book lint rejects history words, issue numbers, internal links, walls of list items and the old template headings.Next is the PR with the generator changes, the CI checks, and the first slice: the front page, the showcase, the full tour, and a few pages each from Guide, Reference and Std.
Questions for Torben (product direction, in German):
start/, 13 Lektionen für Leute, die noch nie programmiert haben) dauerhaft bleiben? Im Konzept bleibt er als eigener Einstieg und wird später überarbeitet. Die Alternative wäre, ihn zu streichen und das Buch nur für erfahrene Programmierer zu schreiben.Progress: the tour is complete (9 pages: values, calls, types, cases, errors, collections, traits, tasks, projects), plus the root overview
book/index.md, the showcasebook/why.mdand the rewritten front pagebook/site/home.md. Everytrb run/trb errorblock has its real output, and the output of atrb errorblock is now the exact rendering oftorb check main.trb(asserted bytorb docs check). Site, course and German course moved intobook/. Next: Guide, Reference and Std pages, then CI wiring and the PR. Branchdocs/582-book, commit26434f45.Progress on the vertical slice (branch
docs/582-book, pushed):book/index.md),why.md, the full Tour (9 pages), Guide (handling-errors,your-own-constructs), Reference (bindings,cases-and-patterns), Std (json,fs), section indexes, the new front page.docs check bookreports no problems (41 pages, 214 snippets, without the native half, which CI runs).torb docs sitebuilds frombook/(gates,Dockerfile.site,images.yml);docs check bookanddocs index --check bookare new gates. The book rules got tests.docs/stays the source of the Agent Skills: every page left there is carried by a skill, so none is deleted in this PR; the site no longer publishes any of them.Next: rebase on main, open the PR, then the slice issues.
Rebased on main (clean, no conflicts) and opened as #585: the concept, the vertical slice, the site built from
book/and the book gates (docs check book,docs index --check book,docs site book --checkintools/gates.sh). Waiting for CI, then review by argus.Slices cut. One PR per slice, each with acceptance criteria from
book/CONCEPT.md. All depend on #585; #599 closes the epic once the others have landed. #598 (the course) waits for the two questions above and carries nolooplabel.[loop:orion] triage: label
loopadded (scope-gap fix: filed by orion in an interactive session without the label, as with #565/#566). Content is live (documentation rewrite epic and its slice, request by Torben 2026-10-29). Loop takes it from here.[loop:torbscript] claim implement by session:loop-torbscript-20261029-0858 until 2026-10-30T01:30:00Z
[loop:torbscript] release implement: the fix worker for PR #585 hit its 30 min limit without a new commit; head stays
86797a7, whose CI rerun is in progress (fast checks green, tier A/B pending). Next tick reads that result: green goes to review, red gets a fresh worker scoped to the failing job only.next: waiting (CI on PR #585, head
86797a7)[loop:torbscript] note: PR #585 (concept, vertical slice, book gates) is merged; the epic stays open for its slices #587 to #597. next: waiting (slices #587 to #597)