* docs(i18n): add Greek translations
Give Greek-speaking readers localized onboarding guidance and begin website coverage while keeping incomplete pages on the explicit English fallback.
- Add the reviewed Greek README and place Greek last in every language selector.
- Register Greek website localization and include 206 translated messages.
- Keep incomplete routes nonindexable and replace fixed translation counts with inventory-based coverage.
Refs #2984
* docs(website): improve Greek homepage wording
* docs(website): document Apple Silicon Cairo setup for local preview
* docs(website): scope Apple Silicon Cairo fix to preview process
* docs(website): avoid shared-prefix rewrite and clobbering backup
* docs(website): keep shared Intel libs intact with same-shell Cairo lookup
* docs(website): enter ARM shell before exporting Cairo lookup
* docs(website): use ARM brew path and unprotected Python for Cairo
* docs(website): reinstall requirements after ARM venv rebuild
* docs(website): document DejaVu font dependency
* docs(website): show ARM Python selection for venv rebuild
---------
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
Move all 18 translated READMEs into docs/readme/ and keep the English entry at the repository root. Update navigation, guide/image paths, website discovery and documentation checks together.
Preserve the contributor's work and current main content. Cover every translated command and HTML destination, and repair the verified Persian heading fragments.
Validation: 203 focused tests on the synchronized head, plus 119 tests and documentation checks on the integration with main fc0dbe7f9; 1,501 local references and 399 authored fragments verified. The complete CI workflow passes. The upstream x64 dylib fixture correction is included; an unchanged-checkout rerun cleared the earlier deadline timing assertion.
Closes#2141
Co-authored-by: Aimal Khan <94559553+aimalexe@users.noreply.github.com>
Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Explain each case through the obstacle, useful hypothesis and verified result. Remove byte totals, relocation counts and trial counts from the main narrative; preserve commit references and the constant-value example that explains the oracle defect. Make the experiment table and compiler terminology easier to follow.
Validation: website.py check, formatting, preserved source links, and eight article layout checks across both preview paths and light/dark themes.
Normalize the three quoted phrases to straight English quotation marks. Website checks and formatting pass; the local preview serves the revised punctuation.
Connect the reconstruction cases to the questions about specialization, retrieval and feedback-driven search. Replace fragmented sentence sequences with explicit causal links and smooth the progression into oracle design and the proposed comparison.
Validation: website.py check, formatting, preserved source links and evidence figures, and eight desktop/mobile light/dark layout checks at both preview paths.
Indent the optional language selector with its value so a nonindexable draft does not generate a line containing only spaces. Indexed-page markup is unchanged.
Validation: website.py check passes all 12 maintenance regressions; synchronization changes only the draft header blank line.
Add an English review draft connecting Touhou reconstruction evidence with model specialization, repository knowledge and feedback-driven learning. Preserve model attribution and historical verification scope in supporting notes, and translate the new Blog listing for all existing editions.
Validation: website.py check, focused formatting checks, and 32 Chromium cases covering both preview paths, light/dark themes, responsive layouts, translated indexes and no-JavaScript reading.
Inspect bounded recorded raw HTTP/XML SAZ archives and page retained capture Evidence. Preserve exact stored bytes and provenance, validate ZIP/XML integrity, and require an enforceable decoder memory bound.
Verified 356 real recorded sessions against independent byte and metadata oracles, public CLI/MCP parity, retained pages, and related interface checks. Current Fiddler Everywhere GUI and non-Linux producer workflows remain unverified.
Co-authored-by: zahhak <1792039+zahhak@users.noreply.github.com>
Co-authored-by: N0zoM1z0 <161784452+N0zoM1z0@users.noreply.github.com>
* fix(website): keep text inside small screens and tidy small type and spacing
From a layout audit of the built pages:
- Long terminal prompts and code-header buttons wrap instead of being cut
off at 320px (WCAG 1.4.10).
- Headings and table cells break long words, so the 1.4.12 text-spacing
test no longer widens pages past 320px.
- Header and footer links get a 24px minimum height (2.5.8).
- Labels that rendered under 12px now render at 12px or more, and inline
code never drops under 0.75rem.
- The home page's hero and definition rows share one column gap and align
on the first baseline, and stacked boxes share one corner size.
- Highlight chips get room around the text, and the active run in a step
listing is one band instead of a box per line.
Colors are unchanged.
🤖 Generated with Claude Code (Sonnet 5.5) 🦊
* feat(website): follow the system dark mode
The site was light only, so a reader with a dark system still got a white
page. Add one prefers-color-scheme: dark block to the stylesheet that swaps
the six color variables to Catppuccin Mocha (MIT) and overrides the fixed
colors that would break on a dark page: selection, buttons, tinted
highlights, flow nodes and arrows, and a visible border on the agent
terminal.
Add a dark theme-color tag beside the light one in the page template and
the 17 pages, and a Dark column to the style guide's color table.
Light colors are unchanged. The SVG figures follow in the next commit; the
blog page's inline strokes, the dinosaur game and the social card are left
as they are.
🤖 Generated with Claude Code (Sonnet 5.5) 🦊
* feat(website): give the five SVG figures a dark scheme
Pages load the figures with <img>, so page CSS cannot reach inside them.
Each figure now carries its own @media (prefers-color-scheme: dark) block
of attribute-selector overrides that map every light color to a Catppuccin
Mocha color, with one shared map across all five. No markup, labels,
shapes or positions change, and nothing uses !important.
Four figures also paint a mantle canvas so "Open figure" works on its own;
analyst-thinking.svg stays transparent, since it sits on the page rather
than in a figure box.
🤖 Generated with Claude Code (Sonnet 5.5) 🦊
* chore(website): refresh translation source references
The theme-color tags move the page lines that the catalogs cite, so
python3 scripts/website.py translations extract rewrites the source
references in messages.pot and the 18 PO files. No message text changes.
The same run moves the "Main navigation" entry to its new position in each
catalog.
🤖 Generated with Claude Code (Sonnet 5.5) 🦊
* fix(website): keep inline step highlights inline
The full-width band for the active step now applies only to code-step
blocks. The inline parameter highlights in the dx-ball and th04
signatures stay inline again.
🤖 Generated with Claude Code (Opus 5.5) 🦊
* test(website): check every page offers light and dark theme colors
Each authored reading page, and its built copy in every language,
must carry one theme-color tag for light and one for dark. The
stylesheet must keep its dark color scheme block. On the commit before
dark mode, this test fails on every page.
🤖 Generated with Claude Code (Opus 5.5) 🦊
* fix(website): draw the dinosaur game in the page colors
In dark mode the game box turned dark, but the game still drew with
its light colors, so the dinosaur, cacti and text fell to about 2:1
contrast. The canvas now reads five colors from CSS variables on
.dino-stage. Light values are the old ones, so light mode draws the
same pixels. Dark values are Catppuccin Mocha: 8.3:1 for the
dinosaur, 7.9:1 for cacti and text, 7.6:1 for the crash color.
The moved lines in dino-demo.js shift the translation catalog
references, so the catalogs are refreshed too (reference comments
only).
🤖 Generated with Claude Code (Opus 5.5) 🦊
* fix(website): recolor the Touhou flywheel arrows in dark mode
The inline flywheel SVG on the Touhou article hard-codes its stroke
colors, so on the dark page its connectors fell to about 2:1. Two
dark-only rules map those strokes to the page accent and muted colors
(7.8:1 and 7.4:1). Light mode is unchanged.
🤖 Generated with Claude Code (Opus 5.5) 🦊
* fix(website): redraw the dinosaur game when the system theme changes
The canvas reads its colors only when it draws, so an idle, paused or
crashed game kept the old palette after a theme switch. Each demo now
redraws on a prefers-color-scheme change.
The added lines shift the translation catalog references, so the
catalogs are refreshed too (reference comments only).
🤖 Generated with Claude Code (Opus 5.5) 🦊
---------
Co-authored-by: Claude Sonnet 5.5 <sonnet@cassie-pc>
Co-authored-by: Claude Opus 5.5 <opus@cassie-pc>
Adapt CJK font stacks, original copy-button label restoration, accessibility wording and Traditional Chinese onboarding improvements from PR #1737. Protect the complete APK filename and correct setup terminology.
Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>
Show the hero's Setup guide link as a secondary button and add a link
to the step-by-step setup guide under the Set up REA panel.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Style <kbd> keys, cap the Get started Node.js help section at the lede
width, and indent open .evidence-details content with a subtle left
border so nested collapsibles step in at any depth.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Add a short glossary, an analysis-tool chooser linked to native setup,
a note that REA does not include DX-Ball, and help for copying a file's
full path.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Move the "Set up REA" entry ahead of the native, JavaScript and browser
guides so new readers see setup before the worked examples.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Add collapsible help sections for installing Node.js, choosing a coding
agent, opening a terminal, restarting a client, copying a folder's full
path and finding an Electron app's .asar file.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
- CONTRIBUTING: CLI logs go to stderr, not stdout. `createLogger` writes every
mode to fd 2 so protocol and `--json` stdout stay parseable.
- Get started: Ghidra supports Linux arm64 (`GhidraInstallation` maps
`linux.arm64`), as installation.md already states.
- Browser guide: drop the caption claiming the hosted request path carries a
`/rea/` prefix. The guide now targets rea.tools, where the example is served
at `/examples/notes-web/`, as the evidence table above it shows.
- JavaScript workflows: six CLI commands accept inline JSON or a JSON file,
not five; `inspect-analysis-view` was added after the sentence was written.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
Add an X link beside the GitHub and Discord header icons on every content
page, name the footer links "Join the community" and "Follow us on X", and
close the homepage with a "Join the community" section.
On narrow screens, pad the footer so the floating Top link no longer
covers its last row of links.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* feat(setup): register OMP during setup
Add OMP (oh-my-pi) as a setup, doctor and uninstall client. Setup writes
a type: stdio entry to the user-level agent mcp.json that OMP reads,
following PI_CONFIG_DIR, an absolute PI_CODING_AGENT_DIR and the
OMP_PROFILE/PI_PROFILE named profile. It removes rea from OMP's
disabledServers denylist, which would otherwise hide the registration,
and doctor reports a listed registration as stale.
Closes#1257
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(setup): honor OMP's enabledServers allowlist in doctor
OMP's user enabledServers allowlist forces an entry with enabled: false
on, unless disabledServers also lists it. Doctor reported such a working
registration as stale. Also format the FAQ client list.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* fix(setup): keep OMP's allowlisted entry in update maintenance
rea update skipped an owned OMP entry with enabled: false even when
OMP's enabledServers allowlist runs it. Apply the same forced-enable rule
as doctor. Share the client-location environment reset across the client
tests instead of repeating it in each file.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Document the Python preview environment, automatic sitemap updates, canonical URLs, generated sharing card and Search Console checks after publication. Apply the website's clear, concise writing standard to search and sharing metadata.
Prefer rea.tools in page canonicals and search listings. Generate the sitemap from current HTML indexing directives and render a shared PNG preview from SVG before verification and manual deployment.
Refs #1283