Skip to content

fix(docs): repair stale documentation links - #3845

Merged
ctwoodwa merged 2 commits into
mainfrom
fix/3839-docs-links
Aug 7, 2026
Merged

fix(docs): repair stale documentation links#3845
ctwoodwa merged 2 commits into
mainfrom
fix/3839-docs-links

Conversation

@ctwoodwa

@ctwoodwa ctwoodwa commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Link the ADR 0160 planning companion to its canonical GitHub source.
  • Replace links to the retired Bridge accelerator pages with the live carrier
    server-mode, tenant-admin, and bundle-provisioning documentation.
  • Keep cross-surface documentation links absolute-origin so DocFX does not
    file-validate them.

Validation

  • dotnet tool restore passed.
  • The nine DocFX-consumed project restores passed.
  • The nine targeted package builds passed serially; the default local MSBuild
    worker mode hit an environment-only preview SDK MSB4166 crash first.
  • The exact dotnet docfx apps/docs/docfx.json --warningsAsErrors command was
    run. All four requested InvalidFileLink warnings are gone. This checkout's
    local DocFX 2.78.5 run still reports pre-existing .NET 11 API/xref metadata
    diagnostics unrelated to this diff.
  • git diff --check passed, and generated Anchor HTML contains all replacement
    hrefs.

Closes #3839

Summary by CodeRabbit

  • Documentation
    • Updated Anchor documentation to link to the carrier’s server mode and the centralized Tenant Admin and Bundle Provisioning references.
    • Corrected the planning companion link in ADR 0160 to point to its canonical location.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The changes replace invalid relative documentation links in Anchor pages and ADR 0160. Anchor now references carrier server mode, centralized Tenant Admin, and Bundle Provisioning documentation.

Changes

Documentation link corrections

Layer / File(s) Summary
Anchor documentation references
apps/docs/accelerators/anchor/overview.md, apps/docs/accelerators/anchor/reports-admin-scope.md
Anchor links now reference carrier server mode, centralized Tenant Admin documentation, and centralized Bundle Provisioning documentation.
ADR planning reference
docs/adrs/0160-local-human-web-identity-and-session-authority.md
The planning companion link now uses an absolute GitHub URL.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description includes a clear summary and validation, but omits the required ICM Stage, Affected Packages, and Checklist sections. Add the missing template sections and mark each applicable item, including the ICM stage or accelerated-work explanation.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the documentation link repairs in this pull request.
Linked Issues check ✅ Passed The changes resolve the InvalidFileLink warnings and update the affected ADR and Anchor documentation links required by issue #3839.
Out of Scope Changes check ✅ Passed The changes are limited to repairing stale documentation links and validating the DocFX documentation build.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/3839-docs-links

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

thought (non-blocking):

Accessibility audit (advisory)

The sharded axe audit is report-only while the baseline and runtime budget mature.
Unknown moderate-or-higher findings must be resolved or added to the reviewed
accessibility baseline.

Shard Result Findings
1/4 pass 0 axe finding(s), 1 coverage warning(s)
2/4 pass 0 axe finding(s), 1 coverage warning(s)
3/4 pass 0 axe finding(s), 1 coverage warning(s)
4/4 pass No moderate-or-higher findings
Shard 1 report
[shipyard-syncstate-indicator] skipping directionalIcons enforcement: component has not opted in via [data-shipyard-direction="<state>"] sentinel.
Shard 2 report
[shipyard-button] skipping keyboardMap enforcement: component has not opted in via data-shipyard-keyboard-map="enabled".
Shard 3 report
[shipyard-dialog] skipping keyboardMap enforcement: component has not opted in via data-shipyard-keyboard-map="enabled".

