Skip to content

ci(docs) Refine the pages and list the new ports - #147

Closed
tony wants to merge 1 commit into
masterfrom
docs-publisher-824516958
Closed

tony wants to merge 1 commit into
masterfrom
docs-publisher-824516958

Conversation

@tony

@tony tony commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Pin only the shared port builder and publisher to 8245169584882f09e302881f136512df41aba2a4 from c5b56f2b90002281adb95616a3e523e0a192937c. All other workflow bytes, library contents, triggers, permissions and language/source/version inputs remain unchanged.

  • Draw the workspace and MCP API reference pages in the core API presentation: section headings at the size of a core page's, the body outside the prose column, and a type's members listed once, as its table and then linked rows, where each was also a full entry (ProductApiPage.astro, ApiMemberList.astro, DocsLayout.astro)
  • Draw the Core player on the server at the frame its script first shows, the tmux before the first call, with its controls bar in place at its first count, so binding the script moves nothing; a reader with no script, and one who asked for less motion until the script binds, see the finished frame (CorePlayer.astro, ReplayControls.astro, core-player.css)
  • Draw the MCP replay on the server at the prompt alone, the calls out of view marked and its head and controls bar in place, so binding the script moves nothing; the same finished fallbacks for no script and for reduced motion (McpReplay.astro, mcp-replay.css)
  • Accept a JVM example set that has no run.sh launcher and starts its own tmux server (a setup of three files beside the four of the launcher layout), and say so on the page: the program starts a private tmux server of its own and the run command has no launcher. The pages read as before until a library revision ships such a set (jvm-examples.ts)
  • Name the MCP overview's replay "tmux through MCP", where it was "Worked example" (links to the old anchor, worked-example, still land), and drop the paragraph under it on how the recording was made: its revision, sandbox, generation and shortened values (McpReplay.astro, mcp-showcase.ts)
  • Drop the Core player's info button, its popover and its no-script note on how the run was recorded; the controls bar keeps its other buttons (CorePlayer.astro, ReplayControls.astro)
  • Drop the "Library revision" line from an example's setup details and the "Generated from the source" line under the API pages that had one (HomeExample.astro, [...slug].astro)
  • Put the Core player's Error handling and Cleanup toggles in a toolbar row at the bottom of its code panel, below the code and outside the part that scrolls, where they sat in a row above it, so toggling moves no edge of the player; and let the step dots of its controls bar scroll inside a rail with a button at each end to page them, where they were spread across the bar and crowded on a tight one (HomeExample.astro, core-player.css, ReplayControls.astro, replay-player.ts, mcp-replay.css)
  • Let the MCP replay's step dots scroll inside a rail with a button at each end to page them, keeping the shown call's dot in view, where they were spread across the bar and crowded on a tight one (ReplayControls.astro, replay-player.ts, mcp-replay.css)
  • Keep the API reference sidebar and the sticky member bars at their height when an on-screen keyboard opens, where Chrome on iOS shrank the window under it and the sidebar and the bars shrank with it: while a field has focus the pages measure the tallest height seen at this width (stable-viewport.ts, api-tree.ts, ApiPageContents.astro)
  • List OCaml among the ports of the site: in the port picker of the site header and in the Compiled & native group of the ports list; OCaml's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)
  • List Haskell among the ports of the site: in the port picker of the site header and in the Compiled & native group of the ports list; Haskell's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)
  • List Perl among the ports of the site: in the port picker of the site header and in the Scripting & web group of the ports list; Perl's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)
  • Pin the port build's GitHub actions to commits of the releases it used by tag (checkout v7.0.1, setup-node v7, pnpm/action-setup v6), and have the build ask the registry whether a port excludes MCP before it generates MCP data, which no existing port does (port-docs.yml, build-site.sh)
  • List Clojure among the ports of the site: in the port picker of the site header and in the JVM group of the ports list; Clojure's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)
  • Build Clojure's documentation with Java's: Clojure is a wrapper library of Java, set up with Java's JDK and Gradle in the port build beside Kotlin and Scala, so its pages come from this repository's checkout once the repository's docs workflow names clojure (ports.ts, port-docs.yml)
  • List Common Lisp among the ports of the site: in the port picker of the site header and in the Compiled & native group of the ports list; Common Lisp's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)
  • List Erlang among the ports of the site: in the port picker of the site header and in the BEAM group of the ports list; Erlang's own pages are published by its own repository, not by this caller (shell.js, ports.ts, port-families.ts)

