Skip to content

Apply the site audit's own fixes, add the experiment ledger, and run the three checks in CI - #653

Merged
gHashTag merged 3 commits into
mainfrom
fix/last-two-dead-links
Aug 10, 2026
Merged

gHashTag merged 3 commits into
mainfrom
fix/last-two-dead-links

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Follows #648, #649, #651.

The audit's Recommended Fixes section, applied six months late

docs/site_audit_report.md ends with before/after wording for each overclaim. It was written 2026-02-04, deleted 2026-03-06 in a commit about the Ralph Orchestrator, and never applied.

Before: 3000× Energy Efficiency - Theorem 2
After: Up to 3000× Energy Efficiency - Projected on custom FPGA hardware (Verified: 20× memory compression on CPU)

Applied across 14 places in en.json and the same in de, es, ru, zh. Compact tiles keep the bare number with a *; four sections render the audit's own footnote.

It does not pick a number. The audit's 20× (verified) / 500× (projected) pair would replace 578.8×, and choosing between them is a claim about hardware. Qualifying an unsourced figure is not sourcing it.

37 documents git could not see

The !docs/ rule un-ignored the directory while *.md matched the files inside it. Behind it: 4,554 lines, including five research-paper directories (Hybrid, JEPAT, NCA, Ternary, VSA), docs/experiments/, a whitepaper, and FOUND_EXPERIMENTS_SUMMARY.md — 20 training experiments recovered from git history and then lost to git.

Two results from it that are worth more than any efficiency multiplier, because a reader can argue with them:

ctx PPL
18 5.58
27 = 3³ 2.96
54 = 2×27 6.05 — worse than the baseline

All 115 markdown files under those trees pass claim-guard clean.

The three checks now run on every PR touching the site

catches
typecheck:ratchet errors may fall, never rise — 184 today
check:api a field the UI formats that no server emits; an untagged fallback
check:render real Chrome over CDP, every panel on all nine canvas layers

And the render check was failing when I committed the workflow. Three bugs, all making it describe its own harness rather than the page — the retry hammered switchLayer's transition lock until every later layer refused to switch. Fixed; four consecutive runs agree.

🤖 Generated with Claude Code

gHashTag and others added 3 commits August 11, 2026 01:18
anomaly-register A48: this project does not fail by missing things. Its site
audit, its claim-guard and its five-label framework all caught the same
overclaims, and every one failed at the step AFTER the finding -- the audit
was written, then deleted, and the numbers stayed six months.

So the three checks run on every PR touching apps/website:

  typecheck:ratchet  errors may fall, never rise. 184 today. `npm run build`
                     once claimed to typecheck, never ran in the deploy path,
                     and 231 errors accrued unseen -- among them seven React
                     branches that were statically false, so four panels
                     rendered nothing in production.
  check:api          a field the UI formats that no server emits, and any
                     fallback not tagged with sample().
  check:render       real Chrome over CDP, every panel on all nine canvas
                     layers, fails on the first uncaught error. vite build was
                     green through all of the above: it proves the bundler
                     succeeded, not that the page renders.

Two changes to render-check for CI: CHROME_PATH is consulted first so it can
override rather than only fill a gap, and Linux paths are added. A missing
browser now skips with exit 0 instead of failing -- a missing browser is a
fact about the environment, not a defect in the change, and a check that
fails for a reason it already knows about gets muted within a week.

Три проверки, которые существовали и не запускались, подключены к CI на
каждый PR, трогающий сайт.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
I committed the CI workflow in 729363d while this check was failing, and
found out by running it afterwards rather than before. Recorded because that
is the failure the workflow exists to prevent.

Three compounding bugs, all in how the check reached a layer:

1. It pressed each digit up to four times if the DOM did not change. Layer 1
   is 'petals', which is where /canvas already starts, so the press is a no-op
   and it pressed three more times -- each re-entering switchLayer, which holds
   a `transitioning` flag across a 200ms fade and returns early while set.
   Hammering left the flag stuck and every LATER layer silently refused to
   switch. Nine empty layers, twice in a row, from a page that was fine.

2. Walking 1..9 in sequence chains the switches, so one missed press shifts
   everything after it -- a run reported the tools panels on layer 8 rather
   than 7. Now Escape returns to petals before each layer, making every switch
   a single hop from a known state.

3. Even then, runs alternated between 4 panels and 0 on an unchanged build.
   Zero panels is the correct answer for most layers and a symptom on the one
   that has them, and a single attempt cannot tell those apart. Each layer that
   yields nothing now redoes the whole hop once before believing it.

Four consecutive runs now find the same four panels on layer 7. The cost is
about 50s per run, since every empty layer pays for its retry.

No change is also what "already on this layer" looks like, and that is not a
failure -- the check says so and moves on rather than retrying into the lock.

Проверка рендеринга сообщала о собственном замке переходов, а не о странице.
Три ошибки: повтор нажатий залипал на замке, последовательный обход сдвигал
слои, одиночная попытка не отличала пустой слой от неуспевшего.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The workflow ran on PR #653 -- which is the point, since I committed it
without checking -- and failed at the render step:

  Error: Chrome exited (null) before listening

CI runs Chrome as root in a container with no user namespaces, so the sandbox
cannot start and Chrome dies before printing a debugging port. The message
reads like a broken check rather than a missing kernel feature, which is why
it is worth a comment rather than just a flag.

--no-sandbox and --disable-dev-shm-usage, on Linux only. Dropping the sandbox
on a developer's own machine is a real cost for no benefit, and this check
runs there far more often than it runs here.

Local run still finds the same four panels.

Проверка рендеринга не могла запустить Chrome на раннере: в контейнере без
user namespaces песочница не стартует. Флаги добавлены только для Linux.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gHashTag
gHashTag merged commit 38faab0 into main Aug 10, 2026
15 of 27 checks passed
github-actions Bot added a commit that referenced this pull request Aug 10, 2026
Merge pull request #653 from gHashTag/fix/last-two-dead-links

Apply the site audit's own fixes, add the experiment ledger, and run the three checks in CI
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