Skip to content

docs(perl) Add native core, async and workspace docs - #274

Merged
tony merged 30 commits into
mainfrom
docs/perl-20261107
Nov 9, 2026
Merged

tony merged 30 commits into
mainfrom
docs/perl-20261107

Conversation

@tony

@tony tony commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Perl callers can find the core library, optional async operations, and JSON workspace loader through the shared site. The reference preserves native signatures, POD symbol and section links, tested examples, and source identities.

  • Register all three distributions as source previews; Perl MCP is excluded.
  • Import the native field catalog, guides, package metadata, and runnable examples from Perl source/exporter 352715a4fa66a96eed7763b90daaa536aa2f121d.
  • Resolve document-section anchors and Markdown member summaries with exact native ownership. Preserve literal examples and the rendering of other languages.
  • Derive product assertions and CLI package notices from registered data. Preserve unpublished overviews and the shared exclusion policy already on main.
  • Stack on the shared browser-network fix in test(browser) Isolate checks from third-party requests #287. Its inherited regression waits for load and verifies the ready, visible guide with local image fixtures. The duplicate Perl navigation patch is removed.

Validation:

  • Current native CI: all six jobs pass at 4fb1ea7b492a35086fde72a0d56f437768083607, including installed archives, dependency bounds, units, and Perl 5.44.0 with tmux 3.3a and 3.8. Support covers tmux 3.3a–3.8, including intermediate releases; CI tests only the endpoints on the latest stable Perl.
  • Earlier source-bound build: passes with native/exporter 352715a4fa66a96eed7763b90daaa536aa2f121d and renderer 6201662cfc35c5266d907dd4c8cfcc9369008289. Publisher is intentionally skipped (publish=false). Archive SHA-256: 0e6ca726cfb240fd1a1900cf3e0fa2a35e8fbad0f2cf26c716d19911e74bbfd6.
  • The downloaded artifact verifies all 4,341 file hashes in 1.57s. Rendered checks pass in 9.00s: 77,995 internal HTML links, all 637 Markdown references, 16 desktop/mobile views and nine navigation assertions. Independent final-output review closes the four reported docs findings and checks copied example bodies, source identities and the full tmux support range.
  • The authoritative shared-site gate is combined release PR #291. It includes the Perl ceiling follow-up and the corrected browser guard from test(browser) Isolate checks from third-party requests #287. Earlier redundant standalone runs were cancelled. The latest standalone run hits the inherited sidebar bug; the combined branch contains its correction.
  • Focused extraction, rendering, Markdown, product, and source checks pass. Local Astro type checking passes with a 6 GiB heap within the existing 8 GiB resource cap. Timing and failure evidence remain recorded in the shared-loop investigation.

Keep this PR in draft until the authoritative combined tests and automatic preview pass. The docs maintainer owns the combined release and merge order. Production publication remains held for separate authority; CPAN publication is outside this change.

Rebase validation: the combined Ruby load/ready/visible check passes in 54.765s, workspace lint in 4.262s and types in 103.323s, using the shared resource wrapper once (162.51s total). Independent composition review confirms all 33 inherited check scripts match #287 and every other tracked file retains its prior content and mode.

Earlier build-only verification passes with caller 94ad7b50ef8087c8a31c4ac034f7dd5713c0397d, library/exporter 352715a4fa66a96eed7763b90daaa536aa2f121d, and renderer e66920edbf7aa2743e122084e7e83b89d52f7530. Publication is intentionally skipped. The exact ZIP digest is 79993470fb40ca251b12290112ad41ddaf02317c95bea331d9e3b4abeea7b1fd; all 4,341 content hashes match the previously reviewed artifact. This preserves content evidence without substituting for final combined-site CI or deployment.

Current combined-renderer qualification: build-only run 42553477398 passes with caller 4fb1ea7b492a35086fde72a0d56f437768083607, source/exporter 352715a4fa66a96eed7763b90daaa536aa2f121d, and renderer 8d8fbac868cd16f56d1e5c8e5d62e92bb2c99c43. Publisher is intentionally skipped. All 5,057 artifact file hashes verify; the complete rendered check passes in 25.08s with 77,995 internal links, 637 Markdown exports, 16 desktop/mobile views and nine navigation assertions. Independent bounded native and Perl output adoption review found no blocker. The artifact ZIP SHA-256 is 7df95e5c77772980d56b090fc12c362be1da676c10b64d81254d641341893db9.

Perl now records its measured type-link ceiling of 1,212 alongside its cross-reference floor of 2,583. Combined CI remains failed on unresolved Erlang references; Perl contributes zero. Automatic preview and production publication remain open.

@tony
tony force-pushed the docs/perl-20261107 branch from 29f3800 to a102b63 Compare November 8, 2026 18:54
@tony tony changed the title docs(feat[perl]) Add native Perl and workspace docs docs(perl) Add native core, async and workspace docs Nov 8, 2026
why: External README badges can hold the load event after the Ruby
     legacy URL has reached its destination article. The shared
     assertion affects multiple port integrations.
