Skip to content

docs: correct and complete CLAUDE.md for the v0.7.0 release - #114

Merged
AThraen merged 1 commit into
mainfrom
docs/release-review-updates
Sep 5, 2026
Merged

docs: correct and complete CLAUDE.md for the v0.7.0 release#114
AThraen merged 1 commit into
mainfrom
docs/release-review-updates

Conversation

@AThraen

@AThraen AThraen commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Documentation half of the release review over the 20 commits since v0.6.0. Three defects, one of them actively wrong.

Wrong

The active-terminal highlight section claimed the ring's accent "is stashed on Border.Tag at build time so the highlight method doesn't need to look up the VM."

The code does the opposite, and its own comment explains why: RepoRoot is populated asynchronously by GitService and AccentColor changes when it lands, so a cached Tag goes stale and stops matching the sidebar ring. The Tag survives only as a fallback.

That's the worst kind of doc error — it would have sent someone optimising in exactly the wrong direction.

Missing — three services

DbGate (#102), PwshLocator (#104), and ClaudeConfigGate (now shutdown-only after #111) were all added this cycle with no entry in the services table.

Missing — what makes a session "active"

Nothing described this, and it's now the subtlest thing in the codebase. I got it wrong twice.

The new section covers all three routes (sidebar click, typing, pane click) and, more usefully, why two of them must come from the page:

Both are non-obvious enough that the next person hits the same walls without this written down.

A "do not try this again" note

The Claude launch stagger now documents why it must stay a flat delay, with the measurements: gates of 12574ms, 22953ms and 31378ms against a 2000ms cap, and — after the revert — a plain Task.Delay(2000) still logging gate=36339ms. That last number is what finally showed the gate was measuring an app-wide stall rather than causing one.

Written explicitly as a warning because the adaptive version looks obviously better on paper. It was attempted three times.

Also records why the font-load re-fit exists (#113).

Verified while here

  • Every service on disk now appears in CLAUDE.md
  • All nine keybindings in MainWindow match the documented table
  • Build 0 errors, 0 warnings

🤖 Generated with Claude Code

https://claude.ai/code/session_01NDsEfog5kVkT5NmX1Ya5be

Release review of the 20 commits since v0.6.0. Three documentation defects,
one of them actively wrong.

WRONG: the active-terminal highlight section claimed the ring's accent "is
stashed on Border.Tag at build time so the highlight method doesn't need to
look up the VM". The code does the opposite and its own comment says so —
RepoRoot is populated asynchronously by GitService and AccentColor changes when
it lands, so a cached Tag goes stale and stops matching the sidebar. The Tag is
only a fallback.

MISSING: three services added this cycle were undocumented — DbGate (#102),
PwshLocator (#104), ClaudeConfigGate (now shutdown-only after #111).

MISSING: nothing described what actually makes a session active, which is now
the most subtle thing in the codebase and was got wrong twice. Added a section
covering all three routes and, more importantly, why two of them must come from
the page:

  - WebView2 is an HwndHost, so mouse input on hosted native content raises no
    WPF routed events at all — a Preview handler on the host Border only ever
    sees the ring around the terminal (#108).
  - xterm's onData is not "the user typed": it also carries device-attribute
    replies, cursor-position reports, OSC colour replies and focus in/out, none
    of which are distinguishable from typing by inspecting the bytes (#106).

Also recorded why the font-load re-fit exists (#113) and why the ClaudeLaunch
stagger must stay a flat delay — including that a plain Task.Delay(2000) still
logged gate=36339ms after the revert, which is what finally showed the gate was
measuring an app-wide stall rather than causing one. Written as a
"do not try this again" note with the measurements, since the adaptive version
looks obviously better on paper and was attempted three times.

Verified while here: every service on disk is now documented, and all nine
keybindings in MainWindow match the documented table.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDsEfog5kVkT5NmX1Ya5be
@AThraen
AThraen merged commit 643c3a8 into main Sep 5, 2026
1 check passed
@AThraen
AThraen deleted the docs/release-review-updates branch September 5, 2026 19:01
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