Skip to content

ci(docs) Play Core examples, swap pages in place - #98

Merged
tony merged 1 commit into
masterfrom
docs-publisher-983db9169
Nov 7, 2026
Merged

tony merged 1 commit into
masterfrom
docs-publisher-983db9169

Conversation

@tony

@tony tony commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

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

  • Play Ruby's create-windows and send-keys programs too, each over its own source (core-recordings/ruby.json)
  • Play each port's Core API program call by call on its landing page and its Core overview: hovering or stepping a call marks it in the source and draws the tmux the call left, with what it returned and the tmux commands it sent (CorePlayer.astro, CoreShowcase.astro, CoreHome.astro, core-player.ts)
  • Show the same quickstart on every port: a private server, session demo, an editor window split in two, a logs window and a command typed into the new pane, pinned to the library revision that carries it, so every page prints one tree (home-examples.json)
  • Draw the MCP worked example with the Core player's own tmux screen and controls: a dot for tmux before the first call, a dashed placeholder for an empty screen, and no tool-count sentence above the example on the landing page (McpReplay.astro, TmuxScreen.astro, ReplayControls.astro, PortLanding.astro)
  • Swap a docs page in place when a link inside the same tree is followed, instead of blanking the page while the next one loads; links to another tree, to a file and to the page's own fragments go to the browser (BaseLayout.astro, router-guard.ts)
  • Keep a swapped page whole: the code stylesheet loads from the head, the search panel and the MCP install cooldown are set up again after a swap, the first frame waits for the header's menu panel, the agent prompt draws its version picker from the first frame, and the API tree's hold lifts after five seconds (code-stylesheet.ts, SearchPanel.astro, mcp-install.js, BaseLayout.astro, AgentPrompt.astro, page-readiness.ts)
  • Publish each JSON file over 10,000,000 bytes gzip-encoded, since CloudFront does not compress an object that large, and decode it again where the immutable-tag check and the published inventory read it (large-json.sh, reusable-deploy.yml)

The Core API example listed capabilities beside a program and left the reader to imagine what each call does, and each port's landing page showed a different program with a different output. Following a docs link blanked the whole page for 160 to 760 ms, a swap into a code frame shifted the layout, and catalogs over 10 MB reached readers uncompressed, because CloudFront does not compress objects that large.

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: The Core API example listed capabilities beside a program and left
the reader to imagine what each call does, and each port's landing page
showed a different program with a different output. Following a docs
link blanked the whole page for 160 to 760 ms, a swap into a code frame
shifted the layout, and catalogs over 10 MB reached readers
uncompressed, because CloudFront does not compress objects that large.

what:
- Play Ruby's create-windows and send-keys programs too, each over its
  own source (`core-recordings/ruby.json`)
- Play each port's Core API program call by call on its landing page and
  its Core overview: hovering or stepping a call marks it in the source
  and draws the tmux the call left, with what it returned and the tmux
  commands it sent (`CorePlayer.astro`, `CoreShowcase.astro`,
  `CoreHome.astro`, `core-player.ts`)
- Show the same quickstart on every port: a private server, session
  demo, an editor window split in two, a logs window and a command typed
  into the new pane, pinned to the library revision that carries it, so
  every page prints one tree (`home-examples.json`)
- Draw the MCP worked example with the Core player's own tmux screen and
  controls: a dot for tmux before the first call, a dashed placeholder
  for an empty screen, and no tool-count sentence above the example on
  the landing page (`McpReplay.astro`, `TmuxScreen.astro`,
  `ReplayControls.astro`, `PortLanding.astro`)
- Swap a docs page in place when a link inside the same tree is
  followed, instead of blanking the page while the next one loads; links
  to another tree, to a file and to the page's own fragments go to the
  browser (`BaseLayout.astro`, `router-guard.ts`)
- Keep a swapped page whole: the code stylesheet loads from the head,
  the search panel and the MCP install cooldown are set up again after a
  swap, the first frame waits for the header's menu panel, the agent
  prompt draws its version picker from the first frame, and the API
  tree's hold lifts after five seconds (`code-stylesheet.ts`,
  `SearchPanel.astro`, `mcp-install.js`, `BaseLayout.astro`,
  `AgentPrompt.astro`, `page-readiness.ts`)
- Publish each JSON file over 10,000,000 bytes gzip-encoded, since
  CloudFront does not compress an object that large, and decode it again
  where the immutable-tag check and the published inventory read it
  (`large-json.sh`, `reusable-deploy.yml`)

Shared source: libtmux/docs
From: d3b931be3e64c962f9a3ffa1117527b40ae19a79
To:   983db91693417c1c280895377b4428259867b240
@tony
tony merged commit ebf0953 into master Nov 7, 2026
14 checks passed
@tony
tony deployed to docs-preview-cleanup November 7, 2026 00:47 — with GitHub Actions Active

This branch was successfully deployed

1 active and 1 inactive deployments
docs-preview-cleanup — dd2f91fd Deployed Nov 7, 2026 by tony via cleanup #68
docs-preview — dd2f91fd Deployed Nov 6, 2026 by tony via publish (pr-98, pr, false, docs-preview, true) / publish #336
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