[GH-ISSUE #7566] [Bug] Verification page's worker link still returns 404 after its fix was claimed #4504

Open
opened 2026-10-31 00:50:21 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @coygeek on GitHub (Oct 27, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/7566

Before submitting

  • I searched the open and closed issues for a related report.
  • I removed credentials, tokens, private paths, and sensitive target data.

Area

Documentation

Observed behavior

After npx vitepress build docs succeeds, a reader can open the JavaScript analysis effect metadata verification page in VitePress preview, but following its “worker” source link returns HTTP 404. I independently built the required baseline and requested both URLs from the repository's preview server: the documentation page returned HTTP 200 and its actual worker-link destination returned HTTP 404.

Closed PR #4769 previously proposed fixing this exact link and was closed with a comment saying main had superseded the fix. The link remains broken at the source revision below. This report follows up that incomplete claimed resolution; I have not established a previously working main revision.

Reproduction

  1. From the stated source revision with its locked dependencies installed and Node.js 24.22.1 selected, run npx vitepress build docs. I observed exit 0.

  2. Inspect the generated page and resolve its actual href:

    python3 -I - <<'PY'
    from pathlib import Path
    from html.parser import HTMLParser
    from urllib.parse import urljoin
    class Links(HTMLParser):
        def handle_starttag(self, tag, attrs):
            href = dict(attrs).get('href', '')
            if tag == 'a' and 'JavaScriptAnalysisWorker' in href:
                print('href:', href)
                print('resolved:', urljoin('https://example.invalid/rea/verification/javascript-analysis-effects-2026-10-15.html', href))
    p = Path('docs/.vitepress/dist/verification/javascript-analysis-effects-2026-10-15.html')
    print('built page exists:', p.is_file())
    Links().feed(p.read_text())
    print('source tracked in checkout:', Path('src/javascript/analysis/JavaScriptAnalysisWorker.ts').is_file())
    print('emitted TypeScript files:', len(list(Path('docs/.vitepress/dist').rglob('*.ts'))))
    PY
    
  3. Run npm run docs:preview -- --host 127.0.0.1. Open /rea/verification/javascript-analysis-effects-2026-10-15.html on the printed origin, then follow “worker.” The destination is /src/javascript/analysis/JavaScriptAnalysisWorker.ts, outside the site's /rea/ base. For my HTTP verification I launched the same VitePress preview entry directly on an ephemeral loopback port, requested these two paths, and stopped the server afterward.

The failure reproduced in one independent production build and one preview HTTP pass. No target executable or provider is required.

Expected behavior

The worker reference should open the cited repository source from the supported documentation preview. The contributor guide's “Documentation website” section requires full GitHub URLs for repository files outside the documentation tree. It states no exception for historical verification records.

The exact prior PR also promised that the source references in these records would resolve from both GitHub and the documentation site. Closing that PR as superseded should not leave this same source reference unresolved in the documented preview workflow.

Impact and scope

One source-navigation action fails for readers of this verification record in the built VitePress documentation. The page remains included in the build despite being historical. The analysis runtime, recorded measurements and source file itself are unaffected.

P2 under triage/v1: this is a bounded functional link failure with a demonstrated workaround. The intended source is present in the checkout, and I independently requested the immutable GitHub source URL listed below and received HTTP 200.

I did not check a live deployment. The repository documents a separate public website and says the VitePress build workflow does not publish; this report does not claim a live rea.tools outage.

REA version

Exact node scripts/rea.mjs --version stdout:

6.8.0

Source revision: 65f1c447344a423fa2785847dbcea1e9a9e2454a.

Runtime and platform

Node.js v24.22.1; macOS 27.0.1, Darwin 27.0.0; darwin arm64. VitePress 1.6.4 from the baseline's locked dependencies.

Target and artifact context

Production VitePress documentation output and the repository's supported local documentation preview. No binary target or external analysis provider.

Interface

Other

Earliest failure stage

Unknown

Relevant output or evidence

The build completed successfully. The inspection command above returned:

built page exists: True
href: ../../src/javascript/analysis/JavaScriptAnalysisWorker.ts
resolved: https://example.invalid/src/javascript/analysis/JavaScriptAnalysisWorker.ts
source tracked in checkout: True
emitted TypeScript files: 0

Requests against the actual VitePress preview returned:

200 /rea/verification/javascript-analysis-effects-2026-10-15.html
404 /src/javascript/analysis/JavaScriptAnalysisWorker.ts

Source and contract checks at the stated revision:

  • docs/verification/javascript-analysis-effects-2026-10-15.md:6 supplies the relative worker destination above.
  • docs/.vitepress/config.ts:8–9 sets base /rea/ and excludes only readme/**; it does not exclude historical verification pages.
  • CONTRIBUTING.md:285–292 documents build/preview and requires full GitHub URLs for files outside docs/.
  • CONTRIBUTING.md:294–303 distinguishes this build from the separately published website.
  • git ls-files --error-unmatch src/javascript/analysis/JavaScriptAnalysisWorker.ts succeeds.
  • This immutable worker source URL returned HTTP 200 in this verification.

Analysis or suspected cause

Source-derived explanation: a repository-relative source link escapes the documentation site's base when a browser resolves it. The production build leaves this non-page href unchanged and emits no source file at the resulting destination. A successful Markdown-page link check therefore does not establish this source link's validity.

The diff in closed PR #4769 changes this exact worker reference to a GitHub URL. Its closing comment says main superseded that work. However, the page at the required baseline and at the cited pin 42e1a17d still contains the relative worker destination. Merged PR #6368 repairs experiment links but does not edit this page. This establishes an incomplete claimed resolution, without establishing a last-known-good main version.

Additional context

Duplicate review included open and closed issues, all PR states including merged PRs, issue-comment searches, and the exact earlier patch. Closed #5030 and PR #5044 concern adding the VitePress build to CI; that build succeeds here while the source link fails. Closed #2679 concerns README guide links. Open PR #4108 changes navigation and two other links, with no change to this verification page. #7517 and merged PR #7519 archive a different route-inventory JSON and old release inventories, preserving their summaries. They do not retire this page. Closed #7458 and merged PR #7462 repair a different allocation report after experiment archival.

The separate verification-page JSON receipt problem has a different asset boundary: publishing those in-tree records would leave this outside-tree TypeScript source URL unresolved. No source changes or repaired build are claimed here.

Triage assessment

  • Impact level: P2
  • Assessment status: supported
  • Impact basis: The supported documentation preview returns HTTP 404 for the cited worker link while returning HTTP 200 for its containing page; this is one bounded navigation failure without an observed runtime or data-integrity effect.
  • Workaround status: available
  • Workaround basis: The intended worker is tracked and present locally, and the immutable GitHub URL to that same baseline source returned HTTP 200 during verification.
Originally created by @coygeek on GitHub (Oct 27, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/7566 ### Before submitting - [x] I searched the open and closed issues for a related report. - [x] I removed credentials, tokens, private paths, and sensitive target data. ### Area Documentation ### Observed behavior After `npx vitepress build docs` succeeds, a reader can open the JavaScript analysis effect metadata verification page in VitePress preview, but following its “worker” source link returns HTTP 404. I independently built the required baseline and requested both URLs from the repository's preview server: the documentation page returned HTTP 200 and its actual worker-link destination returned HTTP 404. Closed PR #4769 previously proposed fixing this exact link and was closed with a comment saying main had superseded the fix. The link remains broken at the source revision below. This report follows up that incomplete claimed resolution; I have not established a previously working main revision. ### Reproduction 1. From the stated source revision with its locked dependencies installed and Node.js 24.22.1 selected, run `npx vitepress build docs`. I observed exit 0. 2. Inspect the generated page and resolve its actual href: ```bash python3 -I - <<'PY' from pathlib import Path from html.parser import HTMLParser from urllib.parse import urljoin class Links(HTMLParser): def handle_starttag(self, tag, attrs): href = dict(attrs).get('href', '') if tag == 'a' and 'JavaScriptAnalysisWorker' in href: print('href:', href) print('resolved:', urljoin('https://example.invalid/rea/verification/javascript-analysis-effects-2026-10-15.html', href)) p = Path('docs/.vitepress/dist/verification/javascript-analysis-effects-2026-10-15.html') print('built page exists:', p.is_file()) Links().feed(p.read_text()) print('source tracked in checkout:', Path('src/javascript/analysis/JavaScriptAnalysisWorker.ts').is_file()) print('emitted TypeScript files:', len(list(Path('docs/.vitepress/dist').rglob('*.ts')))) PY ``` 3. Run `npm run docs:preview -- --host 127.0.0.1`. Open `/rea/verification/javascript-analysis-effects-2026-10-15.html` on the printed origin, then follow “worker.” The destination is `/src/javascript/analysis/JavaScriptAnalysisWorker.ts`, outside the site's `/rea/` base. For my HTTP verification I launched the same VitePress preview entry directly on an ephemeral loopback port, requested these two paths, and stopped the server afterward. The failure reproduced in one independent production build and one preview HTTP pass. No target executable or provider is required. ### Expected behavior The worker reference should open the cited repository source from the supported documentation preview. The contributor guide's “Documentation website” section requires full GitHub URLs for repository files outside the documentation tree. It states no exception for historical verification records. The exact prior PR also promised that the source references in these records would resolve from both GitHub and the documentation site. Closing that PR as superseded should not leave this same source reference unresolved in the documented preview workflow. ### Impact and scope One source-navigation action fails for readers of this verification record in the built VitePress documentation. The page remains included in the build despite being historical. The analysis runtime, recorded measurements and source file itself are unaffected. P2 under triage/v1: this is a bounded functional link failure with a demonstrated workaround. The intended source is present in the checkout, and I independently requested the immutable GitHub source URL listed below and received HTTP 200. I did not check a live deployment. The repository documents a separate public website and says the VitePress build workflow does not publish; this report does not claim a live rea.tools outage. ### REA version Exact `node scripts/rea.mjs --version` stdout: ```text 6.8.0 ``` Source revision: `65f1c447344a423fa2785847dbcea1e9a9e2454a`. ### Runtime and platform Node.js v24.22.1; macOS 27.0.1, Darwin 27.0.0; darwin arm64. VitePress 1.6.4 from the baseline's locked dependencies. ### Target and artifact context Production VitePress documentation output and the repository's supported local documentation preview. No binary target or external analysis provider. ### Interface Other ### Earliest failure stage Unknown ### Relevant output or evidence The build completed successfully. The inspection command above returned: ```text built page exists: True href: ../../src/javascript/analysis/JavaScriptAnalysisWorker.ts resolved: https://example.invalid/src/javascript/analysis/JavaScriptAnalysisWorker.ts source tracked in checkout: True emitted TypeScript files: 0 ``` Requests against the actual VitePress preview returned: ```text 200 /rea/verification/javascript-analysis-effects-2026-10-15.html 404 /src/javascript/analysis/JavaScriptAnalysisWorker.ts ``` Source and contract checks at the stated revision: - `docs/verification/javascript-analysis-effects-2026-10-15.md:6` supplies the relative worker destination above. - `docs/.vitepress/config.ts:8–9` sets base `/rea/` and excludes only `readme/**`; it does not exclude historical verification pages. - `CONTRIBUTING.md:285–292` documents build/preview and requires full GitHub URLs for files outside `docs/`. - `CONTRIBUTING.md:294–303` distinguishes this build from the separately published website. - `git ls-files --error-unmatch src/javascript/analysis/JavaScriptAnalysisWorker.ts` succeeds. - This immutable [worker source URL](https://github.com/morluto/rea/blob/65f1c447344a423fa2785847dbcea1e9a9e2454a/src/javascript/analysis/JavaScriptAnalysisWorker.ts) returned HTTP 200 in this verification. ### Analysis or suspected cause Source-derived explanation: a repository-relative source link escapes the documentation site's base when a browser resolves it. The production build leaves this non-page href unchanged and emits no source file at the resulting destination. A successful Markdown-page link check therefore does not establish this source link's validity. The diff in closed [PR #4769](https://github.com/morluto/rea/pull/4769) changes this exact worker reference to a GitHub URL. Its [closing comment](https://github.com/morluto/rea/pull/4769#issuecomment-6374746750) says main superseded that work. However, the page at the required baseline and at the cited pin `42e1a17d` still contains the relative worker destination. Merged [PR #6368](https://github.com/morluto/rea/pull/6368) repairs experiment links but does not edit this page. This establishes an incomplete claimed resolution, without establishing a last-known-good main version. ### Additional context Duplicate review included open and closed issues, all PR states including merged PRs, issue-comment searches, and the exact earlier patch. Closed [#5030](https://github.com/morluto/rea/issues/5030) and [PR #5044](https://github.com/morluto/rea/pull/5044) concern adding the VitePress build to CI; that build succeeds here while the source link fails. Closed [#2679](https://github.com/morluto/rea/issues/2679) concerns README guide links. Open [PR #4108](https://github.com/morluto/rea/pull/4108) changes navigation and two other links, with no change to this verification page. [#7517](https://github.com/morluto/rea/issues/7517) and merged [PR #7519](https://github.com/morluto/rea/pull/7519) archive a different route-inventory JSON and old release inventories, preserving their summaries. They do not retire this page. Closed [#7458](https://github.com/morluto/rea/issues/7458) and merged [PR #7462](https://github.com/morluto/rea/pull/7462) repair a different allocation report after experiment archival. The separate verification-page JSON receipt problem has a different asset boundary: publishing those in-tree records would leave this outside-tree TypeScript source URL unresolved. No source changes or repaired build are claimed here. ## Triage assessment - Impact level: P2 - Assessment status: supported - Impact basis: The supported documentation preview returns HTTP 404 for the cited worker link while returning HTTP 200 for its containing page; this is one bounded navigation failure without an observed runtime or data-integrity effect. - Workaround status: available - Workaround basis: The intended worker is tracked and present locally, and the immutable GitHub URL to that same baseline source returned HTTP 200 during verification.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#4504
No description provided.