Skip to content

docs: the order of work, and why the server is Linux-only - #3

Merged
butschster merged 1 commit into
mainfrom
docs/windows-and-the-process-skill
Aug 8, 2026
Merged

butschster merged 1 commit into
mainfrom
docs/windows-and-the-process-skill

Conversation

@butschster

Copy link
Copy Markdown
Contributor

What

Two documents and the notes that point at them.

  • .claude/skills/new-feature/SKILL.md — the order of work for anything
    bigger than a one-liner: scope it to the right half, research, build, verify,
    document, commit, release.
  • docs/windows.md — what a Windows port of the server would have to solve,
    written from a cross-compile rather than from memory.
  • CLAUDE.md and README.md — short notes so both are found by the
    person who needs them.

Why

Both questions were being answered from scratch each time.

The verification order in particular had a hole: client changes went straight to
a headset. The emulator pass in the middle is cheap, and the cost of skipping it
is somebody's afternoon rather than a minute.

Windows will be asked about eventually. The dangerous half of the answer is that
the cross-compile is nearly fine — four errors — so the obvious move is to
silence them, which yields a binary that answers discovery, accepts a TLS
connection, and opens no shell at all.

How

  • Verification is three passes: server checks, then the linuxterm AVD, then
    the headset with the user. What the emulator cannot answer is listed beside
    it — Horizon OS windows, controller ray, readability through the lenses — so
    the cheap pass does not turn into false confidence.
  • Two adb facts recorded because they cost time here: two attached devices break
    every bare adb command including make apk and make dev, and a copy signed
    with another key must be uninstalled first.
  • docs/windows.md separates what was checked against this tree (the four build
    errors, the creack/pty stub, the missing foreground process group, which
    files hold what) from what is still assumption (whether ConPTY suffices for a
    full-screen TUI, current WSL2 networking). It flags the config-file ACL as a
    security regression rather than a missing feature, and says GOOS=windows may
    not join the release matrix until a session opens on real hardware.
  • Commits stop carrying an attribution trailer; the reasoning is in CLAUDE.md.

Testing

Documentation only — no code changes, nothing to run. The Windows claims were
produced by GOOS=windows GOARCH=amd64 go build . in server/ and by reading
creack/pty v1.1.24 in the module cache; both are quoted in the document with
the commands that produced them.

Two questions kept being answered from scratch, so both are written down.

The first is what to do when a change is not a one-liner. The new-feature skill
is the order rather than a style guide: work out which half it belongs to, and
notice that most features are a table in actions.go and no APK at all; read the
docs that apply; and verify in three passes that cost more as they go. The
emulator pass is the one that was missing. There is an AVD for it, and a crash
found there costs a minute where the same crash found in a headset costs
somebody's afternoon. What the emulator cannot answer is written beside it, so
it does not become false confidence: Horizon OS's windows, a controller ray,
and everything angular that docs/readability.md measured. That last pass belongs
to the person wearing the thing, and their judgement outranks a derivation.

Two facts about running both devices are recorded because they cost time here:
with a headset and an emulator attached at once every bare adb command fails,
including make apk and make dev, and a copy signed with another key has to be
uninstalled before a debug build will install.

The second question is Windows, which will be asked by somebody eventually.
The server cross-compiles with four errors, and fixing them would produce a
binary that answers discovery, accepts a TLS connection, and opens no shell:
creack/pty's Windows file is a stub returning ErrUnsupported. Worse, ConPTY has
no foreground process group, so TIOCGPGRP — the read that the whole context bar
stands on — has nothing to port to. docs/windows.md records what was checked and
how, what a port must solve in what order, and which item on that list is a
security regression rather than a missing feature: the config holding the
transcription key is 0600 here and an ACL question there. It also says what is
untouched, that the client does not change by a line, and that WSL2 is the
answer available today for most people who would ask.

Commits also stop carrying an attribution trailer. Claude is in this
repository's contributors, which is where that belongs; repeating it on every
message is noise in a log that is public and read for its reasoning.
@butschster butschster added the documentation Improvements or additions to documentation label Aug 8, 2026
@butschster
butschster merged commit 5db4454 into main Aug 8, 2026
2 checks passed
@butschster
butschster deleted the docs/windows-and-the-process-skill branch August 8, 2026 08:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant