ReviewOS

stacks/drone

Docs: preserve source-relative links in native build and dev output

#39
Closed chris opened this 9 days ago ·
9 days ago

The documentation audit found that native BunPress 0.2.21 renders source-relative Markdown destinations literally while generating clean directory routes. For example, a guide source link to driver-protocols.md cannot identify the generated driver-protocols/index.html. Replacing authored destinations with /driver-protocols fixes the site's route but loses the repository Markdown target docs/driver-protocols.md.

The published audit's compatibility measure is explicit GitHub source destinations in prose plus local native sidebar/navigation routes. That keeps targets usable without changing the pinned runtime, but readers should ultimately be able to navigate the same authored guides within the site and on GitHub.

Actual source inspection found no Markdown link-transform hook in this installed renderer. Its declared config hooks are invoked, but onConfigLoad promises are not awaited and synchronous plugin errors are caught while loading continues. A declaration alone must not be treated as a safe asynchronous staging pipeline.

Acceptance

  • Preserve source-relative Markdown destinations in authored guides so repository source browsing works.
  • Resolve rendered guide links against each source document and produce correct clean native routes under /docs, including nested ADRs, index.md, retained README.md pages and fragments.
  • Keep external URLs, source/evidence file references, literal code examples and images semantically intact. Handle reference-style/escaped destinations or explicitly reject unsupported syntax rather than silently dropping it.
  • Use a source-backed native BunPress/Stacks build and serving seam. Do not patch installed packages, invent unsupported configuration, or depend on a racing non-awaited hook.
  • Preserve correct source/rendered mapping during partial builds, concurrent builds, failed source reads and cache reuse. Stale or partially staged output must not be reported as a completed build.
  • Verify actual Buddy docs build and native dev serving, rendered local targets/anchors, and repository source targets. Add focused regressions at that public build/serve seam.
  • Qualify any necessary dependency/runtime change separately from the currently frozen farming collection acquisition evidence.
  • Remove the compatibility prose-link detour once both source and rendered navigation are proven, and retain accurate simulation/physical-operation boundaries.

This is documentation routing work. It does not change any vehicle, camera, authority, deployment or physical-flight capability. Related owned platform roadmap: #30. Open Farming's separate marketing/deployment audit remains tracked in https://github.com/theopenfarm/openfarm.ing/issues/25.

Native implementation dependency

The source-backed renderer correction is tracked in BunPress issue 86. Both native build and dev already know the selected source file but omit it from the shared renderer interface. The upstream issue preserves source/rendered navigation, per-render locale context, unsupported-syntax handling and failed/concurrent build qualification. No runtime/dependency change or completed implementation is claimed here. All acceptance criteria above remain open.

Published compatibility audit

0ea48fe is on main as Chris without coauthors. Its automatic main CI passed all five jobs, including 1,362 Linux application tests, 39 skips, zero failures and 487,888 assertions. The original failing local provisioning-fixture run remains retained separately; these CI results do not relabel that local run.

The audit's native docs build and browser navigation passed, with 84 rendered HTML pages and 5,605 checked local links/anchors. Prose uses explicit GitHub source links as the current compatibility measure. Native renderer implementation, actual application adoption and restoring source-relative guide links remain the open acceptance above; none is closed by this audit publication.

The native upstream correction is merged in BunPress PR #87, source fc7bb3ce58ac052aa5eb1e3e76bd5d4f2cea78a1. Native Bun 1.3.14 CI passed 595 tests and automatic main CI 39609613535 passed all five jobs. Full reference-definition provenance across includes remains tracked in BunPress #88; the native correction explicitly refuses that unsupported combination. Drone integration remains open: restoring the 177 guide destinations locally against unchanged BunPress 0.2.21 produced a successful native Buddy build but exactly 177 missing rendered targets, retained as actual application RED evidence. The 30 source/evidence URLs are preserved. Package release and actual upgraded Buddy build/dev/link qualification are pending; those application edits are not published yet.

Native application adoption candidate

BunPress 0.2.22 has been published and its registry tarballs verified. Drone PR #40, commit fb67830f1d3ab9af9e4313429e810848b67365e7, adopts that exact release through a minimal override/lock update and restores 177 authored Markdown guide destinations across 52 files. All 30 explicit external source/evidence URLs and all 1,298 rendered code elements are preserved. Target paths match tracked repository case.

Actual Buddy build produced 83 source pages; the final independent rendered audit checked 5,784 local targets and anchors across 84 HTML files with no failures. Actual Buddy dev served all 83 source pages and passed 5,722 local link/anchor checks, including repeated-request mapping. Native browser body-link navigation reaches nested ADR and roadmap README pages with zero console/network failures. The app uses native edit-link and favicon configuration. Buddy lint/types, runtime/template types, roadmap/parity checks and 15 focused parity tests pass. Two independent review axes verified the sole stale homepage wording correction and report no remaining actionable findings.

The commit is authored and committed by Chris without coauthors and published to the review branch. Exact application full CI, main integration and final acceptance disposition remain pending. The completed farming qualification is unchanged and separate. No physical flight behavior changes.

Completed native docs adoption

The reviewed adoption is published on main at fb67830f1d3ab9af9e4313429e810848b67365e7, by normal fast-forward push, authored and committed by Chris without coauthors. All eight acceptance items have been audited against the published source and retained executions.

The exact head completed CI run 39617584886 successfully: 1,377 passed, 39 skipped, zero failed, 488,147 assertions across 1,416 tests in 172 files. Every actual check-job step, including portable compiled CLI exercises, completed successfully. GitHub briefly retained an in-progress aggregate for that job after its steps and overall workflow completed; the original state and full logs are preserved without relabeling it as five synchronized aggregate statuses.

A later direct readback found the old worktree dependency symlink dangling. Only this task-owned link was replaced with an actual isolated frozen install, with unchanged manifest, lock and all 56 source pins. All 87 installed BunPress 0.2.22 files match the verified registry archive exactly. Actual Buddy build, native Buddy dev, ADR/README browser scenarios, lint/types and focused parity checks were repeated successfully on that isolated graph. Built output has 84 HTML pages and 5,784 valid local links/anchors; dev served 83 source pages and passed 5,722 such checks. All 1,298 code elements and 30 explicit external source/evidence URLs remain intact. Earlier failed observations and the old sharing assumption remain recorded; they are not substituted for this new qualification. Both original farming binaries independently retain their accepted hashes, with no frozen farming rerun or dataset rewrite.

The compatibility detour is removed. Authored source links, repository targets and rendered native navigation are now demonstrated together. Simulation/physical authority boundaries remain unchanged. This closes this documentation issue only; platform and physical qualification remain tracked separately.

Sign in to comment on this issue.