what:
- Check the destination URL, parsed article heading and title
- Hold badge responses in a regression without raising timeouts
- Add the focused --guide-redirect browser mode

Isolated samples with staged Ruby guides compared main 9a01505
with the Perl integration ca13fe5: cold GET 7.13s versus 7.34s,
final server RSS 2675 versus 2716 MiB, and warm redirects 0.30s
versus 0.34s. This sample showed little integration growth; it did
not establish the cause of the separate hosted ECONNRESET.

On this main-based branch, held badge responses reproduce the old
load timeout. Document readiness completes within the existing
deadline. Appearance checks retain their image-completion contract.
tony added 25 commits November 8, 2026 16:43
why: Remote README badges can keep document load pending across browser
checks. Context routing alone misses redirects and can be bypassed by
later request decorators.

what:
- Create shared check contexts with an owned origin-restricted proxy
- Fulfil foreign images locally and constrain existing decorators
- Preserve load and visible-readiness assertions for legacy guides
- Exercise redirects, popups, WebSockets and failed stream cleanup
- Close owned contexts when policy registration fails
why: Perl callers need native reference material and runnable source-package
workflows tied to the code they can install.
what:
- Preserve PPI signatures, authored POD links, source identities and command evidence
- Register core, optional async and workspace packages with source-only availability
- Add reader guides, owned examples, navigation and shared branding
- Separate compiler and catalog audits from development checks and preserve unchanged guides
- Keep model readers and preview metadata independent of native extraction setup
…t upload

why: Source-only Perl documentation needs a checked artifact from the same
pinned builder and publisher revision.
what:
- Run native model, POD link, source scan and package inventory checks after rendering
- Check shared TypeScript and Astro types before uploading the Perl tree
- Document the exact focused commands separately from publication and timing gates
why: Shared rendering needs the Python docstring parser through the reader
entry, and destination fixtures must retain their file reader after merging
the current documentation source.
what:
- Export the documentation parser without importing native extractors
- Exercise the public reader entry through the existing docstring suite
- Restore the filesystem import used by the destination evidence fixture
why: Workspace navigation and declaration breadcrumbs need a real reference
index before readers can browse the installed loader API.
what:
- Add the native workspace index using the existing product reference page
- Link the public module and versioned configuration guide
why: A release notice must agree with the selected port's registry status
when its packages are available only from source.
what:
- Derive the notice from the existing product maturity data
- Carry the selected port through shared and native layouts
- Check unpublished core and workspace pages alongside released ports
…ace links

why: Perl readers need native language definitions, accurate package destinations,
and workspace examples bound to tested source.
what:
- Register glossary terms, workspace excerpts and the manual docs caller
- Bind the public reader entry in synthetic renderers
- Refresh pinned field, example, usage and backlink data
- Preserve catalog coverage while excluding programs and signature placeholders
- Record verified primary documentation destinations and reviewed labels
why: The shared audit stages Perl guides at the committed model revision
and needs those Git objects before it can run.
what:
- Resolve and check out the pinned canonical Perl source
- Pass its path only to source-guide staging
- Keep native model freshness in the port-owned build gate
why: An unpublished source-only port has no configured registry to query
and must not stop the shared publication audit.
what:
- Keep committed package metadata when no registry is declared
- Still require a probe for published core or companion entries
- Cover online refresh and published-state counterexamples offline
why: Source-only Perl records must share a valid verification date with
the aggregate evidence used by offline destination controls.
what:
- Advance the aggregate date to the recorded Perl checks
- Expect the available-source-or-publication diagnostic
- Preserve individual dates and future-date rejection cases
why: Perl registration must pass source link ordering and guide source
checks without tying those checks to one shell redirection spelling.
what:
- Sort the reviewed Perl API links by destination and label
- Execute the guide revision block with distinct package fixtures
- Check Perl staging and native freshness boundaries explicitly
why: The assembled site rejects unresolved API mentions, and distribution names and wire literals must retain their authored meaning.

what:
- Refresh Perl models and guides from the corrected source revision
- Assert zero dangling Perl mentions while retaining real API backlinks
- Preserve shared dangling limits and sibling-port references
why: Offline builds require example and command caches to match the API model revision before version validation can run.

what:
- Refresh Perl workspace example provenance from committed source
- Align distribution and tmux usage records with the current model
- Preserve cached content, sibling data, and publication state
why: Product home pages must not offer language destinations that the port excludes or does not provide.

what:
- Recognize product roots when resolving language equivalents
- Apply product availability to shared page destinations
- Keep product home shortcuts and core fallbacks within their scopes
why: Assembled checks must distinguish unavailable product overviews
from matching pages and preserve native Perl documentation.
what:
- Keep exact product counterpart and core-home assertions
- Verify Perl workspace guide and namespace-specific reference titles
- Include Perl in source-guide routing and omit empty browse cases
why: Perl references need a floor to detect lost symbol links.
what:
- Add the measured floor of 2583 resolved Perl references
- Preserve every existing language floor
why: Native product names and sections differ across language ports.
what:
- Check authored headings, guides, exclusions and overview routes
- Verify complete model declaration and reference section order
- Keep unpublished overviews eligible for matching navigation
why: Shared navigation now preserves unpublished overviews and keeps
bare-root home links scoped to the core.

