Skip to content

docs(user): bring the guide up to date with v26.10.2, in US spelling, and re-take the Stable snapshot. Principle VIII. - #6396

Merged
ten9876 merged 6 commits into
mainfrom
docs/v26.10.2-refresh
Oct 12, 2026
Merged

ten9876 merged 6 commits into
mainfrom
docs/v26.10.2-refresh

Conversation

@ten9876

@ten9876 ten9876 commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

This brings the user guide (docs.aethersdr.com) up to date with everything in v26.10.2 and re-takes the Stable snapshot so the default site shows it. Docs only, apart from the TCI page prose in tools/docs/gen_reference.py; no application source, test or CI changes.

Every page was audited against the 106 PRs in the release. Every fact that was added or kept was checked against the source at f753dbfc4, the v26.10.2 release commit, not taken from the PR bodies alone.

What changed

Validation

  • npm ci && npm run build in docs/user: success. This is the broken-link and broken-anchor check.
  • node tools/docs/test_log_rules.mjs: 707 checks passed for 45 rules.
  • python3 tools/docs/gen_reference.py --check: up to date (8 pages).
  • git diff --check: clean.
  • Menu paths on a build of this branch (offscreen, isolated settings, no radio), menu list: Tools → AetherModem..., Tools → Callsign Lookup..., Tools → AetherMap..., Tools → FreeDV Reporter..., Tools → Waveforms..., View → Show live CW contacts.

Screenshots now out of date (not recaptured)

These need a recapture pass on the radio:

Found during the audit, not fixed here

🤖 Generated with Claude Code

ten9876 and others added 2 commits October 11, 2026 17:04
… Principle VIII.

An audit of every page against the 106 PRs in v26.10.2, each fact checked
against the source at the release commit:

- Menu paths: AetherMap, AetherModem, Callsign Lookup and FreeDV Reporter
  are on View, and Waveforms is on Tools.
