claude: status says where the window came from on a computer with no engine (#1246) - #1258
Merged
Merged
Conversation
…engine waired-agent#1246 made `waired claude enable` declare a reachable window on a computer with no engine of its own, but left `waired claude status` reading the local window alone. On exactly the host that change was for, status therefore printed "unknown (agent not answering)" — a different number from the one actually in force, and a false diagnosis of a perfectly healthy computer whose daemon was answering fine. The line now reads `none here — <n> from another computer`, and keeps the stale check against that number so the disagreement #408 exists to surface still surfaces. The label stays "local window" because that is what it is called on every other host and in the docs; the value is what says where the number came from. The reachable window is resolved only when there is no local one, the same order enable writes in, so a host that serves pays for no mesh read. Refs #1246 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HJUUSmAfbRdjER1seDdjXm Signed-off-by: gen16k <gen16k@users.noreply.github.com>
|
📘 Docs preview — the preview channel for this PR has been deleted now that it is closed. |
gen16k
added a commit
that referenced
this pull request
Sep 6, 2026
… every page in both languages (#1264) Restructures docs.waired.ai around the order a person actually meets Waired, and rewrites every page from zero in both languages against a saved corpus of human-written documentation (Tailscale and Discord for English; LINE Developers, SmartHR, and the JTF style guide for Japanese). Owner request of 2026-09-06. ## Structure - 32 page pairs become 56, in eight sidebar groups that follow the journey: Get started → Install and set up → Use it from your tools → Models and routing → The Waired app and console → Fix a problem → How it works → Reference. Every group and item has a Japanese sidebar label (the ja sidebar was all English before). - The four longest pages are split so a reader lands on the thing they came for: first-run becomes Sign in / Set up in the browser / Set up in the terminal / Servers and auth keys / Run setup again; troubleshooting becomes a hub plus six symptom pages; the CLI reference becomes a hub plus five command-group pages; the Claude Code guide gains How turns are routed / Subagents / The status line. - New pages for things that had none: Meet the Waired app, How Waired chooses a model, Choose which computer answers (routing), Share this computer, Notices, The Status… report. - URLs the product prints are unchanged (`/quickstart/`, `/public-share/`, `/reference/cli/`, `/reference/model-catalog/`, `/reference/install-options/`). Moved pages get 301s in both `astro.config.mjs` and `firebase.json`: `/getting-started/first-run/` → `/getting-started/sign-in/`, `/guides/models/` → `/guides/choose-a-model/`, `/guides/public-share/` → `/public-share/`, and their `/ja/` twins. The first two of those were already 404s on the live site. - The `what-is-waired` figure is now HTML and CSS instead of an SVG, so it follows the site theme and is readable in both languages. ## Prose - English: one voice (Tailscale's), the reader is "you", UI actions are *select* / *press* / *run*, UI labels are `**bold**`, product output is quoted verbatim, no dash chains or parentheticals. - Japanese: 敬体, no space between Japanese and Latin characters (LINE style), [操作対象] / 「表示文字列」 / screen names without brackets, dictionary-form task headings. The 2026-09-06 owner decisions are recorded in `docs-site/TRANSLATION.md` §Register, next to the 106 existing term rulings, all of which are applied. - Japanese paragraphs are written on one line. Browsers drop a soft line break between two Japanese characters but render one next to a Latin character as a space, so a wrapped source cannot keep the no-space rule. The rule and its reason are in TRANSLATION.md. - Retired vocabulary is gone from both trees: the AI / your AI, graphics card, graphics memory, AI engine, speed check, under-spec, AI model, tray (outside the program name `waired-tray`), and the bare 「窓」 for context window. - The owner-ruled public wording on what reaches Anthropic (waired#1313) is on the Claude Code guide and the privacy page, with the fail-closed decision cited. ## Kept in step with main Three commits landed on `main` while this branch was open and are carried into the pages that now hold the text: Qwen3.8 Flash Next and the never-chosen Qwen3.5 122B (#1259, on How Waired chooses a model), the `none here` form of the local window line (#1258, on the Claude Code troubleshooting page and the coding-tools CLI reference), and the Public Share refusal wording (#1256, in the base). Two in-flight PRs were coordinated with their sessions and are written into these pages ahead of them, so their rebases keep the text: the lighter variants of Qwen3.8 27B and Qwen3.6 35B-A3B and the catalog memory-column sentence (#1268, which lands first), and the app labels that the fix for #1269 introduces (`Sign in…`, `Pause Waired` / `Resume Waired`, and the `○ Paused` top line). The app's Disconnect and `waired pause` are one switch, so the pause page now has one section for it. Until #1269 lands the app still shows `Sign in...`, `Disconnect`, and `○ Disconnected`. ## Guards and tests - New `scripts/ci/docs-links-check.mjs` resolves every root-relative link and `#anchor` in `dist/` and runs after the build in `deploy-docs.yml`. Astro only fails on a bad sidebar slug; body links to renamed pages built green and 404'd before. - `i18n:report`: 56 pairs, 0 out of sync. `i18n-pair-guard` and `docs-surface-guard`: OK against main. - Two Go test comments cite the pages that now hold the sentences they quote (`internal/router/reason_lines_test.go`, `internal/gui/tray/status_report_test.go`). No pinned string changed. `go test ./internal/router/ ./internal/gui/tray/` passes. ## Screenshots Four of the five captures are real and included: - `setup-wizard-progress.png` and `setup-wizard-progress-ja.png`, taken with Playwright against the development console during a real 1.9 GB download, masked in the DOM (device renamed to `my-desktop`, account chip and pre-release banner hidden). - `app-ready.png` and `app-not-signed-in.png`, taken on a Mac at 2× in the dark appearance: the menu opened and read through System Events, captured on its own rectangle, and the account row repainted in the image so no real address ships. `CAPTURES.md` records the method. `claude-code-statusline.png` stays a labelled placeholder until a release prints the `⚡` segment the docs quote (0.0.3-rc5 prints it without the prefix); tracked in #1270. Taking the signed-out capture found that the app's **Sign out…** on macOS signs nothing out; filed as #1269. The fix for it also changes the app's `Sign in...` label to `Sign in…`, so the docs quote that form; until it lands the app shows three periods. ## Why one PR The plan allowed two. Get-started and install pages link forward to guide, troubleshooting, and reference pages that only exist in the new structure, so landing the first half alone would have shipped 404s. Review by group is still possible: each group is one sidebar section, and each commit is one slice. Refs waired-ai/waired#1314 Fixes #1254 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019puN41reeo6o9gXkiRTbBr
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A gap left by #1257 (#1246), found while checking that change on a real host.
#1257 made
waired claude enabledeclare a reachable window on a computerwith no engine of its own — the whole point of #1246's third part. It did not
teach
waired claude statusthe same thing: that command still resolves onlythe local window, so on exactly the host the change was for it printed
Two things wrong with that on a perfectly healthy engine-less computer: the
number it reports as unverifiable is the one actually in force, and "agent not
answering" is a false diagnosis of a daemon that is answering fine.
The line now
and, when the file has fallen behind, the stale marker and the fix still appear
against that number — the disagreement #408 exists to surface keeps surfacing.
The label stays
local window, because that is what it is called on everyother host and what
troubleshooting.mdnames; the value is what says where thenumber came from. Introducing a second label for one host would make the
troubleshooting section teach two.
The reachable window is resolved only when there is no local one — the same
order
waired claude enablewrites in — so a host that serves pays for no meshread on
status.Tests
TestClaudeWindowStatusLine_NoEngineHereincmd/waired/claude_context_window_test.go: the number and its provenance, thestale marker still firing against it, an unwritten managed file stated rather
than implied, and — the row that keeps the change honest — a host that does
serve still answering for itself. The four existing subtests gain the new
argument and are otherwise untouched.
Docs
troubleshooting.md(+ja) already describes this line; one sentence says whatit reads on a computer with no engine.
Checks
go build ./...,go test ./...,gofmt -l,golangci-lint run --max-same-issues=0,i18n-pair-guard.sh.Refs #1246
🤖 Generated with Claude Code
https://claude.ai/code/session_01HJUUSmAfbRdjER1seDdjXm