Skip to content

okf: resolve absolute (bundle-relative) links in the visualizer - #206

Open
larsappel wants to merge 1 commit into
GoogleCloudPlatform:mainfrom
larsappel:fix/visualizer-absolute-links
Open

okf: resolve absolute (bundle-relative) links in the visualizer#206
larsappel wants to merge 1 commit into
GoogleCloudPlatform:mainfrom
larsappel:fix/visualizer-absolute-links

Conversation

@larsappel

Copy link
Copy Markdown

What

_extract_links in the viewer generator skipped any link target beginning with /, treating it like an external URL. But SPEC §5.1 explicitly supports the absolute (bundle-relative) link form — "Begin with /, interpreted relative to the bundle root" — so a spec-conformant bundle using that style renders with zero edges in the visualizer.

This resolves /-prefixed targets against the bundle root; relative links are unchanged, external URLs are still skipped.

Why it matters

The absolute style is the one the spec recommends for links that should survive files being moved within their subdirectory, so bundles that follow that advice currently lose their entire graph. Found while visualizing a personal 42-concept bundle that uses absolute links throughout: 0 edges before this patch, 110 after.

Test

Added test_absolute_links_become_edges alongside the existing link tests (mixed absolute links, including one with a #fragment). Full test_viewer.py suite passes: 7 passed.

🤖 Generated with Claude Code

@google-cla

google-cla Bot commented Jul 17, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

SPEC §5.1 supports links beginning with "/", interpreted relative to the
bundle root, but _extract_links skipped them alongside external URLs, so
bundles using the absolute link style rendered with zero edges. Resolve
them against the bundle root instead; relative links are unchanged.
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