what:
- Keep the Perl MCP exclusion regression after the shared fix
- Use the upstream tests for unpublished overviews and product homes
why: One Perl POD file can document methods declared by several error
subclasses. Links to a section must reach the declared owner.

what:
- Resolve a missing section to its unique declared method in that file
- Reject ambiguous owners and methods from unrelated source files
why: The shared reference must show the corrected transport, query
verification and workspace recovery APIs from the installed suite.

what:
- Bind declarations, guides, packages and examples to native 618a4a0
- Revalidate tmux dispatch evidence against current source locations
- Describe the required async Ppoll backend and resolve guide mentions
why: Source installation must name the atomic-wait backend required by
the optional async package.

what:
- Refresh native source to 4bd4ec1 with the reviewed setup clarification
- Preserve source-bound declarations, guides, examples and package data
why: The async and transport guides link to newly used upstream modules.

what:
- Verify Ppoll backend and MIME::Base64 pages against their POD names
- Retain live HTTP and symbol identity evidence for offline checks
why: The native transport now observes child exit through kernel signal
readiness, with required compatibility and installed workflows qualified.

what:
- Refresh Perl model, source paths, examples and package identities
- Retain the native exporter identity and reviewed command attribution
why: Readers could not follow section references to the query verification
report. Markdown exports also exposed unresolved reference markup.

what:
- Resolve exact owner headings through the shared fence-aware prose parser
- Keep Perl section anchors when references resemble directory entries
- Encode punctuation consistently for HTML and Markdown destinations
- Preserve authored examples while linking Markdown prose
- Bind native models and guides to exporter 64f4626744518bfd68d179ec8caae2a61a67c932
why: The introduction omitted the required Ppoll backend, and the workspace
notice incorrectly described bundled library and CLI installation.

what:
- Link the required async loop and native transport contract
- Derive workspace command package notices from registered metadata
tony added 3 commits November 8, 2026 17:11
why: Class pages copied member summaries directly, leaving native POD
references as literal markup even when the method page linked them.

what:
- Resolve Perl member summaries with the member's own context
- Cover owner-page exports alongside method bodies and literal examples
why: The native qualification policy now tests the latest Perl with only
the oldest supported and newest stable tmux releases.

what:
- Bind native models, guides, examples and package metadata to 23b03ef
- Preserve separate committed library and exporter identities
why: Testing only the supported range endpoints does not drop support
     for intermediate tmux releases.
what:
- Bind Perl guides and native metadata to the clarified support policy
- Keep CI limited to Perl 5.44.0 with tmux 3.3a and 3.8
why: Perl needs an explicit baseline for the rendered type-link ratchet.

what:
- Record 1,212 plain syntax and receiver tokens in Perl references
- Preserve every existing port's ceiling

Renderer: e66920e
Native source: 352715a4fa66a96eed7763b90daaa536aa2f121d
@tony
tony merged commit ddfabe7 into main Nov 9, 2026
2 of 3 checks passed
@tony
tony temporarily deployed to docs-preview-cleanup November 9, 2026 13:38 — with GitHub Actions Inactive
tony added a commit that referenced this pull request Nov 9, 2026
…ts (#291)

why: Six ports had docs branches ready but no published site, and
three shared fixes were waiting behind them. Releasing them together
gives one docs commit to trust for deployment and one set of caller
pins to move, instead of six separate waves.

what:
- Add OCaml (#264), Haskell (#265), Erlang (#266, #278, #279, #280,
  #284, #292), Common Lisp (#268), Perl (#274) and Clojure (#276):
  native API pages, tested guides, navigation, landing and switcher
  entries, and cross-reference data for each
- Keep browser checks from loading third-party resources, and pass
  the check origin to the three scripts that named an undefined base
  (#287)
- Render guide badges at build time instead of hotlinking shields
  (#288)
- Size the reference sidebar and member bars from the viewport, so
  the Chrome iOS keyboard no longer shrinks them (#290)
- Make the OCaml model producer verify its native build inputs in
  their checkout and reject stale ones, with controls run in CI
- Offer one switcher page per port, and title Perl's workspace guide
  "Workspace guide"
- Regenerate the registry, mention index and cross-reference counts
  for the combined port set

Base main 2593131, head dabe59b. Port heads: #264 7d4f88f
and 73fb1ad, #265 dc024e3, #268 947da1f, #274 818fa2e,
#276 a134503, #287 a437e97, #292 e7740d9.

This branch was previously deployed

1 inactive deployment
docs-preview-cleanup — 818fa2ed Deployed Nov 9, 2026 by tony via cleanup #226
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