Skip to content

ci(docs) Add inventories and 0.1.0 release docs - #796

Merged
tony merged 1 commit into
docs-site-deployfrom
docs-publisher-e1ab401f7
Oct 28, 2026
Merged

tony merged 1 commit into
docs-site-deployfrom
docs-publisher-e1ab401f7

Conversation

@tony

@tony tony commented Oct 28, 2026

Copy link
Copy Markdown
Member

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

The site still presented libtmux as an alpha: badges, notices, install commands and examples carried alpha pins and prerelease flags, and a docs channel stood for a release state that no libtmux release has. A Sphinx project had no inventory to link to, tmux commands and cross-port links sat in small rows under each declaration, TypeScript aliases showed no declaration, and native Python documentation pages listed every page in one flat sidebar column.

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: exact_source_manual_dispatch_after_root_controlled_pin_merge. 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 site still presented libtmux as an alpha: badges, notices,
install commands and examples carried alpha pins and prerelease flags,
and a docs channel stood for a release state that no libtmux release
has. A Sphinx project had no inventory to link to, tmux commands and
cross-port links sat in small rows under each declaration, TypeScript
aliases showed no declaration, and native Python documentation pages
listed every page in one flat sidebar column.

what:
- Publish `objects.inv` and `targets.json` at the root of each port
  version, naming the pages, headings, workspace table rows, MCP schema
  fields, command options and API declarations the build rendered, and
  stop the build when an API declaration has no rendered target
  (`inventory.ts`, `inventory-publisher.ts`, `inventory-targets.ts`,
  `targets.ts`; libtmux/docs#166)
- Link the footer of a port page to the inventory of its port version,
  to the full inventory and to a guide on linking from Sphinx, and list
  the same inventory and target files in the `docs.json` manifest
  (`SiteFooter.astro`, `inventory-links.ts`, `docs.json.ts`;
  libtmux/docs#166)
- Export the rows of the shared workspace command and configuration
  tables as Sphinx option, setting and environment variable targets, and
  keep a page's identity across a move through `inventoryId` and
  `inventoryAliases` in its frontmatter (`rehype-row-anchors.ts`,
  `load.md`, `panes.md`, `environment.md`, `content.config.ts`;
  libtmux/docs#166)
- Link the AI policy, which the root site publishes at
  `/meta/ai-policy/`, from the footer (`SiteFooter.astro`,
  `ai-policy.md`; libtmux/docs#194)
- Show a final release on its badge as its series, 0.x for 0.1.0, with
  the line "Released; the API may change.", and replace the alpha notice
  with an early-release notice that returns once for a reader who
  dismissed it (`ports.ts`, `registry.json`, `PrereleaseNotice.astro`;
  libtmux/docs#200)
- Remove the stable docs channel: a release tag publishes at its own
  version, a prerelease also as `next`, and the newest final release tag
  is the default and indexed version, or `latest` while the port has
  none; an older tag pushed later does not take the default
  (`port-docs-identity.sh`, `publish-plan.mjs`, `gen-versions.mjs`,
  `versions.ts`; libtmux/docs#201)
- Leave a release-numbering label such as 0.1.N plain in prose instead
  of resolving it as an API name (`resolver.ts`; libtmux/docs#204)
- Give a symbol's tmux commands, tmux C declarations, hooks, options and
  formats, Guides and equivalents in other ports their own sections on
  its API reference page and in its Markdown export, ahead of Related
  types (`api-tmux-sections.ts`, `ApiTmuxSections.astro`,
  `ApiReference.astro`; libtmux/docs#202)
- Draw the nested guide line in every sidebar layout, set Grouped's
  group headings bold as Outline's are, and make the API glossary the
  last row of the reference sidebar and the last search result
  (`api-tree.css`, `ApiTree.astro`, `api-tree.ts`; libtmux/docs#208)
- Open the preview card of a glossary link only after the pointer rests
  on it for a second, and let Escape cancel a card that has not opened
  (`link-preview-browser.ts`; libtmux/docs#211)
- Let Tab move from the footer's inventory help link to the link in its
  tooltip at once (`SiteFooter.astro`; libtmux/docs#211)
- Set the title of an index-style reference page, such as API reference,
  in the sans face (`ApiReference.astro`; libtmux/docs#211)
- Start the permalink, source link and badges of a native Python
  declaration on its first signature line, so they stay level with it
  when the signature wraps (`native-sphinx.css`; libtmux/docs#198)
- Pin a top-level Python class declaration under the header while its
  members scroll, and offset an anchored member by the pinned row's
  measured height, none until it is measured, so it lands below the row
  (`native-sphinx.css`, `NativeSphinxScript.astro`; libtmux/docs#198,
  libtmux/docs#211)
- Show the Sphinx toctree in the sidebar of native Python documentation
  pages, with its captions as headings, branches that nest and open down
  to the current page, external rows that open in a new tab, and search
  results labelled by path (`native-shell-context.mjs`,
  `native-shell.ts`, `NativeShell.astro`; libtmux/docs#209)
- Set the section titles of the MCP reference in the sans face, and keep
  its sidebar guide line under the parent label and not through the
  row's own text (`ProtocolReference.astro`, `api-tree.css`;
  libtmux/docs#211)

Shared source: libtmux/docs
From: 00045828e6457d142d58933f603665a2ead35811
To:   e1ab401f7d6fca5ac9c418bc6c77ca382320cd2e
@codecov

codecov Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.37%. Comparing base (424be41) to head (bd2e06e).

Additional details and impacted files
@@                Coverage Diff                @@
##           docs-site-deploy     #796   +/-   ##
=================================================
  Coverage             52.37%   52.37%           
=================================================
  Files                    26       26           
  Lines                  3729     3729           
  Branches                747      747           
=================================================
  Hits                   1953     1953           
  Misses                 1472     1472           
  Partials                304      304           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tony
tony merged commit d2af39f into docs-site-deploy Oct 28, 2026
16 checks passed
@tony
tony deleted the docs-publisher-e1ab401f7 branch October 28, 2026 01:52
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