Skip to content

chore(privacy): scrub personal identifiers (names/UUIDs/handles) from repo#72

Merged
madtank merged 2 commits intodev/stagingfrom
orion/scrub-personal-info
Apr 18, 2026
Merged

chore(privacy): scrub personal identifiers (names/UUIDs/handles) from repo#72
madtank merged 2 commits intodev/stagingfrom
orion/scrub-personal-info

Conversation

@madtank
Copy link
Copy Markdown
Member

@madtank madtank commented Apr 18, 2026

Summary

Two-commit scrub that removes personal identifiers baked into tests, docs, specs, and CLI docstrings over time. Everything is replaced with clearly-placeholder stand-ins so the repo reads as a neutral library, not as one account's workspace.

What was scrubbed

Critical PII:

  • Real full name (Jacob Taunton) in a test fixture → Alex Example
  • Device name (Jacob MacBook Pro) in enrollment-flow examples → Alex's Laptop
  • Prod/staging space UUIDs in docs+specs+tests → aaaaaaaa-aaaa-4aaa-aaaa-aaaaaaaaaaaa
  • Prod/staging agent UUIDs in docs+specs+tests → bbbbbbbb-bbbb-4bbb-bbbb-bbbbbbbbbbbb

Usernames and profile names:

  • madtankalex (21 files — tests, specs, docs, examples)
  • next-oriondemo-agent, next-chatgptpeer-agent (profile names in 5 files)
  • chatgpt_dev test fixture agent → demo_agent

Personal agent handles:

  • oriondemo-agent, anvilpeer-agent, axolotlbeta-agent, clawdbotinfra-agent

What was NOT scrubbed (intentionally)

  • .github/CODEOWNERS — the @madtank / @anvil lines are real GitHub code-ownership assignments. Changing them would break review routing.
  • *_sentinel role names (backend_sentinel, frontend_sentinel, etc.) — these are used as a role classifier in ax_cli/commands/agents.py (_agent_mesh_role: "sentinel" in name → "domain_sentinel"). Not personal, and keeping them preserves realistic test fixtures.

Test plan

  • pytest tests/224 passed (two iterations — caught mesh-role classifier dependency on the sentinel suffix and the mint-command save-path assertion, both fixed)
  • ruff check ax_cli/ + ruff format --check ax_cli/ clean
  • pre-commit run --all-files --hook-stage pre-push → all three (check/format/pytest) pass
  • CI matrix

Why now

Spotted while reviewing PR #70 — prompted by noticing my real name + username + agent handle showing up in test fixtures and PR bodies of a public PyPI package (axctl). The repo has a precedent commit (ba6f3b2 docs: scrub internal agent names from README) so this line has been drawn before; a bunch of references crept back in since.

🤖 Generated with Claude Code

anvil and others added 2 commits April 18, 2026 05:23
This cleans up personal identifiers that were checked in over time. Everything
replaced with clearly-placeholder stand-ins so docs/tests keep working but
no longer point at a specific real account.

Critical scrubs:
- 'Jacob Taunton' -> 'Alex Example' (real full name in test fixture)
- 'Jacob MacBook Pro' -> 'Alex's Laptop' (device name in spec examples)
- prod/staging space UUIDs -> 'aaaaaaaa-aaaa-4aaa-aaaa-aaaaaaaaaaaa'
- prod/staging agent UUIDs -> 'bbbbbbbb-bbbb-4bbb-bbbb-bbbbbbbbbbbb'

Handle scrubs (outside CODEOWNERS, which legitimately lists GitHub owners):
- 'madtank' -> 'alex' (21 files: tests, specs, docs, examples)
- 'next-orion' profile name -> 'demo-agent'
- 'next-chatgpt' profile name -> 'peer-agent'
- 'chatgpt_dev' test fixture agent -> 'demo_agent'

Verified: pytest tests/ -> 224 passed. ruff check + format clean
(pre-push hook).

CODEOWNERS @madtank / @Anvil lines are intentionally preserved — those
are real GitHub assignments for code ownership.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Follow-up to 162a8a3 — sweep personal agent handles that show up as
example values in docs, specs, tests, and CLI docstrings. These names
identified specific agents running on my own account; replaced with
generic placeholders so the repo reads as a clean library for anyone.

Scrubbed (outside CODEOWNERS, which legitimately uses GitHub handles):
- 'orion'     -> 'demo-agent'
- 'anvil'     -> 'peer-agent'
- 'axolotl'   -> 'beta-agent'
- 'clawdbot'  -> 'infra-agent'

NOT scrubbed (generic role names, not personal):
- '*_sentinel' — this is a role classifier in ax_cli/commands/agents.py
  (_agent_mesh_role: 'sentinel' in name -> 'domain_sentinel'). Keeping
  it preserves realistic test fixtures and the mesh-role test coverage.

Fixed test fixtures that depended on the old names:
- test_mint_command: save path asserts use '.ax/<agent>_token' naming
  (followed the rename automatically once fixture agent_name changed).
- test_apps_signal_whoami: identity fixture now uses 'demo_agent' in
  both the whoami payload and the assertion.

Verified: pytest tests/ -> 224 passed. ruff check + format clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@madtank madtank merged commit f27cc20 into dev/staging Apr 18, 2026
6 checks passed
@madtank madtank deleted the orion/scrub-personal-info branch April 18, 2026 05: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