@ctwoodwa
ctwoodwa marked this pull request as ready for review August 7, 2026 03:00
@ctwoodwa
ctwoodwa enabled auto-merge (squash) August 7, 2026 03:00

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/docs/accelerators/anchor/overview.md`:
- Line 20: Convert the three changed cross-surface documentation links to
canonical absolute-origin URLs, preserving their existing targets:
apps/docs/accelerators/anchor/overview.md lines 20-20 (ADR 0165 server-mode
link), apps/docs/accelerators/anchor/reports-admin-scope.md lines 78-78 (Tenant
Admin block link), and lines 105-105 (Bundle Provisioning link). Use the
repository’s established absolute-origin URL format.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: adbd74d6-b629-4726-85ef-cd124736f209

📥 Commits

Reviewing files that changed from the base of the PR and between 43e6570 and ed87c6c.

📒 Files selected for processing (3)
  • apps/docs/accelerators/anchor/overview.md
  • apps/docs/accelerators/anchor/reports-admin-scope.md
  • docs/adrs/0160-local-human-web-identity-and-session-authority.md

[Bridge](../bridge/overview.md) (the multi-tenant SaaS shell). Where
Bridge is "same component surface, deployed as a hosted SaaS," Anchor is
dashboard** accelerator. It is the on-device counterpart to the carrier's
[server mode](/docs/adrs/0165-full-dotnet-viability-node-served-clients-and-the-mobile-client-boundary.html)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

pnpm kb query "Where are the CI jobs and path skip-gates for DocFX link validation?"

fd -t f -e yml -e yaml -e json -e md | xargs -r rg -n \
  'docfx|warningsAsErrors|InvalidFileLink|paths-ignore|skip|exclude|apps/docs|docs/adrs'

Repository: Harborline-Software/shipyard

Length of output: 50385


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

echo "== candidate workflow/docs config files =="
git ls-files | rg '(^\.github/workflows/.*|docfx\.json|packages\.json|pnpm-workspace\.yaml|README\.md|_shared/engineering/code-review-policy\.yaml)' | sed -n '1,200p'

echo
echo "== focused workflow/docfx link validation references =="
git ls-files '.github/workflows/*' 'apps/docs/**' 'docfx.json' 'packages.json' 'pnpm-workspace.yaml' | \
xargs -r rg -n -C 3 'docfx|InvalidFileLink|warningsAsErrors|docs-build|docs|build-doc|apps/docs|docs/adrs|paths-|pathsIgnore|only|if:|pull_request' | sed -n '1,240p'

echo
echo "== changed files if available =="
git diff --name-only HEAD~1..HEAD 2>/dev/null | sed -n '1,120p' || true

echo
echo "== target links currently in files =="
python3 - <<'PY'
from pathlib import Path
for p in [
 Path("apps/docs/accelerators/anchor/overview.md"),
 Path("apps/docs/accelerators/anchor/reports-admin-scope.md"),
]:
    if p.exists():
        lines = p.read_text().splitlines()
        for i,l in enumerate(lines,1):
            if p.name=="overview.md" and i==20:
                print(f"{p}:{i}:{l}")
            if p.name=="reports-admin-scope.md" and i in {78,105}:
                print(f"{p}:{i}:{l}")
PY

Repository: Harborline-Software/shipyard

Length of output: 37173


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

echo "== apps/docs/docfx.json =="
sed -n '1,220p' apps/docs/docfx.json

echo
echo "== .github/workflows/docs.yml =="
sed -n '1,240p' .github/workflows/docs.yml

echo
echo "== any other docfx warnings/errors in workflows =="
rg -n -C 3 'docfx|INVALID_FILE_LINK|InvalidFileLink|warningAs|Error|warningsAsErrors|docs\.yml|apps/docs|paths-|pathsIgnore|pull_request:' .github/workflows | sed -n '1,260p'

echo
echo "== repository absolute origin config references =="
rg -n 'github\.com/Harborline-Software/shipyard|abs.*origin|canonical|InvalidFileLink|warningsAsErrors' . --glob '!node_modules' --glob '!dist' --glob '!build' | sed -n '1,200p'

Repository: Harborline-Software/shipyard

Length of output: 50384


issue [blocking]: Convert changed cross-surface links to absolute-origin URLs.

Anchor cross-surface docs links use /docs/... syntax instead of canonical absolute-origin URLs. Use repo absolute-origin URLs for these targets so generated docs links stay within the documented original source scope.

  • apps/docs/accelerators/anchor/overview.md#L20: ADR 0165 server-mode link.
  • apps/docs/accelerators/anchor/reports-admin-scope.md#L78: Tenant Admin block link.
  • apps/docs/accelerators/anchor/reports-admin-scope.md#L105: Bundle Provisioning link.
📍 Affects 2 files
  • apps/docs/accelerators/anchor/overview.md#L20-L20 (this comment)
  • apps/docs/accelerators/anchor/reports-admin-scope.md#L78-L78
  • apps/docs/accelerators/anchor/reports-admin-scope.md#L105-L105
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/docs/accelerators/anchor/overview.md` at line 20, Convert the three
changed cross-surface documentation links to canonical absolute-origin URLs,
preserving their existing targets: apps/docs/accelerators/anchor/overview.md
lines 20-20 (ADR 0165 server-mode link),
apps/docs/accelerators/anchor/reports-admin-scope.md lines 78-78 (Tenant Admin
block link), and lines 105-105 (Bundle Provisioning link). Use the repository’s
established absolute-origin URL format.

Source: Path instructions

@ctwoodwa
ctwoodwa merged commit 5e56247 into main Aug 7, 2026
47 of 49 checks passed
@ctwoodwa
ctwoodwa deleted the fix/3839-docs-links branch August 7, 2026 03:53
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.

Main red: Docs build InvalidFileLink warnings-as-errors

1 participant