Skip to content

Check CI for private machine, person, and agent names - #37

Merged
myobie merged 2 commits into
mainfrom
agent/private-names
Sep 29, 2026
Merged

myobie merged 2 commits into
mainfrom
agent/private-names

Conversation

@myobie

@myobie myobie commented Sep 29, 2026

Copy link
Copy Markdown
Collaborator

Public repositories get invented examples only. That means no machine or host names, no personal home paths, no real person IDs and no internal agent or fleet IDs.

The check

  • scripts/check-private-names.py checks every tracked text file. It fails on:
    • one of the fleet's machine names
    • a /home/NAME or /Users/NAME path whose NAME does not start with example
    • a person/NAME ID other than person/alex or person/example…
    • any agent/fleet/ ID
  • The machine names are stored as SHA-256 digests, so the check doesn't publish them. The script's docstring explains how to add one.
  • A line that has to stay as it is can be listed in .private-names-allow.
  • .github/workflows/private-names.yml runs the check on every push to main and every pull request.

What it found, now invented

  • integration/e2e.test.ts: a machine name in the label example is now example.local (cli).
  • src/relay/daemon-runtime.ts: the tailnet hostname example is now example-host.example-tailnet.ts.net.
  • test/daemon-runtime.test.ts: the tailscale URL tests use example.ts.net.
  • test/peers-file.test.ts: /home/u is now /home/example.
  • test/session-list-view.test.ts: /Users/me and a personal /Users/… path are now /Users/example.
  • browser/src/session-list-view.ts: the comment says "Linux home directories" instead of a /home/… path.
  • The SSH user in the README and the peers tests is now alex.
  • Comments that credited a bug report to a person no longer do.

Tested locally

  • The check fails on main with 14 findings and passes on this branch.
  • vitest run test/session-list-view.test.ts passes 41 and test/peers-file.test.ts passes 22. Those tests run against a sibling ../pty checked out from pty-original-experiment.
  • On this machine, test/local-status-probe.test.ts can't load @compoundingtech/pty/client without a built Node pty, and test/daemon-runtime.test.ts hangs in the global setup. main's versions of both files do exactly the same, so neither comes from this change. My edits to those two files change only string literals and one test name.

Public repositories hold invented examples only: no machine or host
names, no personal home paths, no real person IDs, no internal agent
or fleet IDs. scripts/check-private-names.py fails on any of those in
a tracked file, and a new workflow runs it on every push and pull
request.

What it found here is now invented: a machine name in an e2e comment,
the tailnet hostname example in DaemonRuntime and the tailscale URL
tests, and home directories in the peers-file and session-list-view
tests. The SSH user in the README and the peers tests is alex, and
the comments that credited a bug report to a person no longer do.
The Node pty moved to compoundingtech/pty-original-experiment and
compoundingtech/pty now holds the Rust port, so the locked rev
0a9be8c is no longer in the repository the input names and
`nix flake check` fails with a 404 fetching its tarball. Same rev,
same narHash, new repository.
@myobie

myobie commented Sep 29, 2026

Copy link
Copy Markdown
Collaborator Author

Added a second commit, 7-line diff: the Nix check was failing before this PR's changes, fetching the locked pty input. That input was pinned to rev 0a9be8c of compoundingtech/pty, which is now the Rust port, so the tarball returned 404. The rev now lives in compoundingtech/pty-original-experiment, and the input and lock point there. The rev is the same, and nix flake prefetch gives the same narHash as the lock (sha256-52SqV7…).

@myobie
myobie merged commit 3e467cc into main Sep 29, 2026
2 checks passed
@myobie
myobie deleted the agent/private-names branch September 29, 2026 16:32
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