A workspace or MCP API reference page drew its section headings larger than a core page's, because its body sat inside the prose column, and repeated each member as a full bordered entry under a bordered bar. On a cold load the Core player was drawn at its last call and the script reset it to the first a moment later, and the controls bar appeared and pushed the player down, so the page jumped. The MCP replay did the same: the whole chat with every result open, then the bare prompt, and the page grew when the controls appeared. The JVM example reader refused every example set without the run.sh launcher, so a library revision that starts its own tmux server could not be documented. Pages told a reader how they were made (the revision, sandbox and generator of a recording, a library revision under an example, a generator under an API page), which belongs in the commit that refreshed the data. The heading "Worked example" did not say what a reader gets: tmux driven through MCP tools. The Core player's Error handling and Cleanup toggles took a row of their own above the code, and its step dots were spread across the controls bar, so on a tight bar a long program's dots crowded until a finger could not tell them apart. The MCP replay's step dots crowded the same way on a tight bar. Chrome on iOS shrinks the window height under the on-screen keyboard, so the API reference sidebar and the sticky member bars shrank when a reader focused the search field. The site header's port picker and the ports list offered only the ports that had documentation before OCaml, Haskell, Perl, Clojure, Common Lisp and Erlang. Clojure's library lives in Java's repository, and the port build set up the JVM for Java, Kotlin and Scala only. The port build ran GitHub actions by floating tag, so a retagged release would have changed what builds this port's pages.

The exact required CI and root merge receipts of the shared checkpoint must be verified before this operator runs. This PR does not claim an owner build or publication pass. Root reviews this exact caller diff, actual repository-required checks and reviews before merge; optional native estate checks are not a new universal gate.

Execution route: controlled_real_pin_merge_push. Root separately schedules reviewed merges and exact source requests from the actual workflow state. If the current active workflow already publishes the intended source on merge, retain that actual event and do not issue a duplicate request. Future source/native/run identities will be bound to actual events.

why: A workspace or MCP API reference page drew its section headings
larger than a core page's, because its body sat inside the prose column,
and repeated each member as a full bordered entry under a bordered bar.
On a cold load the Core player was drawn at its last call and the script
reset it to the first a moment later, and the controls bar appeared and
pushed the player down, so the page jumped. The MCP replay did the same:
the whole chat with every result open, then the bare prompt, and the
page grew when the controls appeared. The JVM example reader refused
every example set without the run.sh launcher, so a library revision
that starts its own tmux server could not be documented. Pages told a
reader how they were made (the revision, sandbox and generator of a
recording, a library revision under an example, a generator under an API
page), which belongs in the commit that refreshed the data. The heading
"Worked example" did not say what a reader gets: tmux driven through MCP
tools. The Core player's Error handling and Cleanup toggles took a row
of their own above the code, and its step dots were spread across the
controls bar, so on a tight bar a long program's dots crowded until a
finger could not tell them apart. The MCP replay's step dots crowded the
same way on a tight bar. Chrome on iOS shrinks the window height under
the on-screen keyboard, so the API reference sidebar and the sticky
member bars shrank when a reader focused the search field. The site
header's port picker and the ports list offered only the ports that had
documentation before OCaml, Haskell, Perl, Clojure, Common Lisp and
Erlang. Clojure's library lives in Java's repository, and the port build
set up the JVM for Java, Kotlin and Scala only. The port build ran
GitHub actions by floating tag, so a retagged release would have changed
what builds this port's pages.

what:
- Draw the workspace and MCP API reference pages in the core API
  presentation: section headings at the size of a core page's, the body
  outside the prose column, and a type's members listed once, as its
  table and then linked rows, where each was also a full entry
  (`ProductApiPage.astro`, `ApiMemberList.astro`, `DocsLayout.astro`)
- Draw the Core player on the server at the frame its script first
  shows, the tmux before the first call, with its controls bar in place
  at its first count, so binding the script moves nothing; a reader with
  no script, and one who asked for less motion until the script binds,
  see the finished frame (`CorePlayer.astro`, `ReplayControls.astro`,
  `core-player.css`)
- Draw the MCP replay on the server at the prompt alone, the calls out
  of view marked and its head and controls bar in place, so binding the
  script moves nothing; the same finished fallbacks for no script and
  for reduced motion (`McpReplay.astro`, `mcp-replay.css`)
- Accept a JVM example set that has no run.sh launcher and starts its
  own tmux server (a setup of three files beside the four of the
  launcher layout), and say so on the page: the program starts a private
  tmux server of its own and the run command has no launcher. The pages
  read as before until a library revision ships such a set
  (`jvm-examples.ts`)