- New coverage: Windows Firewall rules and the Network Diagnostics page
  (#6289), live CW contacts (#6268), NB2 on the HL2 and ANAN-G2 (#5966),
  ANAN-G2 AGC-T and per-radio memory (#6282, #6129), HL2 state restore
  and its level changes (#6259, #6254, #5975), DVK import (#6247, #6262,
  #6251), Copy Assist from unprocessed audio (#6216), keyboard-operable
  status-bar indicators (#6267), the KPA1500 (#5905), CTR2 extensions
  and the AetherKnob (#6338), live PPM (#6082), and Icom COMP and the
  squelch scale (#6174, #6184).
- Known issues whose GitHub issues are closed are removed.
- The style guide now asks for US spelling, and every page follows it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ide. Principle VIII.

docs.aethersdr.com serves Stable by default, and main is still at the
v26.10.2 release commit, so the snapshot carries nothing unreleased. The
Log Analyzer's two BNR rule links follow the renamed "grayed out" anchors.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ten9876
ten9876 requested a review from a team as a code owner October 12, 2026 00:04

@aethersdr-agent aethersdr-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue fit

No linked issue, and none is needed: GOVERNANCE.md:115 lists "Documentation additions and corrections" under What does NOT require an RFC, and Documentation is a designated domain area (GOVERNANCE.md:56). Reviewed against the PR's own stated intent instead.

The intent is largely delivered, and the factual work is unusually careful — I spot-checked the riskiest new numbers and strings against source at the branch base and they hold (details under "What I tried to break"). But the headline item — "Wrong menu paths" — is inverted. The four relocated actions are on Tools, not View. The old docs were correct, and this PR changes 18 lines across 9 pages × 2 trees (plus the style guide's own worked example) to a menu where the item does not appear.

Scope

File group Count What it changes Claimed in body? Verdict
docs/user/docs/*.md 74 US spelling, v26.10.2 content, menu paths, known-issue removals Yes In scope
docs/user/versioned_docs/version-stable/*.md 74 Re-taken Stable snapshot Yes (separate commit 6ae6bcd) In scope; byte-identical to docs/ (verified with diff -rq)
docs/user/src/components/LogAnalyzer/rules.json 1 Two docs: deep-link anchors tracking the greyed→grayed heading renames (:729, :746) Yes In scope, and the right fix — this was the only consumer of those anchors anywhere in the repo

git diff --name-only main...HEAD is 149 files, all under docs/user/. No source, test, CI or CHANGELOG.md changes. "Docs only" self-certifies accurately. The two commits are cleanly separated (content, then snapshot), which is what makes the snapshot reviewable at all.

Blockers

1. docs/user/docs/aethermodem-packet-radio.md:21 (and 17 sibling lines) — AetherModem, Callsign Lookup, AetherMap and FreeDV Reporter are on Tools, not View. The PR reverses a correct path.

The body cites MainWindow_Menus.cpp:1336-1396 — those are the creation sites, and each is followed ~170 lines later by a removeAction/addAction pair that moves the action to &Tools (toolsMenu is created at :1066):

    viewMenu->removeAction(packetDecoderAction);   // :1519
    toolsMenu->addAction(packetDecoderAction);     // :1520
...
    viewMenu->removeAction(callsignLookupAct);     // :1569
    viewMenu->removeAction(pskMapAction);          // :1570
    toolsMenu->addAction(callsignLookupAct);       // :1571
    toolsMenu->addAction(pskMapAction);            // :1572
#ifdef HAVE_WEBSOCKETS
    viewMenu->removeAction(fdvReporterAct);        // :1574
    toolsMenu->addAction(fdvReporterAct);          // :1575
#endif

I grepped all four variables across the whole file: nothing re-adds them to viewMenu after :1575, and the three non-FreeDV relocations are unconditional. So all four appear under Tools only. The "Build docs site" check can't catch this — the anchors and links are all valid, the menu name is just wrong.

The lines to revert to **Tools → …** (keeping this PR's correct … → ... normalization), each duplicated identically in versioned_docs/version-stable/:

  • docs/user/docs/aethermodem-packet-radio.md:21 — Open it from **View → AetherModem...**
  • docs/user/docs/d-star-thumbdv.md:54 — Open **View → AetherModem...** and select the **D-STAR** tab.
  • docs/user/docs/callsign-lookup.md:40 — Open it from **View → Callsign Lookup...** or press **Ctrl+Shift+L**.
  • docs/user/docs/psk-reporter-map.md:11 — Open the map from **View → AetherMap...**
  • docs/user/docs/before-you-transmit.md:31 — The WSPR beacon in **View → AetherMap...**
  • docs/user/docs/rade-digital-voice.md:43 and :74 — **View → FreeDV Reporter...**
  • docs/user/docs/spothub.md:121 — the **Message** field in **View → FreeDV Reporter...**
  • docs/user/docs/docs-style-guide.md:97 — the canonical example itself, which is how this propagates to the next author:
- **Use exact UI names in bold**, with menu paths written as **Tools → AetherMap...** and settings as **Settings → Radio Setup... → Peripherals**. Check them against `src/gui/MainWindow_Menus.cpp`.

Two things to keep as-is, which I checked specifically so you don't over-revert:

  • View → Show live CW contacts (callsign-lookup.md:52, cw-decoder.md:70) is correct. m_liveCwContactsAction is created on viewMenu at :1424 and has no removeAction — it is genuinely View-only.
  • Tools → Waveforms... is correct. waveformsAct is constructed standalone at :311 and only ever added at :1581 (toolsMenu).

Since the two doc trees are byte-identical, fix docs/ and re-run snapshot_stable.py 26.10.2 rather than hand-editing version-stable. The "Wrong menu paths" bullet in the PR body needs the same correction, so the next audit doesn't re-derive the error from it.

Nits

Non-blocking, all in the "every page is converted" claim's blast radius:

  • docs/user/docs/cat-control.md:84 — "re-centring" and "re-centers" in the same sentence: "does not keep re-centring the pan. A tune outside the span … re-centers or re-bands". Change the first to re-centering.
  • docs/user/docs/docs-style-guide.md:56 — "behaviour" survives in the page that now mandates US spelling: "A change to user-visible behaviour updates the matching page…". Line 97's rule says color, behavior, center, so the file contradicts itself two paragraphs apart.
  • docs/user/docs/generated/index.md:17 and generated/tci-commands.md:3,16 still read "recognises" / "behaviour". These are generated pages and must not be hand-edited — the prose lives in tools/docs/gen_reference.py:1236-1240, :1255, :1279. That's also why gen_reference.py --check passes: the generator was untouched, so the pages match it. Either convert those strings (a one-line scope note in the body, since it's a tools/ change in a docs-only PR) or scope the claim to the hand-written pages.
  • The British→US flip in docs-style-guide.md:97 rewrites a project-wide convention. Canon doesn't require an RFC for it and you hold the Documentation domain, so this isn't a governance finding — but the body doesn't say who ruled on it, and the 149-file churn will conflict with every open docs PR. Worth one line naming the decision and whose it was.
  • Observation, not a finding: removing the #5107 (Apple Silicon ASR freeze), #4824 and #5665 entries is exactly what docs-style-guide.md:78 requires — "When the issue closes, the entry is deleted." Flagging it only because those three were closed hours earlier without a demonstrated fix, so a user hitting the M-series ASR freeze now finds nothing in the guide. That's a question about the closures, not about this PR, and the PR is the compliant side of it.

What I tried to break

Findings below are reasoned from the source at the branch base, not reproduced at runtime — I have no build, no test run and no way to drive the GUI.

  • Security audit (required). Ran the security-audit subagent over the four flagged files. All 17 CodeGuard findings are false positives, and 3 of the 4 files are not in this PR at all — git diff --name-only main...HEAD is 149 files, every one under docs/user/. Hl2Discovery.h:34,37 and hl2_tx_passband_onset_test.cpp:50,68 are Markdown backticks inside // comments with no shell anywhere (CMDI-BACKTICK ×4); rules.json:744,1003 are JSON-escaped regex metacharacters (\\w+, \\.), not UNC paths; rules.json:88-89 match the Flex F3000001 / 0xf3000001 GUI-client registration status word, not a licence number or a hex IP; hl2_discovery_logging_test.cpp uses 192.168.8.20/169.254.1.5 as socket-free QHostAddress fixtures. All of those lines are byte-identical to main. Credit: security-audit (CodeGuard).
  • Anchor and link integrity, the thing most likely to break on a rename pass. Wrote a slugifier and resolved every ](...#anchor) against the real headings in both trees: 0 broken, including the awkward double-hyphen cases (#nb--noise-blanker, #bnr-is-grayed-out-no-bnr-pack-for-your-gpu--yet). Then grepped the whole repo for the old anchor forms (greyed-out, confidence-colours, smartsdr-licence, contact-card-in-the-cw-decoder) — the only consumers outside the docs were rules.json, which this PR updates, and unrelated source comments. Build docs site is green on 6ae6bcd47, agreeing with my checker.
  • Did the spelling pass over-reach into code? Scanned for conversions inside code spans, settings keys, URLs, log strings and theme tokens. None. SwrSweepLicenseConfirmed moved only in prose around it; the color.* token family is untouched; rules.json's two edits are docs: anchors only, not the match/regex fields.
  • Are the new factual claims real, or plausible-sounding prose? Spot-checked the riskiest: ANAN AGC-T (AnanBackend.h:154-158 — kAgcKnobMinDb = -20.0, kAgcKnobDbPerStep = 1.4, clamp(level, 0, 100); so the documented −20…120 dB range and both anchor values check arithmetically: −20 + 1.4×71 = 79.4, −20 + 1.4×29 = 20.6); the NB2 fill names in exact order (VfoWidget.cpp:2221-2222); DVK status wording (DvkPanel.cpp:610, "On air" / "Previewing"); the live-contacts placeholder (CallsignLookupDialog.cpp:32). The hermes-lite-2.md reversal — a bookmark recalled into DIGU/DIGL now keeps AGC off — is backed by Hl2Backend.cpp:7818 and Hl2Backend.h:106 (#6142), so deleting the old upgrade note was right.
  • Snapshot fidelity, since a hand-touched snapshot is the classic way these diverge: diff -rq docs versioned_docs/version-stable is empty. Faithful — which is also why the blocker has to be fixed in both trees.
  • Scope creep in a 149-file PR: no source, test, CI or CHANGELOG.md edits, and no commit message unrelated to the release. No socket tests added or removed. Both commits are signed.
  • What I could not check: whether the ~30 screenshots listed as stale are the complete set, and the IC-705 COMP readback — which the body already flags as inferred from the MK2 rather than verified. Fair disclosure on both.

Recommendation

Request changes — on the menu paths alone. Everything else here is good work: the anchor discipline, the rules.json follow-through, the separate snapshot commit, and the honest "found during the audit, not fixed here" section are all better than typical for a docs pass of this size, and the numbers I sampled survived checking against source. But a guide that sends users to the wrong menu is worse than the stale British spelling it replaced, and docs-style-guide.md:97 would teach the error forward.

Next step: revert the nine View → lines to Tools → in docs/, keep View → Show live CW contacts and Tools → Waveforms..., re-run snapshot_stable.py 26.10.2, and fix the body bullet. The three spelling nits are worth folding into the same push. Thanks for the depth of the audit — the inverted claim came from the one place in MainWindow_Menus.cpp that's genuinely booby-trapped, where the creation site and the final home are 170 lines apart.


🤖 aethersdr-agent · cost: $9.5961 · model: claude-opus-5

@aethersdr-agent

Copy link
Copy Markdown
Contributor

Cisco CodeGuard — static analysis of this PR (17 finding(s))

  • [MEDIUM] CS-VLN-SSRF-HEX — Vulnerability: CS-VLN-SSRF-HEX in docs/user/src/components/LogAnalyzer/rules.json /tmp/aetherclaude/pr-6396/docs/user/src/components/LogAnalyzer/rules.json:89
  • [HIGH] CS-VLN-PATH-UNC — Vulnerability: CS-VLN-PATH-UNC in docs/user/src/components/LogAnalyzer/rules.json /tmp/aetherclaude/pr-6396/docs/user/src/components/LogAnalyzer/rules.json:744
  • [HIGH] CS-VLN-PATH-UNC — Vulnerability: CS-VLN-PATH-UNC in docs/user/src/components/LogAnalyzer/rules.json /tmp/aetherclaude/pr-6396/docs/user/src/components/LogAnalyzer/rules.json:1003
  • [HIGH] CS-PII-DL-1 — PII detected: drivers_license in docs/user/src/components/LogAnalyzer/rules.json /tmp/aetherclaude/pr-6396/docs/user/src/components/LogAnalyzer/rules.json:88
  • [CRITICAL] CS-VLN-CMDI-BACKTICK — Vulnerability: CS-VLN-CMDI-BACKTICK in src/core/backends/hl2/Hl2Discovery.h /tmp/aetherclaude/pr-6396/src/core/backends/hl2/Hl2Discovery.h:34
  • [CRITICAL] CS-VLN-CMDI-BACKTICK — Vulnerability: CS-VLN-CMDI-BACKTICK in src/core/backends/hl2/Hl2Discovery.h /tmp/aetherclaude/pr-6396/src/core/backends/hl2/Hl2Discovery.h:37
  • [HIGH] CS-VLN-SSRF-PRIV-192 — Vulnerability: CS-VLN-SSRF-PRIV-192 in tests/hl2_discovery_logging_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_discovery_logging_test.cpp:60
  • [HIGH] CS-VLN-SSRF-PRIV-192 — Vulnerability: CS-VLN-SSRF-PRIV-192 in tests/hl2_discovery_logging_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_discovery_logging_test.cpp:74
  • [HIGH] CS-VLN-SSRF-PRIV-192 — Vulnerability: CS-VLN-SSRF-PRIV-192 in tests/hl2_discovery_logging_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_discovery_logging_test.cpp:166
  • [LOW] CS-PII-IP — PII detected: ip_address in tests/hl2_discovery_logging_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_discovery_logging_test.cpp:60
  • [LOW] CS-PII-IP — PII detected: ip_address in tests/hl2_discovery_logging_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_discovery_logging_test.cpp:61
  • [LOW] CS-PII-IP — PII detected: ip_address in tests/hl2_discovery_logging_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_discovery_logging_test.cpp:74
  • [LOW] CS-PII-IP — PII detected: ip_address in tests/hl2_discovery_logging_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_discovery_logging_test.cpp:87
  • [LOW] CS-PII-IP — PII detected: ip_address in tests/hl2_discovery_logging_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_discovery_logging_test.cpp:166
  • [LOW] CS-PII-IP — PII detected: ip_address in tests/hl2_discovery_logging_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_discovery_logging_test.cpp:172
  • [CRITICAL] CS-VLN-CMDI-BACKTICK — Vulnerability: CS-VLN-CMDI-BACKTICK in tests/hl2_tx_passband_onset_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_tx_passband_onset_test.cpp:50
  • [CRITICAL] CS-VLN-CMDI-BACKTICK — Vulnerability: CS-VLN-CMDI-BACKTICK in tests/hl2_tx_passband_onset_test.cpp /tmp/aetherclaude/pr-6396/tests/hl2_tx_passband_onset_test.cpp:68

Automated static scan by Cisco DefenseClaw CodeGuard on the changed files. Advisory — some may be false positives; the review above verifies them.


🤖 aethersdr-agent · cost: $9.7299 · model: claude-opus-5

@rfoust rfoust self-assigned this Oct 12, 2026
rfoust
rfoust previously requested changes Oct 12, 2026

@rfoust rfoust left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The v26.10.2 documentation refresh is largely delivered, but the menu-path corrections introduce a user-facing regression: AetherModem, AetherMap, Callsign Lookup and FreeDV Reporter live under Tools, not View. The linked #5107 was closed as not planned without a demonstrated fix; removing its Known issues entry follows the docs rule and does not establish remediation.

Scope

Group Change Claimed in body? Verdict
74 authored pages Release coverage, US spelling, menu paths, known issues Yes In scope
74 Stable pages Regenerated snapshot Yes In scope; matches authored docs at PR head
Log Analyzer rules Two renamed BNR anchors Yes In scope

All 149 changed files are under docs/user/. The docs-only claim holds: no source, test, CI or CHANGELOG edits, and no socket tests added. The spelling convention is explicitly disclosed and this PR is submitted by the project maintainer; I found no scope or governance blocker.

Blocker

  1. [P2] Restore Tools for the four relocated actions — see the inline comment on aethermodem-packet-radio.md:21. MainWindow_Menus.cpp:1519–1575 removes these actions from View and adds them to Tools after their initial creation sites. Nine instructions across eight authored pages are incorrect, with identical copies in Stable. Correct the authored pages, regenerate Stable, and fix the PR body's menu-path claim. Keep View → Show live CW contacts and Tools → Waveforms... as they are.

Nits — non-blocking

  • The US conversion remains incomplete: cat-control.md:84 has re-centring, docs-style-guide.md:56 has behaviour, and cw-decoder.md:68 has sceptically. Generated index/TCI pages still contain British wording; change the generator rather than editing its output, or narrow the conversion claim.
  • DVK's start-controls sentence should clarify that the running operation's button remains enabled to stop it; see the inline comment on dvk-panel.md:55.
  • IC-705 COMP readback and the stale screenshots remain unverified, as disclosed in the body.

Verification and attacks that held

  • Reviewed head 6ae6bcd, release base f753dbf. Constructed a clean merge with current main aa0dd0e in an isolated scratch clone (tree e11ad7ca381163429afdfb4b0a8157c72f3f5856). GitHub's available merge ref aa9491e still has the release base, so the green CI predates current main's advancement.
  • The combined result passed npm ci && npm run build, 707 Log Analyzer checks for 45 rules, gen_reference.py --check, and whitespace checks. PR-head authored docs and Stable are byte-identical.
  • Mutation-checked the BNR links: restoring the two old greyed-out anchors produced exactly two checker failures; restored the correct file afterward.
  • Independently checked ANAN gain arithmetic, DVK WAV conversion limits and output format, Windows firewall rule profiles, and the final menu relocation sites against source. Those sampled claims held apart from the menu paths. Actually removed Known issues entries are closed; open entries checked remain present. Both commits have GitHub-verified signatures.
  • The native PR-head ARM64 build configured with RADE enabled, arm64 host/system processors and no RNNoise x86 sources, but stopped at iconutil: Invalid Iconset. The same icon step failed with identical base inputs. I do not attribute that failure to this docs PR.
  • No GUI runtime proof: the native build did not complete, so no demo bridge session was launched and no live radio or TX was used. Menu and DVK findings are reasoned from the owning source, not presented as runtime observations. No model-invocable automated review pass was available; I performed the second manual pass and independently verified the existing bot's menu finding.

Recommendation: Request changes, for the menu paths. Correct the nine instructions, regenerate Stable, and update the body before merging; the spelling and DVK wording comments are non-blocking.

Comment thread docs/user/docs/aethermodem-packet-radio.md Outdated
Comment thread docs/user/docs/cat-control.md Outdated
Comment thread docs/user/docs/dvk-panel.md Outdated

@ten9876 ten9876 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue fit

Partially delivered. Recommendation: Request changes. The v26.10.2 refresh is in scope, but the menu-path corrections send users to the wrong menu. Linked #5107 was explicitly closed as not planned without demonstrating its exact freeze was fixed; removing its known-issue entry follows the docs rule and is not a code fix. Reviewed head 6ae6bcd47, release base f753dbfc4.

Scope

Group Change Claimed? Verdict
74 authored pages Release facts, paths, spelling, known issues Yes In scope
74 Stable pages Regenerated snapshot Yes In scope; byte-identical to authored tree
Log Analyzer rules Two BNR anchors Yes In scope; mutation checked

All 149 files are under docs/user/. No source, tests, CI, CHANGELOG, application defaults or protocol additions. Both commits have verified signatures and adjacent authored dates. No socket tests added or modified. No scope/governance blocker: documentation corrections are RFC-exempt, and the maintainer-authored spelling change is disclosed.

Blocker

  1. [P2] Restore Tools for the relocated actions — docs/user/docs/aethermodem-packet-radio.md:21. Source creates these on View, then moves them to Tools (src/gui/MainWindow_Menus.cpp:1519-1575). Independently reproduced through the v26.10.2 demo bridge. The relevant excerpt from menu list was:
{"title":"Tools","actions":[{"enabled":true,"text":"AetherModem..."},{"enabled":true,"text":"Callsign Lookup..."},{"enabled":true,"text":"AetherMap..."},{"enabled":true,"text":"FreeDV Reporter..."}]}

None appeared in View. Both menu open Tools and menu open View returned ok: true.

Drop-in replacement:

Open it from **Tools → AetherModem...**

Correct the sibling paths at docs/user/docs/d-star-thumbdv.md:54, callsign-lookup.md:40, psk-reporter-map.md:11, before-you-transmit.md:31, rade-digital-voice.md:43,74, spothub.md:121, and docs-style-guide.md:97 (all under docs/user/docs/). Regenerate Stable and correct the body's menu claim. Keep View → Show live CW contacts and Tools → Waveforms..., both confirmed in source and runtime inventory.

Nits — non-blocking

  • docs/user/docs/audio-settings.md:50: MIDI does not always follow the title-bar active output. MainWindow_Controllers.cpp:2310-2338 sends Flex MIDI Master Volume straight to line out even with PC Audio on, and refuses other radios with PC Audio off. The new MIDI page correctly describes the exceptions at docs/user/docs/midi-controller-mapping.md:77. Remove MIDI from the generalization and link there. Source-derived; hardware-output cases were not reproduced on demo.
  • docs/user/docs/dvk-panel.md:55: the running operation's REC/PLAY/PREV button stays enabled to stop it (DvkPanel.cpp:474-476); the blanket statement that start controls stay disabled misses this. Say other start controls are disabled. Source-derived: demo has no radio-side DVK.
  • docs/user/docs/cat-control.md:84, docs-style-guide.md:56, cw-decoder.md:68: re-centring, behaviour, sceptically remain despite the complete-US-conversion claim. Generated wording also remains British at docs/user/docs/generated/tci-commands.md:16; update its generator or narrow the claim. Regenerate Stable after authored edits.

What I tried to break

  • 707 Log Analyzer checks passed for 45 rules; eight generated reference pages are current; whitespace check passed; authored/Stable tree comparison is empty. Restoring the two old BNR anchors yielded exactly two failures and exit 1; restored the correct rules afterward. Meaningful coverage for the actual link edits.
  • Independently checked ANAN gain arithmetic (0/100 -> -20/120 dB; defaults 71/29 -> 79.4/20.6 dB), unprocessed-ASR label and DVK WAV bounds against source. No application-code mutation is relevant to this docs-only PR. No model-invocable automated review pass was available; prior review findings used here were checked independently.
  • Runtime: existing Linux v26.10.2 binary with build identity f753dbfc4; this PR changes none of its application sources. Offscreen, isolated settings, explicit socket /tmp/aethersdr-pr6396-codex-final, PID 1696513, txAllowed: false. Connected only to family sim, serial DEMO-0001. get radio returned model AetherSDR Demo, connected: true, transmitting: false. Inspected Tools/View and closed the instance afterward; operator instance untouched. This is release-binary evidence, not a successful fresh PR-head build.
  • Fresh lean native build failed on No space left on device; npm dependency extraction failed with quota error -122, so local docs build was not completed. Snapshot re-execution also failed on quota; tracked snapshot remained unchanged and already passed byte comparison. These are environment limitations, not PR regressions. Screenshots, IC-705 readback, OS-specific firewall/power behavior and hardware convergence were not reproduced.
  • CI is green on this head, but pull-request runs were created 2026-10-12T00:04:41Z; current main 8b39af86 was committed 2026-10-12T17:39:31Z. Green describes an older merge result, not current main; strict updating is not enforced. No current-main validation claim.

Next step: correct the nine menu instructions, regenerate Stable and update the body. Address wording nits in the same docs pass. Verdict is Request changes. If posted as COMMENT, that is because the authenticated account is the PR author and GitHub refuses a self-request-changes event; it is not an approval.

@rfoust rfoust removed their assignment Oct 12, 2026
ten9876 and others added 4 commits October 12, 2026 15:55
…er are on Tools; finish the US pass. Principle VIII.

The four actions are created on View and then moved to Tools
(src/gui/MainWindow_Menus.cpp:1519-1520, 1569-1575), so the nine
instructions that sent readers to View, including the style guide's
own example, now say Tools.

The remaining British spellings in hand-written pages are converted, and
the TCI page prose in tools/docs/gen_reference.py is converted at the
source, so the generated pages follow.

audio-settings no longer lists MIDI among the controls that always
follow the active output, and links to the MIDI page's exceptions.
dvk-panel says the running operation's button stays enabled to stop it
(DvkPanel::refreshTransport).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… Principle VIII.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Main's post-release docs are kept in US spelling. Stable is untouched.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…at to do, and Stable keeps #5996. Principle VIII.

windows.md said a failed external request is logged once per session.
NetworkDiagnostics::watch logs once per service, host, error and HTTP
status, as support-and-logging.md already says.

The ANAN-G2 upgrade note now says to lower AGC-T on an older bookmark
and save it again, not only that it comes back louder.

The IC-9700 waterfall-rate issue (#5996) was fixed by #6402, after the
26.10.2 tag, so Stable, which describes 26.10.2, keeps the entry. Next
drops it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ten9876
ten9876 dismissed rfoust’s stale review October 12, 2026 23:06

Every requested change is fixed at head 99ba460:

  • Blocker, Tools paths: all nine instructions, the style guide's example included, say Tools (4de8c31). Stable is re-taken (c0cb293), and the body's menu bullet cites MainWindow_Menus.cpp:1519-1520 and :1569-1575. Runtime proof is menu list on a build of 5092b98: Tools → AetherModem... / Callsign Lookup... / AetherMap... / FreeDV Reporter... / Waveforms..., and View → Show live CW contacts.
  • Spelling: re-centring, behaviour and sceptically are fixed, and the generator's TCI prose is converted at the source in gen_reference.py (4de8c31). --check is up to date.
  • DVK wording: the running operation's button stays enabled to stop it, per DvkPanel.cpp:474-476 (4de8c31).
    Docs build, 707 Log Analyzer checks and diff --check all pass. Details are in each thread. Removing #5107, #4824 and #5665 was the maintainer's call, as the body says. The IC-705 COMP readback stays disclosed as unverified.
@ten9876
ten9876 merged commit 34363a3 into main Oct 12, 2026
10 checks passed
@ten9876
ten9876 deleted the docs/v26.10.2-refresh branch October 12, 2026 23:18
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.

HL2: ASR (Copy Assist / Whisper) freezes application on M5 Apple

2 participants