- Name the MCP overview's replay "tmux through MCP", where it was
  "Worked example" (links to the old anchor, worked-example, still
  land), and drop the paragraph under it on how the recording was made:
  its revision, sandbox, generation and shortened values
  (`McpReplay.astro`, `mcp-showcase.ts`)
- Drop the Core player's info button, its popover and its no-script note
  on how the run was recorded; the controls bar keeps its other buttons
  (`CorePlayer.astro`, `ReplayControls.astro`)
- Drop the "Library revision" line from an example's setup details and
  the "Generated from the source" line under the API pages that had one
  (`HomeExample.astro`, `[...slug].astro`)
- Put the Core player's Error handling and Cleanup toggles in a toolbar
  row at the bottom of its code panel, below the code and outside the
  part that scrolls, where they sat in a row above it, so toggling moves
  no edge of the player; and let the step dots of its controls bar
  scroll inside a rail with a button at each end to page them, where
  they were spread across the bar and crowded on a tight one
  (`HomeExample.astro`, `core-player.css`, `ReplayControls.astro`,
  `replay-player.ts`, `mcp-replay.css`)
- Let the MCP replay's step dots scroll inside a rail with a button at
  each end to page them, keeping the shown call's dot in view, where
  they were spread across the bar and crowded on a tight one
  (`ReplayControls.astro`, `replay-player.ts`, `mcp-replay.css`)
- Keep the API reference sidebar and the sticky member bars at their
  height when an on-screen keyboard opens, where Chrome on iOS shrank
  the window under it and the sidebar and the bars shrank with it: while
  a field has focus the pages measure the tallest height seen at this
  width (`stable-viewport.ts`, `api-tree.ts`, `ApiPageContents.astro`)
- List OCaml among the ports of the site: in the port picker of the site
  header and in the Compiled & native group of the ports list; OCaml's
  own pages are published by its own repository, not by this caller
  (`shell.js`, `ports.ts`, `port-families.ts`)
- List Haskell among the ports of the site: in the port picker of the
  site header and in the Compiled & native group of the ports list;
  Haskell's own pages are published by its own repository, not by this
  caller (`shell.js`, `ports.ts`, `port-families.ts`)
- List Perl among the ports of the site: in the port picker of the site
  header and in the Scripting & web group of the ports list; Perl's own
  pages are published by its own repository, not by this caller
  (`shell.js`, `ports.ts`, `port-families.ts`)
- Pin the port build's GitHub actions to commits of the releases it used
  by tag (checkout v7.0.1, setup-node v7, pnpm/action-setup v6), and
  have the build ask the registry whether a port excludes MCP before it
  generates MCP data, which no existing port does (`port-docs.yml`,
  `build-site.sh`)
- List Clojure among the ports of the site: in the port picker of the
  site header and in the JVM group of the ports list; Clojure's own
  pages are published by its own repository, not by this caller
  (`shell.js`, `ports.ts`, `port-families.ts`)
- Build Clojure's documentation with Java's: Clojure is a wrapper
  library of Java, set up with Java's JDK and Gradle in the port build
  beside Kotlin and Scala, so its pages come from this repository's
  checkout once the repository's docs workflow names clojure
  (`ports.ts`, `port-docs.yml`)
- List Common Lisp among the ports of the site: in the port picker of
  the site header and in the Compiled & native group of the ports list;
  Common Lisp's own pages are published by its own repository, not by
  this caller (`shell.js`, `ports.ts`, `port-families.ts`)
- List Erlang among the ports of the site: in the port picker of the
  site header and in the BEAM group of the ports list; Erlang's own
  pages are published by its own repository, not by this caller
  (`shell.js`, `ports.ts`, `port-families.ts`)

Shared source: libtmux/docs
From: c5b56f2b90002281adb95616a3e523e0a192937c
To:   8245169584882f09e302881f136512df41aba2a4
@tony

tony commented Nov 9, 2026

Copy link
Copy Markdown
Contributor Author

Held out of this docs wave. At libtmux/docs 824516958 the kotlin and scala builds stop on their Maven Central README badges (scripts/lib/badges.mjs, libtmux/docs#288, has no mapping), and the clojure build gets no Java checkout. The next docs wave fixes both on docs main and repins this caller.

@tony tony closed this Nov 9, 2026
@tony
tony deleted the docs-publisher-824516958 branch November 9, 2026 23:28
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